Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.docx
Скачиваний:
26
Добавлен:
15.02.2016
Размер:
1.16 Mб
Скачать

3 Условный оператор Case.

  1. Составить программу, которая по введенному значению 1, 2, 3 вычисляет:

  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

  1. Найти среднее арифметическое минимального и максимального элементов из 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

  1. Составить программу ввода натурального числа в интервале от 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.

  1. Начав тренировки, спортсмен в первый день пробежал 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

  1. К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 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 недель.

  1. Известна сумма номеров страниц, определить количество страниц.

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стр

  1. Лягушка каждый последующий прыжок делает в два раза короче предыдущего.

Достигнет ли она болота и за сколько прыжков. Длину первого прыжка задайте самостоятельно.

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 => За два прыжка лягушка перепрыгнет болото.