- •Тема 1. Арифметика действительных чисел. Вычисления по формулам Задача 11 в
- •Тема 2. Разветвления
- •Задача 27б
- •Тема 3. Простейшая целочисленная арифметика
- •Задача 14в
- •Тема 4. Простейшие циклы Задача 11
- •Тема 5. Простейшие графические построения Задача 15
- •Тема 6. Пошаговый ввод данных и вывод результатов
- •Тема 7. Сочетания цикла и разветвления
- •Тема 8. Обработка последовательностей символов
- •Тема 9. Вычисления с сохранением последовательности значений
- •Тема 10. Вложенные циклы
- •Тема 11. Вложенные циклы в матричных задачах
- •Тема 12. Использование процедур
- •Тема 13.Файлы
- •Тема 14. Списки
Тема 4. Простейшие циклы Задача 11
Задание:
Даны натуральные числа n, m. Получить сумму m последних цифр числа n.
Алгоритм:
Вводим натуральные числа n, m
Некому счетчику суммы присваиваем значение 0
i=1
Если i<=m, то k присвоить значение k+(n mod 10), n присвоить значение n div10
i=i+1, возврат к шагу 4
Вывод на экран k.
Блок-схема:
Реализация :
program t4_num11;
var
n:longint;
m,i,k:byte;
begin
Writeln('Введите натуральные числа');
Write('m=');
Readln(m);
Write('n=');
Readln(n);
k:=0;
for i:=1 to m do
begin
k:=(n mod 10)+k;
n:=n div 10;
end;
Writeln('Сумма ',m,' последних цифр числа n :',k);
Readln;
end.
Протокол:
В процессе диалога вводим n=1234, m=2
k:=0
I=1, k=0+4=4, n=123
I=2=m, k=4+3=7, n=12
Печать «Сумма 2 последних цифр числа n : 7»
Тема 5. Простейшие графические построения Задача 15
Задание:
Получить на экране рис. 15 и обеспечить возможность "зажигить" и "гасить" свет в доме: включение и выключение света должно выполнятся с клавиатуры, окно дома при зажженном и при погашенном свете окрашивается в разные цвета.
Блок-схема:
Алгоритм:
Инициализируем графический режим
Рисуем дом
Нажимаем клавишу
Если нажата не клавиша выхода (в данном примере взята клавиша <esc>), то засим/зажигаем свет и возвращаемся в шагу 3 , иначе - выходим
Реализация:
program t5_num15;
uses graph,crt;
var
mode,regim,i:integer;
coord:array [1..4] of pointtype;
ch:char;
begin
{инициализация графического режима}
mode:=detect;
initgraph(mode,regim,'');
{блок программы создания начального интерфейса(рисование дома и т.д.)}
setbkcolor(blue);
setcolor(white);
outtextxy(50,420,'Для выхода нажмите <Esc>');
outtextxy(50,440,'(для включения/выключения используйте любую другую клавишу)');
coord[1].x:=300; coord[1].y:=40; {рисование крыши}
coord[2].x:=190; coord[2].y:=150;
coord[3].x:=410; coord[3].y:=150;
coord[4].x:=300; coord[4].y:=40;
rectangle(200,150,400,350);
rectangle(220,200,270,250);
rectangle(300,200,350,350);
drawpoly(4,coord);
coord[1].x:=370; coord[1].y:=110; {рисование трубы}
coord[2].x:=370; coord[2].y:=40;
coord[3].x:=340; coord[3].y:=40;
coord[4].x:=340; coord[4].y:=80;
drawpoly(4,coord);
setfillstyle(solidfill,yellow);
floodfill(222,202,white);
setfillstyle(solidfill,lightred);
floodfill(302,202,white);
setfillstyle(4,red);
floodfill(300,50,white);
setfillstyle(1,6);
floodfill(202,152,white);
floodfill(342,42,white);
i:=1;
{зажигание/гашение света}
repeat
ch:=readkey;
i:=-i;
if ch<>#27 then
begin
if i=1 then setfillstyle(solidfill,yellow)
else setfillstyle(solidfill,blue);
floodfill(222,202,white);
end;
until ch=#27;
closegraph; {закрытие графического режима}
end.
Вид
экрана во время выполнения программы
Протокол:
Запускаем программу – в начале «горит свет»
Нажимаем «а» - «свет гаснет»
Нажимаем «Enter» - «свет включается»
Нажимаем «Esc» - выходим из программы