[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Сергеев_ЕВ  
Форум учителей » Форумы для учителей предметников » Форум учителей информатики » Какой язык программирования изучать?
Какой язык программирования изучать?
Дата: Понедельник, 02.07.2012, 13:25 | Сообщение #61

iyugov

фотография отсутствует
Владыка слова
Группа: Друзья
Сообщений: 1433
Статус: Отсутствует
Quote (Kripex)
в моем классе никто не интересуется программированием. Поэтому, мое мнение, что программирование в школе вообще не нужно изучать

Может, просто не получилось заинтересовать?
Quote (Kripex)
Сам пишу на С++ около двух лет, это логичный и понятный язык

Язык C++ во многих случаях предполагает неопределённое поведение программы, которое зависит от реализации компилятором. Сложный синтаксис, легко "выстрелить себе в ногу". C++ слишком техничен, так сказать. Убеждён, что нужно быть довольно способным школьником, чтобы освоить C++ без предварительного знакомства с каким-либо другим ЯП.
Дата: Пятница, 15.02.2013, 05:48 | Сообщение #62

Русаков

Профиль пользователя Русаков
Прочно закрепившийся
Группа: Друзья
Сообщений: 762
Статус: Отсутствует
Олимпиадные задачи требуют ввод-вывод данных
с использованием внешних файлов

как это сделать?

ИНФОРМАТИКА
конспекты уроков 9-11 классы
Чернов А.А. с198

program pr;
uses crt;
var f:file of integer;
n:integer;
a:string;
begin
clrscr;
a:='c:\f1.txt';
assign(f,a);
rewrite(f);
writeln('n: ');
readln(n);
write(f,n);
close (f);
readln;
end.

после выполнения программы
в файле f1.txt вместо значения n=5
появилось -256

что не так ?


всеобщее общедоступное бесплатное дистанционное обучение на портале Прошколу.ру
Дата: Пятница, 15.02.2013, 09:30 | Сообщение #63

iyugov

фотография отсутствует
Владыка слова
Группа: Друзья
Сообщений: 1433
Статус: Отсутствует
Цитата (Русаков)
что не так ?

1. Модуль Crt нужен в основном для работы с экраном, а при файловом вводе-выводе только мешает. Соответственно, ClrScr теряет смысл. К тому же, при проверке у жюри модуля Crt может не оказаться вообще. Не используйте Crt. Вообще забудьте о нём в олимпиадных задачах.

2. Переменная F объявлена как двоичный файл (file of Integer), но в олимпиадных задачах используются только текстовые файлы (Text). Естественно, что при просмотре двоичного файла в текстовом редакторе видите другое значение.

3. После окончания работы программы задержки типа ReadLn делать не принято. Тестирующая система не ожидает, что программа участника затребует ввод ещё одной строки трактует это как слишком долгую работу решения. В результате даже правильно написанная программа не пройдёт по ограничениям времени работы.

4. Не используйте абсолютные пути. На сервере с тестирующей системой запросто может не оказаться диска C:.

5. В олимпиадных задачах не пишите никаких пояснений типа 'n: ', если это явно не требуется в условии задачи, иначе могут засчитать верные ответы за неверные. Комментарии в коде писать можно.

6. Для файлового ввода-вывода можно вообще не объявлять файловые переменные, а переназначать стандартные Input и Output. При этом не требуется указывать их в каждом Read и Write, да и закрывать их обычно не надо.

7. Если всё-таки хочется использовать Crt, ReadLn в конце, пояснения и т. п., то можно изловчиться с директивами препроцессора, которые позволяют компилировать разный код в зависимости от некоторого параметра - отладочная сборка или готовое к сдачи решение.

Пример:
Код
program Pr;

      var
       A, B, C: Integer;

begin

      { Переназначение ввода-вывода }
      Assign(Input, 'input.txt');
      Reset(Input);
      Assign(Output, 'output.txt');
      Rewrite(Output);

      { Сложение двух чисел }
      Read(A, B);
      C := A + B;
      Write(C);

end.

Файл input.txt должен существовать в том же каталоге, что и создаваемая программа.

Я своим школьникам, которые только начинают участвовать в олимпиадах, говорю: выучите эти 4 строки наизусть (Assign-Reset-Assign-Rewrite), пишите их в начале всех своих решений, и проблем не будет.


Сообщение отредактировал iyugov - Пятница, 15.02.2013, 09:38
Дата: Пятница, 15.02.2013, 19:25 | Сообщение #64

Крематорий

Профиль пользователя Крематорий
Зачастивший
Группа: Пользователи
Сообщений: 63
Статус: Отсутствует
Цитата (Русаков)
ИНФОРМАТИКА
конспекты уроков 9-11 классы
Чернов А.А. с198

program pr;
uses crt;
var f:file of integer;
n:integer;
a:string;
begin
clrscr;
a:='c:\f1.txt';
assign(f,a);
rewrite(f);
writeln('n: ');
readln(n);
write(f,n);
close (f);
readln;
end.

Девятый-одиннадцатый класс? Блин. Да я в своём седьмом знаю и паскаль, и бейсик, и си шарп, и си++.


Таки школяр.
Мы, школяры, веселее, чем дрыхнущие по лавкам студенты.
Лицей #179, Ленинград.
Дата: Суббота, 16.02.2013, 05:53 | Сообщение #65

Русаков

Профиль пользователя Русаков
Прочно закрепившийся
Группа: Друзья
Сообщений: 762
Статус: Отсутствует
Прошу отредактировать ремарки в программе:
program pr1;
uses crt;
var f:text;
n:integer;
a:string;
begin
clrscr;
a:='c:\f1.txt'; {файл f1.txt находится на диске c:\}
assign(f,a); {свяжем f1.txt с файлом f в Паскале}
rewrite(f); {откроем файл f для записи}
write('n: '); {приглашение ввести значение переменной n}
readln(n); {ввод значения переменной n}
writeln(f,n); {запись значения переменной n в файл f}
close (f); {закрыть файл f}
end.

Песни о Паскале oleg-derevenets.narod.ru


всеобщее общедоступное бесплатное дистанционное обучение на портале Прошколу.ру

Сообщение отредактировал Русаков - Суббота, 16.02.2013, 07:18
Дата: Суббота, 16.02.2013, 09:23 | Сообщение #66

iyugov

фотография отсутствует
Владыка слова
Группа: Друзья
Сообщений: 1433
Статус: Отсутствует
Русаков, в принципе, всё верно - комментарии правильные, программа молжна работать. Правда, к олимпиадам она не имеет никакого отношения.
Дата: Пятница, 08.11.2013, 14:01 | Сообщение #67

kvtamber

Профиль пользователя kvtamber
Зачастивший
Группа: Проверенные
Сообщений: 90
Статус: Отсутствует
Вопрос о том, какой язык программирования изучать в школе, превратился в вопрос о месте программирования в
школьном курсе информатики. А программирование это часть информатики или информатика - это только ИКТ?
А как в странах откуда всегда ветер приносит волна за волной коренные изменения?

Причина редактирования: удаление повторяющегося текста.


kamber53

Сообщение отредактировал Ishina - Пятница, 08.11.2013, 19:14
Дата: Пятница, 08.11.2013, 17:32 | Сообщение #68

shiyan

Профиль пользователя shiyan
Начинающий
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
В зависимости от возраста, могу предложить писать на C#/C++, Паскаль, составители районных и краевых олимпиад также любят предлагать программы на "полумертвом" VBS. Тоже очень интересный язык. Сам же сейчас пишу сайты и есть такая необходимость писать их на HTML, JS, JAVA, PHP.

Природа-не храм, а мастерская и человек в ней работник.

Сообщение отредактировал shiyan - Пятница, 08.11.2013, 17:41
Дата: Понедельник, 21.04.2014, 09:31 | Сообщение #69

Informatikum

Профиль пользователя Informatikum
Новичок
Группа: Пользователи
Сообщений: 21
Статус: Отсутствует
Цитата iyugov ()
Язык C++ во многих случаях предполагает неопределённое поведение программы, которое зависит от реализации компилятором. Сложный синтаксис, легко "выстрелить себе в ногу". C++ слишком техничен, так сказать. Убеждён, что нужно быть довольно способным школьником, чтобы освоить C++ без предварительного знакомства с каким-либо другим ЯП.


Спасибо! От души посмеялся. biggrin

1. Неопределённое поведение программы - это как? Пишу программу не знаю какую, не знаю зачем, всё равно получу неопределённый результат?
Программирование - это не магия. На Си, С++ вы работаете с памятью на прямую. Вы в любом случаи всегда будете получать определённый результат.
Утрирую. Математика, сложный предмет, во многих случаях предполагает неопределённый результат, складывая 2+2 можно получить -5... Бензопила, сложный инструмент, легко отрезать себе ногу. tongue

Изучение более сложных вещей, новых, предполгает наличие ранее полученного опыта и знаний. Если ученик не владеет компьютером, изучать Си будет архи сложно.

2. Если ученик способный, выбрал информатику, его можно знакомить с любым языком программирования. Выбор языка программирования зависит от целей преподавателя и ученика.

3. Учить можно любому языку. Лучше учить современный язык, чтобы ученик владел современными инструментами и став студентом уже мог подрабатывать и получать опыт. В идеале, чтобы учитель владел современным языком. Но, к сожалению, это очень большая редкость.

4. Я набрал группу учеников, которым интересна информатика, робототехника с 7 по 9 классы. Все изучают Си и Питон. Проблем в понимании и изучении нет.

5. На замену Пасклю приходит Питон (Пайтон - Python).

Написал несколько статей для учителей информатики и учеников.

Выбор языка программирования в школе. удалено модератором
Стоит ли знакомить школьников с различными синтаксисами языков? удалено модератором
Насколько глубоко нужно изучать программирование в школе? удалено модератором

Причина редактирования: нарушение Правил форума р.II п.3, р.III п.5


Информатикум - робототехника в школе

Сообщение отредактировал Ishina - Вторник, 22.04.2014, 17:56
Дата: Понедельник, 21.04.2014, 11:12 | Сообщение #70

iyugov

фотография отсутствует
Владыка слова
Группа: Друзья
Сообщений: 1433
Статус: Отсутствует
Цитата Informatikum ()
Неопределённое поведение программы - это как?

Это не эпитет, а термин. Вот: Доступно только для пользователей
Цитата Informatikum ()
чтобы ученик владел современными инструментами и став студентом уже мог подрабатывать и получать опыт

Это не является целью общего образования. Такой подход имеет смысл, если обучение идёт очень хорошо и можно взять дополнительные цели. Но разве для студентов, способных к программированию, актуальность школьных языков имеет значение? Ещё для моих сверстников эта разница не сказывалась.
Цитата Informatikum ()
Все изучают Си и Питон

Я писал про C++. А Python - это очень хорошо.


Сообщение отредактировал iyugov - Понедельник, 21.04.2014, 11:22
Форум учителей » Форумы для учителей предметников » Форум учителей информатики » Какой язык программирования изучать?
Поиск:
Если Вы хотите оставить сообщение на форуме, то рекомендуем Вам зарегистрироваться на нашем сайте или войти на портал как зарегистрированный пользователь
Маркер СМИ

© 2007 - 2024 Сообщество учителей-предметников "Учительский портал"
Свидетельство о регистрации СМИ: Эл № ФС77-64383 выдано 31.12.2015 г. Роскомнадзором.
Территория распространения: Российская Федерация, зарубежные страны.
Учредитель / главный редактор: Никитенко Е.И.


Сайт является информационным посредником и предоставляет возможность пользователям размещать свои материалы на его страницах.
Публикуя материалы на сайте, пользователи берут на себя всю ответственность за содержание этих материалов и разрешение любых спорных вопросов с третьими лицами.
При этом администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта.
Если вы обнаружили, что на сайте незаконно используются материалы, сообщите администратору через форму обратной связи — материалы будут удалены.

Все материалы, размещенные на сайте, созданы пользователями сайта и представлены исключительно в ознакомительных целях. Использование материалов сайта возможно только с разрешения администрации портала.


Фотографии предоставлены