- Преподавателю
- Информатика
- Примеры решения задач на языке паскаль
Примеры решения задач на языке паскаль
Раздел | Информатика |
Класс | 8 класс |
Тип | Другие методич. материалы |
Автор | Башмаков М.В. |
Дата | 11.01.2016 |
Формат | docx |
Изображения | Есть |
Задача 1.
В квадратной комнате шириной A и высотой B есть окно и дверь с размерами C на D и M на N соответственно. Вычислите площадь стен для оклеивания их обоями.
Решение: Для решения данной задачи из курса геометрии мы с вами знаем нужно найти площадь стен комнаты и вычесть площадь окна и двери. То есть для решения задачи нам потребуется линейный алгоритм и знание формулы нахождения площади прямоугольника. Составим блок-схему. Теперь составим программу.
program Zadaca1;
var a,b,c,d,m,n,S,S1,S2,S3: ineger;
begin
write('Введите через запятую длину и ширину комнаты');
readln(a,b);
write('Введите через запятую длину и ширину окна');
readln(c,d);
write('Введите через запятую высоту и ширину двери');
readln(m,n);
S1:=4*a*b;
S2:=C*D;
S3:=M*N;
S:=S1-(S2+S3);
writeln('Площадь стен для оклейки обоев',S);
end.
Задача 2
На работу в совместное предприятие приглашаются специалисты, возраст которых не превышает 35 лет. Определи, будет ли принят на работу человек, возраст которого N лет?
Решение: Для решения задач, в которых проверяется, какое либо условие требуется использовать алгоритм ветвление. В данной задаче есть условие, и оно звучит, что возраст человека не должен превышать 35 лет, запишем это условие N<=35. Следовательно: мы должны введенное число проверять на это условие и выводить.
program zadaca2;
var N:integer;
begin
write('Введите возраст человека');
readln(N);
if N<=35 then writeln('Принят')
else writeln('Не принят');
end.
Задача3
В городе N - количество жителей ежегодный прирост составляет 5%. Составить программы:
а) сколько жителей будет через I лет.
б) через, сколько лет число жителей будет больше 75000 чел. если в городе было 50000 чел.
Решение: Для решения таких задач нужно использовать циклические алгоритмы. Возьмем задачу а) у нас точно известно количество повторений I, поэтому используем алгоритм с заданным числом повторений. Который будет каждый год увеличивать число жителей города на 5%, формула будет выглядеть таким образом {N:=N+N*5/100;} то есть после выполнения этой команды в переменную N будет присваиваться значения N увеличенное на 5%. Блок схема выглядит таким образом.
НАЧАЛО
КОНЕЦ
ВЫВОД N
N:=N+N*5/100
k:=1 to I
ВВОД N,i
program Zadaca3a;
var N,k,i: integer; {k-счётчик в цикле}
begin
write('Введите количество жителей ');
readln(N);
write('Введите количество лет ');
readln(i);
for k:=1 to i do begin
N:=N+N*5 div 100; {div - будет находит целую часть от деления}
end;
writeln('После ',i,'лет количество жителей будет ',N);
end.
Решение: Для решения таких задач нужно использовать циклические алгоритмы. Возьмем задачу б) у нас точно неизвестно количество повторений, но у нас известно условие N<M (N - количество жителей в начале, M - количество жителей в конце) при котором нужно закончить цикл поэтому используем алгоритм с пред условием (вдруг количество жителей до будет равно количеству жителей после). каждый год увеличивать число жителей города на 5%, формула будет выглядеть таким образом {N:=N+N*5/100;} то есть после выполнения этой команды в переменную N будет присваиваться значения N увеличенное на 5%. Блок схема выглядит таким образом. N:=N+N*5/100 i:=i+1 ВВОД N,M i:=0 N НАЧАЛО КОНЕЦ ВЫВОД i | program Zadaca3a; var N,M,i: integer; begin write('Введите количество жителей в начале'); readln(N); write('Введите количество жителей в конце'); readln(M); while N N:=N+N*5 div 100; i:=i+1; end; writeln('Через ',i,'лет количество жителей будет больше ',M); end. |