I:Integer;
begin
x:=-4;
for i:=0 to 16 do begin y:=Abs(x);
Writeln(Abs(x):3:1,'=','|',x:3:1,'|') ;x:=x+0.5; end;
Readln;
end.
1 17. Написать программу, которая выводит таблицу значений функции у =Iх + 2|. Диапазон изменения аргумента — от -4 до 4, шаг приращения аргумента — 0,5.
Program pr3_117;
var
y,x:Real;
I:Integer;
begin
x:=-4;
for i:=0 to 16 do begin y:=Abs(x+2);
Writeln(y:3:1,'=','|',x+2:3:1,'|') ;x:=x+0.5; end;
Readln;
end.
1 18. Написать программу, которая выводит таблицу значений функции у = |х — 2I+ Iх + 1|. Диапазон изменения аргумента — от -4 до 4, шаг приращения аргумента — 0,5.
Program pr3_118;
var
y,x:Real;
I:Integer;
begin
x:=-4;
for i:=0 to 16 do begin
y:=Abs(x-2)+abs(x+1);
Writeln(y:3:1,'=|',x:3:1,'-2|+|',x:3:1,'+1|')
;x:=x+0.5; end;
Readln;
end.
1 19. Написать программу, которая выводит на экран таблицу умножения, например, на 7.
Program pr3_119;
var
x,i:Integer;
begin
Writeln('vvedite chislo');
Readln(x);
for i:=1 to 10 do writeln(x,'*',i,'=',x*i);
Readln;
end.
120. Написать программу, которая выводит двоичное представление введенного с клавиатуры десятичного целого числа в диапазоне от 0 до 255.
program pz_3_120;
var
I:Integer;
X:Integer;
s, sost:string;
ost:integer;
begin
Writeln('vvedite chislo');
readln(x);
while x>=1 do begin
ost := x mod 2;
Str(ost, sost);
s:=concat (sost, s);
x:=x div 2;
end;
writeln(s);
Readln;
end.
121. Написать программу, которая выводит на экран квадрат Пифагора — таблицу умножения.
program pr_3_121;
var
i,j:Integer;
begin
for i:=1 to 10 do begin Write(i,' ');
for j:=1 to 10 do
write(j*i,' '); writeln; end;
Readln;
end.
1 22. Напишите программу, которая вычисляет частичную сумму ряда 1-1/3+1/5-1/7+1/9-... и сравнивает полученное значение с и/4 (при суммировании достаточно большого количества членов этого ряда, величина частичной суммы приближается к л/4).
Program pr_122;
var
z,s:Real;
i,k:Integer;
begin
k:=1;
for i:=1 to 5 do begin
s:=-1*s-1/k;
k:=k+2;
end;
writeln(s:4:2);
Readln;
end.
1 25. Напишите программу, которая выводит на экран изображение шахматной доски. Черные клетки отображать "звездочкой", белые — пробелом.
Program p_125;
var
mas:array [0..10,0..10] of string;
i,n,j,m:integer;
begin
n:=8;
m:=8;
for i:=1 to n do
for j:=1 to m do
if ((i+j) mod 2)=0 then
m as[i,j]:=' '
else
mas[i,j]:='*';
for i:=1 to n do
for j:=1 to m do
begin
writeln(mas[i,j],' ');
end;
readln;
readln;
end.
1 26. Написать программу, которая преобразует введенное пользователем десятичное число в двоичное.
program pz_3_126;
var
I:Integer;
X:Integer;
s, sost:string;
ost:integer;
begin
Writeln('vvedite chislo');
readln(x);
while x>=1 do begin
ost := x mod 2;
Str(ost, sost);
s:=concat (sost, s);
x:=x div 2;
end;
writeln(s);
Readln;
end.
127. Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — "отлично", за 9 и 8 —"хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо".
program pr_3_127;
var
a,b,c,d,e,f,g,h,i,j,q,n,w:integer;
begin
write('n='); radln(n);
w:=10;
for q:=1 to n do
begin
write('5*3='); readln(a);
if a<>15 then
begin
writeln('Vi oshiblis! 5*3=15');
w:=w-1;
end;
write('7*7='); readln(b);
if b<>49 then
begin
writeln('Vi oshiblis! 7*7=49');
w:=w-1;
end;
write('1*4='); readln(c);
if c<>4 then
begin
writeln('Vi oshiblis! 1*4=4');
w:=w-1;
end;
write('4*3='); readln(d);
if d<>12 then
begin
writeln('Vi oshiblis! 4*3=12');
w:=w-1;
end;
write('9*4='); readln(e);
if e<>36 then
begin
writeln('Vi oshiblis! 9*4=36');
w:=w-1;
end;
write('8*8='); readln(f);
if f<>64 then
begin
writeln('Vi oshiblis! 8*8=64');
w:=w-1;
end;
write('7*8='); readln(g);
if g<>56 then
begin
writeln('Vi oshiblis! 7*8=56');
w:=w-1;
end;
write('4*7='); readln(h);
if h<>28 then
begin
writeln('Vi oshiblis! 4*7=28');
w:=w-1;
end;
write('3*5='); readln(i);
if i<>15 then
begin
writeln('Vi oshiblis! 3*5=15');
w:=w-1;
end;
write('2*5='); readln(j);
if j<>10 then
begin
writeln('Vi oshiblis! 2*5=10');
w:=w-1;
end;
if w=10 then
begin
writeln('Pravilnix otvetov: ',w);
writeln('Ocenka: Otlichno');
end
else if (w=9) or (w=8) then
begin
writeln('Pravilnix otvetov: ',w);
writeln('Ocenka: Horosho');
end
else if w=7 then
begin
writeln('Pravilnix otvetov: ',w);
writeln('Ocenka: Udovletvoritelno');
end
else if w<=6 then
begin
writeln('Pravilnix otvetov: ',w);
writeln('Ocenka: Ploho');
end;
end;
readln;
end.
128. Написать программу проверки умения складывать и вычитать числа в пределах 100. Программа должна вывести 10 примеров, причем в каждом примере уменьшаемое должно быть больше или равно вычитаемому, т. е. не допускается предлагать испытуемому примеры с отрицательным результатом. Оценка выставляется по следующему правилу: за 10 правильных ответов — "отлично", за 9 и 8 —"хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо".
program pr_3_128;
var
a,b,c,d,e,f,g,h,i,j,q,n,w:integer;
begin
write('n='); readln(n);
w:=10;
for q:=1 to n do
begin
write('75-4='); readln(a);
if a<>71 then
begin
writeln('Vi oshiblis! 75-4=71');
w:=w-1;
end;
write('35-9='); readln(b);
if b<>26 then
begin
writeln('Vi oshiblis! 35-9=26');
w:=w-1;
end;
write('14-1='); readln(c);
if c<>13 then
begin
writeln('Vi oshiblis! 14-1=13');
w:=w-1;
end;
write('6-5='); readln(d);
if d<>1 then
begin
writeln('Vi oshiblis! 6-5=1');
w:=w-1;
end;
write('37-19='); readln(e);
if e<>18 then
begin
writeln('Vi oshiblis! 37-19=18');
w:=w-1;
end;
write('53-14='); readln(f);
if f<>39 then
begin
writeln('Vi oshiblis! 53-14=39');
w:=w-1;
end;
write('94-87='); readln(g);
if g<>7 then
begin
writeln('Vi oshiblis! 94-87=7');
w:=w-1;
end;
write('90-16='); readln(h);
if h<>74 then
begin
writeln('Vi oshiblis! 90-16=74');
w:=w-1;
end;
1 30. Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры.
program pz_3_130;
var
n,s,a:integer;
p:real;
begin
writeln('Vichislenie srednego arifmeticheskogo: ');
s:=0;
repeat
readln(a);
if a<>0 then
begin
n:=n+1;
s:=s+a;
end
else continue;
until(a=0);
writeln('Vvedeno ',n,' chisel');
writeln('Summa chisel ',s);
p:=s/n;
writeln('Srednee arifmeticheskoe ',p:1:2);
readln;
end.
1 31. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности не ограничена).
program pr_3_131;
var
a,max:integer;
begin
writeln('posle strelki vvedite 4islo,
dlya zvepshenia vvedite 0');
repeat
begin
write('=> ');
readln(a);
if max<a then
max:=a;
end;
until a=0;
writeln('max=',max);
readln;
end.
132. Написать программу, которая проверяет, является ли целое число, введенное пользователем, простым.
program pr_3_132;
v ar
i,a,k:integer;
begin
writeln('vvedite 4islo');
readln(a);
i f (a=1)or(a=2) then writeln('4uclo prostoe')
else
begin
for i:=2 to a-1 do
begin
if a mod i=0 then
b egin
writeln('4uclo ne prostoe');
k:=0;
break;
end
e lse
K:=1;
end;
if k=1 then
writeln('4islo prostoe')
else writeln('4islo HE prostoe' );
end;
readln;
end.
134. Написать программу, которая "задумывает" число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток.
program pz_3_134;
var
c,a,x,b:integer;
begin
writeln('Igra "Ugadai chislo"');
randomize;
a:=random(10);
x:=5;
writeln('vvedite chislo ot 1 do 10.
U vas 5 popitok');
repeat
readln(b);
if b<>a then
begin
writeln('Net');
x:=x-1;
end
else
begin
writeln('Vi ugadali');
break
end;
until(x=0);
if x=0 then
writeln('Vi proigrali');
readln;
end.
136. Напишите программу, которая вычисляет п с заданной пользователем точностью. Для этого воспользуйтесь тем, что значение частичной суммы ряда 1—1/3+1/5—1/7+1/9—... при суммировании достаточно большого количества членов приближается к п/4.
program pr_3_136;
v ar
a,k,p,x,w,e:integer;
b,n,s,m:real;
q:string;
begin
write('Zadaite tochnost vichisleniya: ');
readln(b);
str(b,q);
w:=pos('.',q);
x:=pos('1',q);
e:=w-x+1;
write('p='); readln(p);
n:=p/4;
a:=1;
k:=1;
s:=0;
while s<n do
begin
s:=s+k*(1/(a));
a:=a+2;
k:=k*(-1);
end;
writeln('Znachenie s tochnostu
',b:0:abs(e),'=',s:0:abs(e));
readln;
end.
137. Написать программу, которая вычисляет наибольший общий делитель двух целых чисел.
program pr_3_137;
var
a,b,c:integer;
begin
write('a='); readln(a);
write('b='); readln(b);
if a>b then
c:=b
else
c:=a;
while (a mod c<>0) or (b mod c<>0) do
begin
c:=c-1;
end;
writeln('c=',c);
readln;
end.