На тему "Алгоритмизация и основы программирования" в моей рабочей программе отводится 16 часов. За это время надо познакомить учащихся с основными алгоритмическими структурами, научить их "читать" алгоритмы и представлять себе как они работают, а в "идеале" и самим научиться составлять алгоритм для решения задачи, используя ввод и вывод данных. И далее рассказать, каким образом исполнять алгоритм будет компьютер.
Надо отметить, что ребята всегда с интересом относятся к практическому программированию и с нетерпением ждут начала написания своих первых программ. Поэтому с пунктами меню программы знакомимся последовательно, по мере необходимости (и возможности).
Объяснение материала идет с помощью презентации, важные моменты записываются в конспект. Затем, при индивидуальной работе, есть возможность еще раз обратиться к презентации уже на своем локальном компьютере, благодаря наличию компьютерной сети. Кроме того, ученикам разрешается пользоваться этим ресурсом и при домашней подготовке, ведь работа составлена для них.
Запуск программы выполняется командой BP\BIN\turbo.exe, после чего на экране откроется окно этой среды программирования. Знакомство со средой начинается с основных приемов работы.
№ слайда | Содержание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 1 | Титульный | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 2 | Каждая программа записывается в
отдельном окне и сохраняется в виде отдельного
файла. Команда File -> New служит для открытия
нового окна, команда File -> Open - для открытия
имеющейся на диске программы, Save - для
сохранения измененной программы, Save as:- для
сохранения программы под другим именем. Обычно
для типовых задач нет смысла писать программу
каждый раз с нуля, удобнее сохранить программу
под другим именем и вносить изменения с
дальнейшим сохранением. Пункт меню Edit
предназначен для копирования, удаления и вставки
фрагментов программ. Программу можно распечатать на принтере командой File -> Print. Завершение работы со средой выполняется командой File -> Exit (Alt + x) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 3 | После написания программы её надо
компилировать, т.е. преобразовывать в машинные
коды и запускать на исполнение. Это выполняется
командой Run -> Run (Ctrl + F9). Если компилятор не
справляется с работой, то он приостанавливается,
в верхней части окна выдается сообщение об
ошибке, а курсор мигает в той стоке, где есть
ошибка или в ближайшей к этому месту строке. Исправив ошибку можно продолжить работу компилятора клавишей Enter. После запуска программы результат отображается в окне пользователя (исполнения программы). Возвращение в окно редактирования осуществляется командой Enter, а повторный вызов окна пользователя - комбинацией клавиш Alt + F5 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 4 | Открывать можно разу несколько
программ, номер открытого окна выводится в
правом верхнем углу. Активное окно выделено
двойной рамкой, остальные - одинарной. Ненужное
окно можно закрыть с помощью зеленого квадратика
в верхнем левом углу. Активное окно можно
раскрыть на весь экран с помощью зеленой стрелки
в правом верхнем углу окна. Переход между окнами осуществляется щелчком мыши по соответствующему окну или комбинацией клавиш Alt + цифра, например: Alt +2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 5 | Программа имеет определенную
структуру: заголовок, блок описаний и тело
программы. Заголовок не является обязательным,
но придает некую культуру оформлению программы.
После ключевого слова Program указывается имя
программы по правилу записи идентификаторов (см.
слайд 7). Из всего блока описаний вначале достаточно познакомить с описанием переменных. И далее, собственно, идет непосредственно алгоритм действий. Если сравнить его с блок-схемой алгоритма, можно сказать, что Begin - это верхняя фигура овал, означающая начало алгоритма, а слово End - нижний овал, означающий конец. Тело программы включает все действия, которые необходимо выполнить для решения задачи. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 6 | Далее приводится пример простой программы с описанием её структуры. Следует обратить внимание учащихся, каким знаком препинания заканчиваются строки программы (;), и только после слова Begin нет этого знака. Знак ";" указывает на окончание структурного блока или определенного действия, и отсутствие его считается ошибкой, на которую непременно укажет компилятор. В конце программы ставится точка. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 7 | На этом слайде обращается внимание на требования к именам переменных и другим идентификаторам: буквы латинского алфавита, цифры и знак "_", причем первый символ не может быть цифрой. Приводятся примеры правильной и неправильной записи имен. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 8 | Все переменные, которые будут
использоваться в программе, перед обращением к
ним, должны быть описаны, или, как ещё говорят,
объявлены, т.е. указано какой тип данных они
представляют. А тип данных определяет диапазон
допустимых значение, действия, которые можно
выполнять с этими переменными и объем отводимой
для них памяти, например тип integer означает, что
самое большое значение, которое может иметь
переменная - +32767 и памяти под неё отводится 2
байта. Надо отметить, что я подготовила для ребят памятку, на которой есть общая структура программы, типы данных с указанием названия, диапазона значений, набора операций и объема занимаемой памяти, наиболее часто используемые стандартные функции и пример простой программы. Эти листочки-памятки ученики вклеивают в свои конспекты, так как давать под запись все просто не хватает времени. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайды 9-10 | Для наглядности некоторые простые типы данных изображены на слайдах, где показаны объем памяти и диапазон значений. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 11 | Среда программирования имеет набор
встроенных функций. Запись функций с их
описанием, типами аргументов и результатов
представлены в таблице "Стандартные функции".
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 12 | Следующая таблица "Арифметические
операции" также показывает тип результатов при
выполнении операций с различными типами данных.
Акцентирую особое внимание на том, что при
выполнении деления тип переменной, обозначающей
результат, будет всегда вещественный, независимо
от типов аргументов. Операции div и mod работают
только с целыми числами.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 13 | Существует три основных конструкции
алгоритма: линейная, разветвляющаяся и
циклическая. В Паскале они реализуются с помощью
определенных операторов. Линейная структура включает ввод данных, присваивание и вывод результатов. Оператор присваивания: Имя переменной := выражение Пример: v:=(x+z)/(2*z+10); Обращаю внимание на то, что выражение записывается в строчку и знак "*" указывается обязательно. Для вывода данных на экран служат операторы: Write(:); Writeln(:). Пример: Write(a,b) - выводит на экран значения переменных a и b; Write('Vvesti a') - выводит на экран фразу "Vvesti a"; Writeln('Otvet:', s) - выводит на кран фразу "Otvet:" и значение переменной s. В первых двух случаях после выполнения оператора курсор остается в текущей строке, а во втором - курсор переходит на строчку ниже, об этом говорит частичка "ln" (line) в конце слова. Пустой оператор Writeln просто переводит курсор в следующую строчку. Вещественные числа выводятся на экран в показательном виде, например: 4.318754000Е+4. Для того чтобы число выглядело "нормально", уточняют формат вывода данных: Writeln(c:6:2). Это означает, что 6 знакомест отводится на запись всего числа вместе с разделительной точкой и 2 знакоместа на дробную часть. Ввод значений с клавиатуры выполняется с помощью операторов Read(переменные) и Readln(переменные). Пример: Read(x) - запрашивает значение для переменной x; Readln(a, b, c) - запрашивает значения для 3-х переменных: a, b, c. Независимо от того, сколько запрашивается значений переменных, одно или несколько, при запуске оператора на исполнении программа переходит в режим ожидания, на экране мигает курсор. Не видя текста программы, трудно понять, сколько требуется ввести значений. Исправить ситуацию можно тем, что перед оператором ввода переменных применить оператор вывода данных на экран с соответствующим комментарием, например: Wrte('Vvesti 2 chisla'); Readln(a, b); |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 14 | На этом слайде показан пример записи программы и результата её исполнения. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 15 | Разветвляющийся алгоритм реализуется с
помощью структурного оператора if :then:else: Оператор имеет две формы: полную и краткую. Полная форма. If условие then оператор-да else оператор-нет. Если условие истинно, то будет выполняться оператор, идущий в блок-схеме по ветви "да", в противном случае - оператор, идущий в блок-схеме по ветви "нет". Условие может быть простым (x>0) или составным (x>0 и x<50). Пример: if (x>0) and (x<50) then y:= x+100 else y:=x - 100. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 16 | Часто в задачах приходится выполнять
последовательность действий в том или ином
случае. Такая последовательность помещается в
некий контейнер, называемый операторными
скобками begin:end, например: if s1 > s2 then begin
end else begin
end; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 17 | В краткой форме условного оператора нет
служебного слова else и следующих после него
операторов, например: if a <b then begin
end; |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 18 | Систему уравнений можно рассматривать
как вложенное условие.
If x -12 then y = -x2 else if x < 0 then y = x4
В данном случае надо помнить, что служебное слово else всегда относится к ближайшему if. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 19 | Циклический алгоритм может быть с
параметром (известным числом повторений), с
предусловием и постусловием. С параметром, пример: For i := a1 to a2 do Begin
End; По умолчанию шаг изменения счетчика равен 1. В заголовке оператора показано как выполняется счет повтора тела цикла: i - параметр цикла, выполняет роль счетчика; a1 - начальное значение счетчика; a2 - конечное значение счетчика. Более детальная работа оператора выглядит так: Определяются значения переменных a1 и a2; Переменной i присваивается значение переменной a1; Проверяется условие выполнения тела цикла, i ? a2; Если это условие истинно, то выполняется тело цикла; Увеличивается значение переменной i на 1; Переход к пункту 3. Тело цикла будет выполнено a2 - a1 + 1 раз. Если потребуется выполнять счет в обратном порядке, то тогда следует воспользоваться другим оператором: For i:= a2 downto a1 do begin
end; Шаг изменения счетчика равен -1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 21 | Цикл с предусловием: While условие do Begin
End; Тело цикла выполняется, пока условие истинно. Чтобы не было зацикливания, переменные, входящие в условие, должны изменяться в теле цикла, например: . . . While m <> o do
m := m div 10; k := k +1; End; . . . Цикл с постусловием: Repeat
Until условие; Тело цикла выполняется пока условие ложно. Из формата этого оператора видно, что тело цикла выполнится хотя бы 1 раз независимо от условия. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 22 | К каждому типу алгоритма можно предложить в качестве домашнего задания задачи 1(линейный алгоритм), 2 (условный), 3 (циклический). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Слайд 23-24 | Решения могут быть различными. Я предлагаю свой вариант решений. |