- •Практическая часть. Задание 3 Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •Билет 5
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •Билет 20
- •Билет 21
- •Билет 22
- •Билет 23
- •Билет 24
- •Билет 25
- •Билет 26
- •Билет 27
- •Билет 28
- •Билет 29
- •Билет 30
Билет 20
Напишите программу
на языке программирования (или составьте
алгоритм). Даны
действительные числа
(все числа различны). Замените в этой
последовательности наименьший элемент
0, а все нулевые элементы наибольшим
членом последовательности.
Program z3_b20; Type mass: array[1..100] of real; Var a: mass; i,n, maxl, minl:integer;
Procedure maxel(n:integer; a:mass; var imax:integer); var i:integer;
Begin
imax:=1; for i:=1 to n do if a[i] >a[imax] then imax:=i; end;
Procedure minel(n:integer; a:mass; var imin:integer); var i:integer;
Begin
imin:=1; for i:=1 to n do if a[i] <a[imin] then imin:=i; end;
begin
writeln (‘введите кол-во элементов’);
read (n);
writeln (‘введите массив’); for i:=1 to n do read(a[i]); maxel(n,a,maxl); minel(n,a,minl);
for i:=1 to n do if a[i]=0 then a[i]:=a[maxl];
for i:=1 to n do if a[i]=a[minl] then a[i]:=0;
for i:=1 to n do write(a[i]:4);
end.
Алг z3_b20 (цел n, вещ таб а[1:100] ) арг n,a
рез а нач цел i,n, maxl, minl
maxel(n,a,maxl); minel(n,a,minl);
для i от 1 до n
нц если a[i]=0
то a[i]:=a[maxl]
все
кц
для i от 1 до n
нц если a[i]=a[minl]
то a[i]:=0
все
кц
кон
Алг maxel(цел n, вещ таб a а[1:100], цел imax)
арг n, а
рез imax нач цел i
imax:=1; для i от 1 до n
нц если a[i] >a[imax]
то imax:=i
все
кц
кон
Алг minel (цел n, вещ таб a а[1:100], цел imin)
арг n, а
рез imin нач цел i
imin:=1; для i от 1 до n
нц если a[i] <a[imin]
то imin:=i
все
кц
кон
Билет 21
Напишите программу на языке программирования (или составьте алгоритм). Компьютер в первую секунду печатает на экране 1, во вторую – число 12, в третью – число 23. То есть, в каждую следующую секунду – на 11 больше, чем в предыдущую. В какую секунду впервые появится число, делящееся на 2009?
Program z3_b21;
var
k,x:integer;
Begin
k:=1;
x:=1;
while x mod 2009<>0 do
begin
k:=k+1;
x:=x+11;
end;
writeln ('Через ', k, ' секунд');
end.
Алг z3_b21 ( цел к)
рез к
нач цел x
k:=1
x:=1
пока mod (x ,2009)<>0
нц
k:=k+1;
x:=x+11;
кц
кон
Билет 22
Напишите программу на языке программирования (или составьте алгоритм). Число Цукермана – натуральное число, которое делится на произведение своих цифр, например: 175 делится на 1·7·5=35. Составить программу, которая выводит на экран все трехзначные числа Цукермана.
Program z3|_b22;
var i,a,b,c: integer;
Begin
for i := 111 to 999 do
begin
a := i div 100;
b := (i div 10) mod 10;
c := i mod 10;
if (b <> 0) and (c <> 0) and (i mod (a * b * c) = 0) then writeln (i);
end;
end.
Алг z3_b22 (цел i)
рез i
нач цел a,b,c
для i от 111 до 999
нц
a := div(i, 100)
b := mod( div(i, 10) ,10)
c := mod (i ,10)
если (b <> 0) и (c <> 0) и (mod (i ,(a * b * c)) = 0)
то вывод (i)
все
кц
кон
