Перед началом составления программ нарисовать блок-схемы решения задач.
Написать программу, возводящую число в нужную степень, используя цикл while. Числа получить с клавиатуры. Первое число - любое целое. Второе - степень, в которую нужно возвести первое число.
Посчитать, с цикла while, сколько раз можно вычесть из одного числа другое, пока результат вычитания будет больше нуля. Вывести на экран, все промежуточные значения после вычитаний. Для подсчета использовать отдельную переменную, которая увеличивается на 1 при каждом повторении цикла. Числа получить с клавиатуры.
Составить программу угадывания задуманного компьютером числа. Для этого с функции random(10) загадать в переменную x значение
x:=random(10);
и вводить с клавиатуры число, пока оно не будет равно загаданному. В конце программы вывести на экран, загаданное компьютером число.
больше нет(((
Программа:
program z;
var k,s,x:integer;
begin
k:=0; {начальное значение количества двузначных чисел}
s:=0; {начальное значение суммы двузначных чисел}
while True do {открываем бесконечный цикл}
begin
readln(x); {вводим число х}
if x=0 then break; {если введенное число равно 0, то остановить цикл}
if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99}
begin
k:=k+1; {количество увеличиваем на 1}
s:=s+x; {увеличиваем предыдущее значение суммы на число х}
end;
end;
if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO}
else writeln(s/k); {иначе вывод ср.арифметического}
end.
type
t=array[1..30] of integer;
var
a:t;
i,h,max,max1,y:integer;
q,c:real;
procedure chet(a:t);
var
i,z:integer;
begin
z:=0;
for i:=1 to 30 do
if(odd(a[i])=false) then inc(z);
writeln(z);
end;
begin
for i:=1 to 30 do
read(a[i]);
//1
chet(a);
//2
h:=0;
c:=0;
for i:=1 to 30 do
if((a[i] mod 3 = 0) and (a[i] mod 9 <> 0) and (a[i]>9) and (a[i]<100)) then begin inc(h);
c:=c+a[i];
end;
if(h=0) then writeln(-1)
else writeln(c/h);
//3
h:=0;
max:=0;
for i:=1 to 30 do begin
if((odd(a[i])=false) and (y=0)) then begin
h:=i;
y:=1;
continue;
end;
if((y>0) and ((odd(a[i])=false))) then
inc(y)
else
if(y>max) then begin
max:=y;
max1:=h;
y:=0;
end
else y:=0;
end;
for i:=max1 to max+max1-1 do
write(a[i],' ');
writeln;
//4
readln(h);
y:=a[h];
for i:=h to 29 do
a[i]:=a[i+1];
for i:=1 to 29 do
write(a[i],' ');
for i:=29 downto h do
a[i+1]:=a[i];
a[h]:=y;
writeln;
//5
max:=0;
max1:=0;
for i:=1 to 30 do begin
if(a[i]>max) then begin
max1:=max;
max:=a[i];
end;
if((a[i]>max1) and (a[i]<max)) then
max1:=a[i];
end;
writeln(max1);
end.