Урок 37. Программирование линейных алгоритмов Планируемые образовательные результаты:
предметные –
первичные навыки работы с целочисленными, логическими, символьными и строковыми
типами данных;
метапредметные – умение самостоятельно планировать пути
достижения целей; умение соотносить свои действия с
планируемыми результатами, осуществлять контроль своей
деятельности, определять способы действий в рамках
предложенных условий, корректировать свои действия в
соответствии с изменяющейся ситуацией; умение оценивать
правильность выполнения учебной задачи;
личностные – алгоритмическое мышление, необходимое для
профессиональной деятельности в современном обществе;
представление о программировании как сфере возможной
профессиональной деятельности.
Решаемые учебные задачи:
1) познакомить учащихся со стандартными функциями, применимыми к основным типам данных;
2) продемонстрировать работу функций div и mod;
3) рассмотреть основные возможности работы с символьными и строковыми типами данных;
4) продемонстрировать работу с данными логического типа.
Основные понятия, рассматриваемые на уроке:
![]()
вещественный тип данных;
целочисленный тип данных;
![]()
символьный тип данных;
строковый тип данных;
![]()
логический тип данных.
Используемые на уроке средства ИКТ:
персональный компьютер (ПК) учителя, мультимедийный
проектор, экран;
ПК учащихся.
Электронные образовательные ресурсы
презентация «Программирование линейных алгоритмов» из электронного
приложения к учебнику.
Особенности изложения содержания темы урока
Класс разбивается на 4 группы. Каждая из групп самостоятельно изучает один из п. параграфа 4.4, выполняет на компьютере соответствующие программы.
Затем с использованием соответствующих слайдов презентации
«Программирование линейных алгоритмов» представители каждой группы излагают изученный материал всему классу.
Если ученики изучают предмет на базовом уровне и все временные ресурсы исчерпаны, то можно ограничиться работой с числовыми типами данных и беглым рассмотрением п.4.4.1 и 4.4.2, оставив п. 4.4.3 и п.4.4.4 для самостоятельно изучения интересующимся учащимся. Со всеми учениками рекомендуется рассмотреть задачи № 2, № 3 и № 6 к параграфу.
Ответы и решения к заданиям в РТ.
№ 181. abs (x) – вычисление модуля x; sqr(x) – возведение x в квадрат; sqrt(x) – извлечение квадратного корня из x; random(x) получение
![]()
|
случайного числа |
[0; x). |
|
|
№ 182. |
|
|
|
[0; 15) |
|
random (15) |
|
[0; 15] |
|
random (16) |
|
[-15; 15) |
|
random (30) - 15 |
|
[10; 15) |
|
random (5) + 10 |
Ответы и решения к заданиям в учебнике.
№ 1.
var x,y: real;
begin
write ('Введите x: ');
readln (x);
y := x + 2.5;
y := y * x;
y := y - 1;
y := y * x;
y := y - 1;
writeln ('y = ',y);
end.
№ 2. Опечатка в исходных данных: xa=2, ya=1. var
xa, ya, xb, yb: real; // Исходные данные
ab: real; // Результат begin
write ('xa='); readln (xa); write ('ya='); readln (ya); write ('xb='); readln (xb); write ('yb='); readln (yb);
ab := sqrt (sqr(xa-xb)+sqr (ya-yb));
writeln('|AB| = ', ab:4:1);
end.
№ 3.
var
a, b, c: real; // Исходные данные
p: real; // Промежуточная величина
s: real; // Результат
begin
write ('a=');
readln (a);
write ('b=');
readln (b);
write ('c=');
readln (c);
p:= (a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln ('S = ', s:4:1);
end.
№ 4.
var
xa, ya, xb, yb, xc, yc: real; // Исходные данные
ab, ac, bc, p: real; // Промежуточные величины
s: real; // Результат begin
write ('xa='); readln (xa); write ('ya='); readln (ya); write ('xb='); readln (xb); write ('yb='); readln (yb); write('xc='); readln(xc); write('yc='); readln(yc);
ab := sqrt (sqr(xa-xb)+sqr(ya-yb)); ac := sqrt (sqr(xa-xc)+sqr(ya-yc)); bc := sqrt (sqr(xb-xc)+sqr(yb-yc)); p:=(ab+ac+bc)/2; s:=sqrt(p*(p-ab)*(p-ac)*(p-bc));
writeln ('S = ', s:4:1);
end.
№ 5.
var
x: real; // Исходные данные
y: integer; // Результат begin
write ('Точная сумма налога в рублях x='); readln (x);
y := round(x);
writeln ('К уплате y = ', y, 'рублей'); end.
|
Пример исходных данных |
Пример выходных данных |
|
1235.86 |
1236 |
|
1235.50 |
1236 |
|
1235.21 |
1235 |
№ 7.
var
n1, n2, n3: integer; // Результат
begin
randomize;
n1 := random(100)+1;
writeln ('Билет для молодѐжи n1 = ', n1); n2 := random(100)+101;
writeln ('Билет для взрослых n2 = ', n2);
n3 := random(50)+201;
writeln ('Билет для стариков n3 = ', n3); end.
№ 8. а) Ввод n может быть организован с клавиатуры. var
n: integer; // Исходные данные
a, b: integer; // Промежуточные величины
s, p: integer; // Результаты
begin
randomize;
n := random(90)+10;
writeln ('Двузначное число n = ', n);
a := n div 10;
b := n mod 10;
s := a+b;
writeln ('s = ', s);
p := a*b;
writeln ('p = ', p);
end.
б)
var
n1: integer; // Исходные данные
a, b: integer; // Промежуточные величины
n2: integer; // Результат
begin
randomize;
n1 := random(90)+10;
writeln ('Двузначное число n1 = ', n1);
a := n1 div 10;
b := n1 mod 10;
n2 := 10*b+a;
writeln('Новое число n2 = ', n2);
end.
№ 9.
var
s: integer; // Исходные данные
k500, k100, k50, k10: integer; // Результат begin
writeln ('введите сумму сдачи s=');
readln (s);
writeln ('Следует сдать:');
k500 := s div 500;
writeln ('Банкнот по 500 руб. - ', k500, ' шт.');
s := s mod 500;
k100 := s div 100;
writeln ('Банкнот по 100 руб. - ', k100, ' шт.');
s := s mod 100;
k50 := s div 50;
writeln ('Банкнот по 50 руб. - ', k50, ' шт.');
s := s mod 50;
k10 := s div 10;
writeln ('Банкнот по 10 руб. - ', k10, ' шт.')
end.
№ 10.
var
k: integer; // Исходные данные
h, m: integer; // Результаты
begin
writeln ('k=');
readln (k);
h := k div 3600;
m := k mod 3600 div 60;
writeln('It is ', h, ' hours ', m, ' minutes.' )
end.
№ 11.
var
kod: integer; // Результат begin
kod := ord('Б')+ord('А')+ord('Й')+ord('Т'); writeln ('Сумма кодов =', kod )
end.
№ 12. BEGIN
var
a: string; // Результат begin
a := chr(66)+chr(69)+chr(71)+chr(73)+chr(78); writeln('Строка: ', a )
end.
№ 13.
var
a, b, c: string; // Результат begin
writeln ('Введите прилагательное: ', a ); readln (a);
writeln ('Введите существительное: ', b ); readln (b);
writeln ('Введите глагол: ', c ); readln (c);
writeln ('1: ', a+' '+b+' '+c );
writeln ('2: ', a+' '+c+' '+b );
writeln ('3: ', b+' '+a+' '+c );
writeln ('4: ', b+' '+c+' '+a );
writeln ('5: ', c+' '+a+' '+b );
writeln ('6: ', c+' '+b+' '+a ) end.
№ 14. а) 1; б) 1; в) 0.
№ 15. а) Исходное число можно вводить с клавиатуры. var
x: integer; // Исходные данные
a, b, c, s: integer; // Промежуточные величины
ans: boolean; // Результат
begin
randomize;
x := random(901)+100;
writeln ('Трѐхзначное число x=', x );
a := x div 100;
b := x mod 100 div 10;
c := x mod 10;
s := a+b+c;
writeln ('s=', s);
ans := s mod 2 = 0;
writeln (ans)
end.
б)
var
a, b, c: real; // Исходные данные
ans: boolean; // Результат
begin
writeln ('a=');
readln (a);
writeln ('b=');
readln (b);
writeln ('c=');
readln (c);
ans := (a<>b) and (a<>c) and (b<>c);
writeln (ans)
end.
Домашнее задание. §4.4; задания – по усмотрению учителя.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.