program n_2;
var i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write(a[i],' ');
end.
Вычисление суммы элементов массива
program n_3;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
for i:=1 to 10 do s:=s+a[i];
writeln('s=', s)
end.
Вычисление суммы элементов массива
[Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле]
program n_3_1;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100);
write(a[i],' ');
s:=s+a[i]
end;
writeln('s=', s)
end.
Программа поиска наибольшего элемента в массиве
program n_4;
var i, imax: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
imax:=1;
for i:=2 to 10 do
if a[i]>a[imax] then
imax:=i;
write('Наибольший элемент a[', imax, ']=', a[imax])
end.
Поиск элемента, равного 50
program n_5;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
n:=0;
for i:=1 to 10 do
if a[i]=50 then
n:=i;
if n=0 then
write('Нет')
else
write(n)
end.
Поиск элемента, равного 50
program n_5_1;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then
write(i)
else
write('Нет')
end.
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
program kolich;
var k, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do
if a[i]>50 then
k:=k+1;
write('k=', k)
end.
Сумма значений элементов, удовлетворяющих условию
program sum ;
var s, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write (a[i],` `);
s:=0;
for i:=1 to 10 do
if (a[i]>10) and (a[i]<30) then
s:=s+a[i];
write('s=', s)
end.
Сортировка массива
program sort;
var n, i, j, x, imax: integer;
a: array [1..10] of integer;
begin
for i:=1 to 10 do read (a[i]);
for i:=1 to 10 do write (a[i], ' ');
for i:=1 to 9 do
begin
imax:=i;
for j:=i+1 to 10 do
if a[j]>a[imax] then
imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
for i:=1 to 10 do
write(a[i], ' ')
end.
Возведение числа в любую степень.
program calc_stepen;
var
a, b, h, i: integer;
c: real;
begin
b := 1;
readln( a, h);
for i := 1 to abs(h) do
b := b * a;
if h < 0 then
c := 1 / b
else
c := b;
writeln( c:3:5 );
end.
Определение гласных и согласных букв:
program alfabet;
var
s: char;
begin
read(s);
case s of
'а','е','ё','и','о','у','ы','э','ю','я': writeln('гласные');
'б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ': writeln('согласные');
else
writeln('знаки');
end;
end.
Объяснение:
(см. объяснение)
Объяснение:
Задание №17:
//Привычный тебе код:
var k,l,n,m: integer;
begin
write('Введите число k >> '); readln(k);
write('Введите число l >> '); readln(l);
write('Введите число n >> '); readln(n);
write('Введите число m >> '); readln(m);
if((l mod k = 0) and (n mod k = 0) and (m mod k = 0)) then writeln('Является!')
else writeln('Не является!');
end.
//Альтернативное решение задачи нестандартным методом:
begin
var k: integer := ReadInteger('Введите число k >>');
var l: integer := ReadInteger('Введите число l >>');
var n: integer := ReadInteger('Введите число n >>');
var m: integer := ReadInteger('Введите число m >>');
if((l mod k = 0) and (n mod k = 0) and (m mod k = 0)) then writeln('Является!')
else writeln('Не является!');
end.
Задача №19:
//Привычное тебе решение:
var a,b,c: real;
procedure isBiggest(x,y,z: real);
begin
if((x>y) and (y>z))
then begin
writeln('ответ: ', x, ', ', y, ', ', z);
exit;
end;
end;
begin
write('Введите число a >> '); readln(a);
write('Введите число b >> '); readln(b);
write('Введите число c >> '); readln(c);
isBiggest(a,b,c); isBiggest(a,c,b);
isBiggest(b,a,c); isBiggest(b,c,a);
isBiggest(c,a,b); isBiggest(c,b,a);
end.
//Альтернативное решение задачи.
//Уникальность кода в том, что он работает при любом количестве данных чисел. Все зависит от ReadArrReal(n);
begin
'Введите числа a,b,c через пробел:'.Println;
var x: array of real := ReadArrReal(3);
System.Array.Sort(x);
System.Array.Reverse(x);
x.Println;
end.
Задача №21:
//Привычное для тебя решение:
var x: real;
begin
writeln('Введите число x >>'); readln(x);
if(x<0) then writeln(4)
else if(x>1) then writeln(x+7)
else writeln(x*x+3*x+4);
end.
//Альтернативное решение:
//Используется тип double для большей точности
begin
var x: double := ReadReal('Введите число x >>');
if(x<0) then writeln(4)
else if(x>1) then writeln(x+7)
else writeln(x*x+3*x+4);
end.