Программирование линейных алгоритмов
Планируемые образовательные результаты:
- предметные – первичные навыки работы с целочисленными, логическими, символьными и строковыми типами данных;
- метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
- личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
1) познакомить учащихся со стандартными функциями, применимыми к основным типам данных;
2) продемонстрировать работу функций div и mod;
3) рассмотреть основные возможности работы с символьными и строковыми типами данных;
4) продемонстрировать работу с данными логического типа.
Основные понятия, изучаемые на уроке:
- вещественный тип данных;
- целочисленный тип данных;
- символьный тип данных;
- строковый тип данных;
- логический тип данных.
Используемые на уроке средства ИКТ:
- персональный компьютер (ПК) учителя, мультимедийный проектор, экран;
- ПК учащихся.
Электронные образовательные ресурсы
- презентация «Программирование линейных алгоритмов».
Особенности изложения содержания темы урока
1. Организационный момент (1 минута)
Приветствие учащихся, сообщение темы и целей урока.
2. Повторение (4 минуты)
1) проверка изученного материала по вопросам (1-12) к §4.3;
2) визуальная проверка выполнения домашнего задания в РТ № 180;
3) рассмотрение заданий, вызвавших затруднения при выполнении домашнего задания
3. Изучение нового материала (20 минут)
Новый материал излагается в сопровождении презентации «Программирование линейных алгоритмов».
ключевые слова:
- вещественный тип данных
- целочисленный тип данных
- символьный тип данных
- строковый тип данных
- логический тип данных
Стандартные функции языка Паскаль:
Функция | Назначение | Тип аргумента | Тип результата |
abs (x) | Модуль x | integer, real | Такой же, как у аргумента |
sqr (x) | Квадрат x | integer, real | Такой же, как у аргумента |
sqrt (x) | Квадратный корень из x | integer, real | real |
round (x) | Округление х до ближайшего целого | real | |
frac (x) | Целая часть x | real | |
int (x) | Дробная часть x | real | |
random | Случайное число от 0 до 1 | - | real |
random (x) | Случайное число от 0 до x | integer | integer |
Исследуем работу функций round, int и frас, применив их к некоторому вещественному х. Соответствующая программа будет иметь вид:
program n_3;
var x: real;
begin
writeln ('Исследование функций round, int, frac');
write ('Введите x');
readln (x);
writeln ('Округление - ', round(x));
writeln ('Целая часть - ', int(x));
writeln ('Дробная часть - ', frac(x))
end.
Выполните программу несколько раз для
x {10,2; 10,8; –10,2; –10,8}.
Какой будет тип результата каждой из этих функций?
Операции над целыми числами в языке Паскаль:
Операция | Обозначение | Тип результата |
Сложение | + | integer |
Вычитание | - | integer |
Умножение | * | integer |
Получение целого частного | div | integer |
Получение целого остатка деления | mod | integer |
Деление | / | real |
Трёхзначное число можно представить в виде следующей суммы: x = a·100 + b·10 + c, где а, b, с - цифры числа.
Программа нахождения суммы цифр вводимого с клавиатуры целого трёхзначного числа.
program n_4;
var x, a, b, c, s: integer;
begin
writeln ('Нахождение суммы цифр трёхзначного числа');
write ('Введите исходное число');
readln (x);
a:=x div 100;
b:=x mod 100 div 10;
c:=x mod 10;
s:=a+b+c;
writeln ('s= ', s)
end.
Символы – это все буквы и значки, которые есть на клавиатуре. Для ввода в программу символьных переменных необходимо указать для них символьный тип данных char.
Функция ord преобразовывает букву в её числовой код.
Функция chr преобразовывает числовой код символа в сам символ.
Значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы.
Пример. Запишем на языке Паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. Затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной.
program n_5;
var a: char; kod: integer; b: string;
begin
writeln ('Код и строка');
write ('Введите исходную букву');
readln (a);
kod:=ord(a);
b:=chr(kod–1)+a+chr(kod+1);
writeln ('Код буквы ', a, '-', kod);
writeln ('Строка: ', b)
end.
Величины логического типа принимают всего два значения: false и true;
false .
Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений.
В Паскале логической переменной можно присваивать результат операции сравнения.
Пример. Напишем программу, определяющую истинность высказывания «Число n является чётным» для произвольного целого числа n.
Пусть ans — логическая переменная, а n — целая переменная. Тогда в результате выполнения оператора присваивания
ans:=n mod 2=0
переменной ans будет присвоено значение true при любом четном n
и false в противном случае.
program n_6;
var n: integer; ans: boolean;
begin
writeln ('Определение истинности высказывания о чётности числа');
write ('Введите исходное число');
readln (n);
ans:=n mod 2=0;
writeln ('Число ', n,' является четным - ', ans)
end.
Пример. Напишем программу, определяющую истинность высказывания «Треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел а, b, с.
program n_7;
var a, b, c: integer; ans: boolean;
begin
writeln ('Определение истинности высказывания о равнобедренном треугольнике');
write ('Введите значения a, b, c');
readln (a, b, c);
ans:=(a=b) or (a=c) or (b=c);
writeln ('Треугольник с длинами сторон ', a, ',', b, ',', c, ' является равнобедренным - ', ans)
end.
Вопросы и задания
Вопросы 1-15 к параграфу 4.4
4. Практическая часть (15 минут)
Задание 3. (задание №6 в учебнике)
Исследуйте работу функции random, запустив многократно на выполнение программу:
program n_8;
var х, n: integer;
begin
writeln ('Исследование функции random');
randomize (*для генерации различных случайных чисел при каждом запуске программы *);
write ('Введите х');
readln (x);
write ('Введите n');
readln (n);
writeln ('random(', х, ') = ', random(x));
writeln ('random(', x, ')+', n, ' = ', random(x)+n)
end.
Как можно получить случайное число из промежутка (0; х)?
Как можно получить случайное число из промежутка (0; х]?
Как можно получить случайное число из промежутка (n; х + n)?
5. Подведение итогов урока. Сообщение домашнего задания. Выставление оценок (4 минуты)
Домашнее задание. §3.3.3., вопросы № 5-8 к параграфу;