Урок №5. Функции в языках объектно-ориентированного и алгоритмического программирования.
Цели урока:
помочь учащимся получить представление об функциях в языках объектно-ориентированного и алгоритмического программирования;
воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости.
развитие познавательных интересов, навыков работы на компьютере, самоконтроля, умения конспектировать.
Оборудование:
доска, компьютер, компьютерная презентация.
План урока:
1. Орг. момент. (1 мин)
2. Проверка знаний. (5 мин)
3. Теоретическая часть. (15 мин)
4. Практическая часть. (15 мин)
5. Д/з (2 мин)
6. Вопросы учеников. (5 мин)
7. Итог урока. (2 мин)
Ход урока:
1. Орг. момент.
Приветствие, проверка присутствующих. Объяснение хода урока.
2. Проверка знаний.
Чему равно числовое значение приведенного ниже выражения при е = 4, a = 3?
e + sqrt(e) * 1e1 / 2 * a
Чему равно числовое значение выражения (a and not b or c), где a, b и c – величины типа boolean, имеющие значения true, false и false соответственно?
Укажите допустимые способы записи выражения
1.6E-4 * x / k / (a + b)
(1.6e-4 * x) / (k * (a + b))
1.6E(-4) * x / k * (a + b)
1.6 * 0.0001 * x / (k * (a + b))
Какие выражения не содержат синтаксических ошибок?
sin(abs(0.6e3 * y_t))
a div b / c * mod
$EF01 * 1.34E-02 / _i1_17
1_2i – exp(y) / 2 * t
cos(3 * x) + 0,2
Выберите все правильные утверждения.
Все числовые величины описываются в разделе описания констант.
В разделе описания констант описываются константы, имеющие имя.
Величины, описанные в разделе описания констант без указания типа, не могут изменить свои значения.
В разделе описания констант можно описать и константы, и переменные.
Раздел описания констант должен располагаться перед разделом описания переменных.
Выберите все правильные ответы. Можно ли присвоить:
целую переменную - вещественной переменной;
вещественную переменную – целой переменной;
символьную переменную – целой переменной;
целую переменную – булевской переменной;
целой переменной – целую константу.
Ответы
Числовое значение приведенного ниже выражения при е = 4, a = 3 равно:
e + sqrt(e) * 1e1 / 2 * a = 4 + (((2 * 10) / 2) * 3) = 34
Значение приведенного ниже выражения при e = 4, a = 3 равно:
(a and not b or c) = ((a and (not b)) or c) = ((true and (not false)) or false) = true
Допустимые способы записи выражения : 1), 2), 4).
Не содержат синтаксических ошибок выражения: 1), 3).
Правильные утверждения: 2), 3), 4).
Можно присвоить:
1) целую переменную – вещественной переменной;
5) целой переменной – целую константу.
3. Теоретическая часть.
Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:
ключевые слова;
данные;
выражения и т.д.
Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).
При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д.
Вычисления часто употребляемых функций осуществляются посредством подпрограмм, называемых стандартными функциями, которые заранее запрограммированы и встроены в транслятор языка.
Таблица стандартных функций школьного алгоритмического языка
Название функции | математическое обозначение | ШЯ |
Абсолютная величина (модуль) | | х | | abs(x) |
Корень квадратный | | sqrt(x) |
Натуральный логарифм | ln x | ln(x) |
Десятичный логарифм | lg x | lg(x) |
Экспонента (степень числа е ~ 2.72) | ex | exp(x) |
Знак числа x ( - 1, если х 0) | sign x | sign(x) |
Целая часть х (т.е. максимальное целое число,не превосходящее х) | | int(x) |
Минимум из чисел х и y | | min(x,y) |
Максимум из чисел х и y | | max(x,y) |
Частное от деления целого х на целое y | | div(x,y) |
Остаток от деления целого х на целое y | | mod(x,y) |
Случайное число в диапазоне от 0 до х - 1 | | rnd(x) |
Синус (угол в радианах) | sin x | sin(x) |
Косинус (угол в радианах) | cos x | cos(x) |
Тангенс (угол в радианах) | tg x | tg(x) |
Котангенс (угол в радианах) | ctg x | ctg(x) |
Арксинус (главное значение в радианах) | arcsin x | arcsin(x) |
Арккосинус (главное значение в радианах) | arccos x | arccos(x) |
Арктангенс (главное значение в радианах) | arctg x | arctg(x) |
Арккотангенс (главное значение в радианах) | arcctg x | arcctg(x) |
В качестве аргументов функций можно использовать константы, переменные и выражения. Например:
sin ( 3.05 ) sin ( x ) sin ( 2 * y + t / 2 ) sin((exp(x) + 1) ** 2)
min ( a, 5) min ( a, b ) min ( a + b , a * b ) min(min(a, b), min(c, d))
Таблицы стандартных функций Free Pascal
Стандартные функции и процедуры(целый тип)
Имя | Описание | Результат | Пояснения |
Функции |
abs | Модуль | Целый | |x| записывается abs(x) |
arctan | Арксинус угла (в радианах) | Вещественный | arctg x записывается arctan(x) |
cos | Косинус угла | Вещественный | cos x записывается cos(x) |
exp | Экспонента | Вещественный | ex записывается exp(x) |
ln | Натуральный логарифм | Вещественный | logex записывается ln(x) |
odd | Проверка на четность | Логический | odd(4) даст в результате true |
pred | Предыдущее значение | Целый | pred(3) даст в результате 2 |
sin | Синус угла | Вещественный | sin x записывается sin(x) |
sqr | Квадрат | Целый | x2 записывается sqr(x) |
sqrt | Квадратный корень | Вещественный | записывается sqrt(x) |
succ | Следующее значение | Целый | succ(3) даст в результате 4 |
Процедуры |
inc | Инкремент | | inc(x) – увеличить x на 1 |
| | | inc(x,3) – увеличить x на 3 |
dec | Декремент | | dec(x) – уменьшить x на 1 |
| | | dec(x,3) – уменьшить x на 3 |
Стандартные функции и процедуры(вещественный тип)
Имя | Описание | Результат | Пояснения |
abs | Модуль | Вещественный | |x| записывается abs(x) |
arctan | Арксинус угла (в радианах) | Вещественный | arctg x записывается arctan(x) |
cos | Косинус угла | Вещественный | cos x записывается cos(x) |
exp | Экспонента | Вещественный | ex записывается exp(x) |
frac | Дробная часть аргумента | Вещественный | frac(3.1) даст в результате 0,1 |
int | Целая часть аргумента | Вещественный | int(3.1) даст в результате 3,0 |
ln | Натуральный логарифм | Вещественный | logex записывается ln(x) |
pi | Значение числа π | Вещественный | 3,1415926536 |
round | Округление до целого | Целый | round(3.1) даст в результате 3 round(3.8) даст в результате 4 |
sin | Синус угла | Вещественный | sin x записывается sin(x) |
sqr | Квадрат | Вещественный | x2 записывается sqr(x) |
sqrt | Квадратный корень | Вещественный | записывается sqrt(x) |
trunc | Целая часть аргумента | Целый | trunc(3.1 ) даст в результате 3 |
Стандартные функции для символьных величин
Имя | Описание | Результат | Пояснения |
ord | Порядковый номер символа | Целый | ord(‘b’) даст в результате 98 ord(‘ю’) даст в результате 238 |
chr | Преобразование в символ | Символьный | chr(98) даст в результате ‘b’ chr(238) даст в результате ‘ю’ |
pred | Предыдущий символ | Символьный | pred(‘b’) даст в результате ‘a’ |
succ | Последующий символ | Символьный | succ(‘b’) даст в результате ‘с’ |
upcase | Перевод в верхний регистр | Символьный | upcase(‘b’) даст в результате ‘B’ |
Работа в текстовом редакторе Free Pascal
С помощью редактора Free Pascal можно создавать и редактиро-
вать тексты программ. После открытия пустого окна (File — New)
или загрузки текста программы (File — Open) пользователь находит-
ся в режиме редактирования, признаком чего является наличие в
окне курсора (небольшого мигающего прямоугольника). Для перехода
из режима редактирования к главному меню нужно нажать клавишу
F10, обратно — Esc. Кроме того, этот переход можно осуществить
щелчком мыши либо по строке главного меню, либо по полю редакто-
ра.
Редактор Free Pascal обладает возможностями, характерными для
большинства текстовых редакторов. Остановимся на некоторых осо-
бенностях.
Работа с фрагментами текста (блоками) в редакторе Free
Pascal может осуществляться с помощью главного меню и функцио-
нальных клавиш.
В главном меню для работы с фрагментами текста предназначены
команды пункта редактирования Edit: Copy (Ctrl+C) — копировать фрагмент в буфер;
Cut (Ctrl+X) — вырезать фрагмент в буфер;
Paste (Ctrl+V) — вставить фрагмент из буфера;
Clear (Ctrl+Del) — очистить буфер;
Select All — выделить весь текст в окне;
Unselect — отменить выделение.
Команды Copy и Cut применяют только к выделенным фрагмен-
там текста. Выделить фрагмент текста можно с помощью клавиши
Shift и клавиш перемещения курсора (стрелок). Кроме того, пункт
меню Edit содержит команды Undo и Redo, с помощью которых мож-
но отменять и возвращать выполненные действия.
Комбинации клавиш, предназначенные для работы с блоком:
Ctrl+K+B – пометить начало блока;
Ctrl+K+K – пометить конец блока;
Ctrl+К+Т – пометить в качестве блока слово слева от курсора;
Ctrl+K+Y – стереть блок; Ctrl+K+C – копировать блок в позицию, где находится курсор;
Ctrl+K+V – переместить блок в позицию, где находится курсор;
Ctrl+K+W – записать блок в файл;
Ctrl+K+R – прочитать блок из файла;
Ctrl+K+P – напечатать блок;
Ctrl+К+Н – снять пометку блока; повторное использование этой
комбинации клавиш вновь выделит блок.
Работа с файлами в среде Free Pascal осуществляется с помощью
команд File главного меню и функциональных клавиш:
New — открыть окно для создания новой программы;
Open (F3) — открыть ранее созданный файл;
Save (F2) — сохранить созданный файл;
Save As — сохранить файл под другим именем;
Exit (Alt+X) — выйти из среды программирования;
При создании новой программы ей по умолчанию присваивается
стандартное имя NONAMEOO.PAS (NO NAME — нет имени). При первом сохранении файла пользователю будет предложено
ввести его имя. При повторном сохранении файл сохраняется под тем
же именем. Команда Save As аналогична первому сохранению. Если
файл не был сохранен, то при попытке завершить работу со средой
появится запрос о необходимости сохранить изменения в файле. При
открытии ранее созданного файла его имя выбирают из списка су-
ществующих файлов.
В редакторе Free Pascal допускается работа с несколькими окна-
ми. Для переключения в окно с номером от первого до девятого на-
жать комбинацию клавиш Alt+i, где i – номер окна (например Alt+5
— вызов пятого окна). Для вывода списка окон на экран нажать ком-
бинацию клавиш Alt+0, появится список активных окон, в котором
необходимо будет выбрать нужное и нажать Enter.
Запуск программы в среде Free Pascal и просмотр результатов
После того как текст программы был набран, его следует переве-
сти в машинный код. Для этого необходимо вызвать транслятор с
помощью команды Compile — Compile (комбинация клавиш Alt+F9).
На первом этапе транслятор проверяет наличие синтаксических оши-
бок. Если в программе нет синтаксических ошибок, то на экране со-
общается о количестве строк транслированной программы и объеме
доступной оперативной памяти. Если на каком-либо этапе транслятор обнаружит ошибку, то в
окне редактора курсор указывает ту строку программы, где при транс-
ляции обнаружена ошибка. При этом в верхней строке редактора по-
является краткое диагностическое сообщение о причине ошибки.
Для запуска транслированной программы необходимо выполнить
команду Run — Run (комбинация клавиш Ctrl+F9), после чего на
экране появляется окно командной строки, в котором пользователь и
осуществляет диалог с программой. После завершения работы про-
граммы пользователь опять видит экран среды Free Pascal.
Для просмотра результатов работы программы в OC Windows
необходимо нажать комбинацию клавиш Alt+F5. Для возврата в обо-
лочку следует нажать любую клавишу.
При использовании среды программирования в ОС Linux суще-
ствует проблема вывода кириллического текста в консольном прило-
жении. Альтернативой среды программирования Free Pascal является
текстовый редактор Geany (http://www.geany.org), который позволяет
разрабатывать программы на различных языках программирования.
4. Практическая часть.
АиПО: компьютер с установленной ОС Линукс .
Цель работы: научится создавать
Ход работы
Задание 1. Написать программу для вычисления значения выражения
ШАЯ | Free Pascal |
| Программа: program primer_1; var x,y : real; begin writeln(‘Введите x’); readln(x); ; writeln(‘y=’, y); end. |
Задание 2. Напишите программу для расчета по формулам.
Вариант 1 | Вариант 2 |
Вариант 3 | Вариант 4 |
Вариант 5 | Вариант 6 |
Вариант 7 | Вариант 8 |
Вариант 9 | Вариант 10 |
Вариант 11 | Вариант 12 |
Вариант 13 | Вариант 14 |
Вариант 15 | Вариант 16 |
Вариант 17 | Вариант 18 |
Вариант 19 | Вариант 20 |
(Результаты вычисления по обеим формулам должны совпадать).
Задание 3. Напишите программу для расчета по формулам.
1. | 2. | 3 | 4. |
5. | 6. | 7. | 8. |
9. | 10. |
11. | 12. |
13. | 14. |
15. | 16. |
17. | 18. |
19. | 20. |
Ответ:
1. 18005,328 | 2. 272,31344 | 3. 0,63302205 | 4. 490,0484 |
5. -1072,1549 | 6. -1,3819945 | 7. 469158,74 | 8. -11,226951 |
9. 6006,445 | 10. 340,13529 | 11. 3,6261684 | 12. 0,014499525 |
13. 14312,23 | 14. 311,45661 | 15. 3323,0306 | 16. 2151,225 |
17. 2743,0011 | 18. 178,30675 | 19. -20610,828 | 20. 416455,05 |
Задание 4. Напишите программу для расчета по формулам.
1. | 2. |
3. | 4. |
5. | 6. |
7. | 8. |
9. | 10. |
11. | 12. |
13. | 14. |
15. | 16. |
17. | 18. |
19. | 20. |
Ответ:
1. 2,766234 | 2. 47,974329 | 3. 74,192909 | 4. -2,807126 |
5. 207,92337 | 6. 151,62215 | 7. -0,0656894 | 8. 239,83261 |
9. 36,795573 | 10. 26,795573 | 11. 26,781849 | 12. 1,3568039 |
13. 78,705497 | 14. -0,24047754 | 15. 4,5287001 | 16. 0.47850037 |
17. 0,69151259 | 18. 0,54282573 | 19. 5,716432 | 20. 0,762969 |
5. Домашнее задание:
1.Выучить конспект.
2. Угринович Н.Д. Информатика и ИТ. Учебник для 9 класса.§4.2.4,Стр.117-119 3.Ответить на вопросы стр.117-119
Записать выражение на языке Паскаль. (Задание по вариантам).
1. |
2. |
3. |
4. |
5. |
6. |
7. |
8. |
9. |
10. |
11. |
12. |
13. |
14. |
15. |
Написать программу для вычисления значения выражения (задание по вариантам)
1. | 2. | 3. | 4. |
5. | 6. | 7. | 8. |
9. | 10. | 11. | 12. |
13. | 14. | 15. | 16. |
Ответ:
1. 0,2259 при x = 2,5 | 2. 2,064 при x= 4,2 | 3. 71,7998 при x=2,21 | 4. 0,6048 при r = 1,93 |
5. 0,2015 при x=0,37 | 6. 0,2015 при r = 0,87 | 7. 4,97467 при x=2,5 | 8. 1,907 при x = 1,87 |
9. -0,22024 при y=0,23 | 10. 14,1473 при y=5,1 | 11. 157,4348 при x=0,35 | 12. 2,9141 при x=1,44 |
13. -12,3989 при x=23 | 14. 3,1648 при y=0,34 | 15. 1,7785 при y=0,12 | 16. 2,14 при y=0,5 |
6.Вопросы учеников.
Ответы на вопросы учащихся.
7.Итог урока.
Подведение итога урока. Выставление оценок.