- •1. Простые операторы
- •2 Условный оператор If
- •3 Условный оператор Case.
- •Ручной счет.
- •4 Оператор цикла For
- •5. Оператор циклаRepeat…Until
- •6. Оператор повтораWhile
- •7.Вложенные циклы
- •8 Одномерные массивы
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •9. Двумерные массивы
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
3 Условный оператор Case.
Составить программу, которая по введенному значению 1, 2, 3 вычисляет:
Площадь параллелограмма
Периметр параллелограмма
Выход
var a,s,h,d,q,w:byte;
begin
writeln('vvedite 3 chisla');
readln(a,s,h);
writeln('vvedite nomer operachii');
readln(d);
case d of
1:begin
q:=(a+s)*2;
writeln(q);
end;
2:begin
w:=s*h;
writeln(w);
end;
3:exit;
end;
end.
Ручной счет.
1 Считаем площадь (5+8)*2=26
2 Считаем периметр 6*8=48
3 Выход, если после ввода трех чисел, в строке ввода операции набрать 3,то программа выйдет в меню.
4 Оператор цикла For
Найти среднее арифметическое минимального и максимального элементов из 10 введенных.
var g,a,min,max:real;
s:byte;
begin
writeln('vvedite chislo');
readln(a);
min:=a;
max:=a;
for s:=2 to 10 do
begin
writeln('vvedite ',s,' chislo');
readln(a);
if min>a then min:=a;
if max<a then max:=a;
end;
g:=(min+max)/2;
writeln(g);end.
Ручной счет.
Max=10Min=0
(10+0)/2=5
2.Из nвведенных чисел найти максимальное значение среди положительных элементов.
var a,s,e,max:integer;
begin
writeln('vvedite cislo cisel i pervoe chislo');
readln(a,e);
max:=e;
for s:=2 to a do
begin
writeln('vvedite ',s,' chislo');
readln(e);
if (e>0) and (e>max) then max:=e;
end;
writeln(max);
end.
.
Ручной счет.
8>0=> max
3.Вычислить сумму первых nслагаемых 12+22-32+42+52-62+…(каждое третье слагаемое берется со знаком «минус»).
Program P15;
var
n,I,S:integer;
begin
writeln ('vvedite kolvo chisel');
readln (n);
for I:=1 to n do
if I mod 3=0 then S:=s-sqr(I) else S:=s+sqr(I);
writeln(S);
readln(S);
end.
Машинный счет.
Ручной счет.
1^2+2^2-3^2=-4
5. Оператор циклаRepeat…Until
Составить программу ввода натурального числа в интервале от NдоM.
var n,m,s:real;
begin
writeln('vvedite interval');
readln(n,m);
if n<m then
repeat
writeln('vvedite 4islo sootvetstvuyushee intervalu');
readln(s)
until (s>=n)and(s<=m)
else writeln('nevernii interval');
end.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней.
Program P17;
var
A,B:real;
begin
A:=10;
repeat
A:=(A*0.1)+A;
B:=B+1;
until (B=6);
writeln(A);
readln;
end.
Ручной счет.
10*0,1+10=11
11*0,1+11=12,1
12,1*0,1+12,1=13,31
13,31*0,1+13,31=14,641
14,641*0,1+14,641=16,1051
16,1051*0,1+16,1051=17,71561
6. Оператор повтораWhile
К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 100 мисок. Через какое время появятся лишние кошки, и сколько кошек при этом останется голодными.
var e,r,w:byte;
begin
e:=2;w:=0;
while e<=100 do
begin
r:=e div 2;
e:=e+r;
w:=w+1;
end;
writeln(e-100,' ',w);
end.
Ручной счет.
2+1=3+1=4+2=6+3=9+4=13+6=19+9=28+14=42+21=63+31=94+47=141-100=41=> 41 окажется голодной, через 11 недель.
Известна сумма номеров страниц, определить количество страниц.
var e,x,t:word;
begin
writeln('vvedite summu stranic');
readln(e);
while e>=t do
begin
t:=t+x+1;
x:=x+1;
end;
writeln(x);
end.
Ручной счет.
0+1+2+3+4+5+6=21 =>7стр
Лягушка каждый последующий прыжок делает в два раза короче предыдущего.
Достигнет ли она болота и за сколько прыжков. Длину первого прыжка задайте самостоятельно.
Program P20;
var
H,I:integer;
a,d:real;
begin
writeln('vvedite dliny prigka');
readln(a);
writeln('vvedite rasstoainie do bolota');
readln(H);
d:=0;
while d<=h do
begin
d:=d+a;
a:=a/2;
I:=I+1;
end;
writeln(I);
readln;end.
Ручной счет.
4+4=8
8>5 => За два прыжка лягушка перепрыгнет болото.