Условный оператор, оператор множественного выбора

Понятие о языке программирования Pascal. Линейные алгоритмы

Пример 1. Найти сумму двух вещественных чисел.

program primer;

var

X, Y, Z: Real;

begin

Writeln(‘Введите два целых числа X и Y:');

Readln(X,Y);

Z := X + Y;

Writeln('Сумма чисел X и Y’, Z);

Readln;

end.

1.Составить программу рассчитывающую разность двух действительных чисел.

2.Составить программу рассчитывающую значение выражения (a+b)*c.

Пример 2. Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a4 за две операции.

program primer;

var a: integer;

begin

writeln('введите a');

readln (a);

a:=a*a;

a:=a*a;

writeln('a=',a);

readln;

end.

3.Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a8 за три операции.

4.Вводится вещественное число а. Не пользуясь никакими арифметическими операциями, кроме умножения, получить a6 за три операции.

Пример 3. Составить программу расчета значения функции.

Z = |cos х4 – 3 tg х2 |+0.8 sin yх2+ 10 при любых значениях х и у. Результат вывести в виде: при х= и у=… z=…

program primer;

var x,y,z: real;

begin

writeln('введите X Y'); {вывод строки подсказки}

readln (x,y); {ввод аргументов x и y}

z:=abs(cos(sqr(x)*sqr(x)-3*sin(sqr(x))/cos(sqr(x))))+0.8*sin(y*sqr(x))+10;

writeln('при x=',x:8:2,' y=',y:8:2,' z=',z:8:2); {вывод результата}

readln; {задержка до нажатия клавиши Enter}

end.

5.Составить программу расчета значения функции
Z = |3 ех+3 – 2 ln ху| + 1,8х2 + 1 при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=…

6.Составить программу расчета значения функции
Z = (2eх-4 – |sin х2у| )/( 2.1ctg х + 10.2) при любых значениях х и у. Результат вывести в виде: при х= … и у=… z=…

Пример 4. Найти периметр и площадь прямоугольного треугольника по его катетам.

program primer;

var a, b, c, S, P: real;

begin

writeln('введите катеты a, b:');

readln (a,b);

c:=sqrt(sqr(a)+sqr(b));

P:= a+b+c;

S:= a*b/2;

writeln('P =', P:6:3, ‘S=’, S:6:3);

readln;

end.

7.По длине ребра куба найти площадь грани, площадь полной поверхности и объем куба.

7’. Найти площадь круга и длину окружности.

8.Найти площадь кольца с радиусами r1 и r2.

Пример 5. Вычислить сумму цифр введенного натурального трехзначного числа.

Program primer;

Var n, a, b, c: integer;

begin

write('n= '); readln(n);

a:=n div 100;

b:=(n div 10) mod 10;

c:=n mod 10;

writeln('сумма = ', a+b+c);

readln;

end.

9.Определить сумму квадратов цифр введенного трехзначного числа.

10.Определить произведение второй и четвертой цифр введенного четырехзначного числа.

Пример 6. Введенное 4-значное число изменить так, чтобы 2 и 3 цифры поменялись местами.

program primer;

var n,a,b,c,d:integer;

begin

write('введите n ');

readln (n);

a:=n div 1000;

b:=n div 100 mod 10;

c:=n div 10 mod 10;

d:=n mod 10;

n:= a*1000+c*100+b*10+d;

writeln('результат', n);

readln;

end.

11.Введенное 4-значное число изменить так, чтобы 1 и 4 цифры поменялись местами.

12.Введенное 4-значное число изменить так, чтобы 1 - 4 и 2 – 3 цифры попарно поменялись местами.

Условный оператор, оператор множественного выбора

Пример 1. Определить, является ли введенное число четным. Вывести true (четное), false (нечетное).

program primer;

var

N: integer;

f: boolean;

begin

Writeln(‘N=');

Readln(N);

F := N mod 2 =0;

Writeln(F);

Readln;

end.

  1. Определить, делится ли введенное число на 3. Вывести true (делится), false (не делится).
  2. Вводится число. Если оно делится на 2 или на 3, то вывести true, в противном случае вывести false.

Пример 2. Определить, принадлежит ли введенное число интервалу (0; 10).

Условный оператор, оператор множественного выбора - student2.ru

0< x< 10

(x>0) and (x<10)

program primer;

var

x: integer;

f: boolean;

begin

Writeln(‘x=');

Readln(x);

F := (x>0) and (x<10);

Writeln(F);

Readln;

end.

  1. Определить, принадлежит ли введенное число интервалу (-∞; -10) U (10; +∞).
  2. Определить, принадлежит ли введенное число интервалу (-10; -5) U (5; 10).

Пример 3. Вводится число. Если оно положительное, то уменьшить его в 10 раз.

Program primer;

Var a: real;

BEGIN

write('a='); readln(a);

if a>0 then a:=a/10;

writeln('a=', a);

readln

END.

  1. Вводятся X и Y. Заменить большее из этих чисел разностью большего и меньшего.
  2. Вводятся Х и Y. Если хотя бы одно из этих чисел четно, то найти их произведение. Иначе – найти их сумму.

Пример 4. Выбрать минимальное из трех введенных целых чисел.

Program primer;

Var a, b, c, m: integer;

BEGIN

write('a, b, c='); readln(a, b, c);

if a<b then m:=a else m:=b;

if c<m then m:=c;

writeln('Мin=', m);

readln

END.

  1. Выбрать максимальное из трех введенных целых чисел.
  2. Из чисел A, B, C, D выбрать максимальное.
  3. Решить квадратное уравнения вида Ax2 + Bx + C = 0.

Пример 5. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

 
  Условный оператор, оператор множественного выбора - student2.ru

program primer;

var x,y: real;

begin

Write('введите x y ');

readln (x,y);

if (sqr(x)+sqr(y)<=25) and (sqr(x)+sqr(y)>=4) then writeln('точка попадает в заштрихованную область')

else writeln('точка не попадает в заштрихованную область');

readln;

end.

  1. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

Условный оператор, оператор множественного выбора - student2.ru


  1. Условный оператор, оператор множественного выбора - student2.ru Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

Пример 6. Вводятся три числа A, B, C. Определить, сколько среди них нечетных.

program primer;

var a, b, c, k: integer;

begin

write('a, b, c= ');

readln (a, b, c);

k:=0;

if (a mod 2=1) then k:=k+1;

if (b mod 2=1) then k:=k+1;

if (c mod 2=1) then k:=k+1;

writeln(‘k=’,k);

readln;

end.

  1. Вводятся четыре числа A, B, C, d. Определить, сколько среди них отрицательных.
  2. Вводятся четыре числа A, B, C, D. Определить, содержится ли среди них число 29?

Пример 7. Введено трехзначное число. Необходимо разбить его на цифры. Все четные цифры, которые меньше 8 увеличить на 2, а 8 заменить на 0.

program primer;

var n,a,b,c,d:Integer;

begin

write('введите n'); readln (n);

a:=n div 1000; b:=n div 100 mod 10;

c:=n div 10 mod 10; d:=n mod 10;

if (a mod 2=0) and (a<8) then a:=a+2 else if a=8 then a:=0;

if (b mod 2=0) and (b<8) then b:=b+2 else if b=8 then b:=0;

if (c mod 2=0) and (c<8) then c:=c+2 else if c=8 then c:=0;

if (d mod 2=0) and (d<8) then d:=d+2 else if d=8 then d:=0;

n:=1000*a+100*b+10*c+d;

writeln('результат= ', n);

readln;

end.

  1. Введено четырехзначное число. Найти сумму четных цифр.
  2. Введено четырехзначное число. Найти среднее арифметическое нечетных цифр.

Резерв 1. Даны два натуральных числа A и B. Выяснить, делится ли A на B.

Резерв 2. Введено четырехзначное число. Найти сумму цифр, кратных 3-м.

Резерв 3. Введено трехзначное число. Если сумма его цифр нечетна, то увеличить число вдвое.

Резерв 4. Введено трехзначное число. Если в записи числа встречается цифра 5, то записать число в зеркальном отображении.

Пример 8. Составить программу, которая по введенному номеру месяца определяет время года.

N – номер месяца. Зима – 12, 1, 2. Весна – 3, 4, 5 и т.д.

Program primer;

Var n: integer;

Begin

Write(‘n=’);

Readln(n);

Case n of

12, 1, 2 : writeln(‘зима’);

3, 4, 5 : writeln(‘весна’);

6, 7, 8 : writeln(‘лето’);

9, 10, 11 : writeln(‘осень);

else

writeln(‘Ошибка’);

end;

End.

16.По введенному номеру вывести день недели.

17.Составить программу, моделирующую работу простейшего калькулятора.

Циклы

Пример 1.Вывести квадраты первых десяти натуральных чисел.

Program primer;

Var i, x: integer;

begin

for i:=1 to 10 do begin {перебираем натуральные числа от 1 до 10}

x:=sqr(i); {возводим очередное число в квадрат}

write(x, ' '); {выводим полученное значение}

end;

readln

end.

1.Дано натуральное число n. Вывести первые n членов арифметической прогрессии 3x+1.

2.Числа Фибоначчи – это последовательность: 1, 1, 2, 3, 5, 8… (начиная с третьего числа – очередное число равно сумме двух предыдущих). Дано натуральное число n. Вывести первые n чисел Фибоначчи.

Пример 2.Найти сумму 1 + 1/3 + 1/5 +...(N слагаемых).

Program primer;

Var I, N: integer;

S: real;

begin

Write('N='); Readln(N); {вводим количество слагаемых}

S:=0; {обнуляем сумму}

For I:=1 to N do {выполняем цикл N раз, добавляя к сумме по од ному слагаемому}

S:=S+1/(2*I-1);

Writeln('S=',S:5:2); {выводим значение суммы с двумя десятичными знаками}

Readln

end.

3.Дано натуральное число n. Найти сумму S=1+2/3+3/7... (n слагаемых)

4.Дано натуральное число n. Найти сумму S = 1 -3 +5 - ... (n слагаемых)

Резерв 1. Дано натуральное число n. Вычислить Условный оператор, оператор множественного выбора - student2.ru .

Резерв 2. Даны натуральные числа а, n. Вычислить Условный оператор, оператор множественного выбора - student2.ru .

Резерв 3. Найти произведение: Р = (1 + х)·(3+2х)·(5+3х)·... . (n множителей)

Резерв 4. Дано натуральное число n. Найти сумму S = 10/3 - 100/5 + 1000/7 - ... (n слагаемых).

Резерв 5. Дано натуральное число n. Найти сумму ряда: S = x - x2 /4 + x3/9 - x4/16... (n слагаемых).

Пример 3. Подсчитать количество двузначных чисел, кратных 3.

Program primer;

Var i, k: integer;

begin

k:=0; for i:=10 to 99 do begin

if i mod 3=1 then k:=k+1;

end;

writeln ('k=', k);

readln;

end.

5.Подсчитать количество и сумму четных трехзначных чисел.

6.Подсчитать количество двузначных чисел, у которых сумма цифр нечетна.

Резерв 1. Подсчитать сумму двухзначных чисел, сумма цифр которых не превышает 7.

Резерв 2. Подсчитать количество и сумму трехзначных чисел, кратных 3.

Пример 4. Найти сумму четных делителей введенного целого числа.

Program primer;

Var i, S, n: integer;

begin

Write (‘n=’); Readln(n);

S:=0;

for i:=2 to (n div 2) do

if (n mod i=0) and (i mod 2=0) then s:=s+i;

writeln('S=', S);

readln;

end.

7.Определить, является ли введенное целое число простым или составным.

8.Вводятся целые числа n и k. Вывести на экран все простые числа, попадающие в диапазон [n, k].

Пример 5.Задана арифметическая прогрессия -21; - 16;… Определить номер первого положительного члена прогрессии.

a – очередной член прогрессии, n – его порядковый номер

Program primer; var a, n: integer; begin a:= -21; n:=1; while a<=0 do begin a:=a+5; n:=n+1; end; writeln(‘n=’, n); readln; end. Program primer; var a, n: integer; begin a:= -21; n:=1; repeat a:=a+5; n:=n+1; until a>0; writeln(‘n=’, n); readln; end.

9.Задана арифметическая прогрессия 2; 2,8; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >20.

10.Задана арифметическая прогрессия 7,6; 6,3;.... Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0.

Резерв 1. Задана арифметическая прогрессия. 2; 3,8; ... . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >30.

Резерв 2.Задана арифметическая прогрессия. 7,1; 5,3; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0.

Резерв 3.Задана геометрическая прогрессия 128; 64;...Определить номер члена прогрессии, который <0.1.

Пример 6. Протабулировать функцию y=2x+1 интервале [-3; 3] с шагом 0.5.

Program primer; Const h=0.5; Var x, y: real; begin x:=-3; while x<=3 do begin y:=2*x+1; writeln('x=',x:8:2,' y=',y:8:2); x:=x+h; end; readln; end. Program primer; Const h=0.5; Var x, y: real; begin x:=-3; repeat y:=2*x+1; writeln('x=',x:8:2,' y=',y:8:2); x:=x+h; until x>3; readln; end.  

11.Протабулировать функцию y=x3-1 на интервале [-1,3] с шагом 0.2.

12.Протабулировать функцию y=x2-1/x на интервале [1,2] с шагом 0.05.

Пример 7.Вычислить сумму Условный оператор, оператор множественного выбора - student2.ru с заданной точностью E=0.0001.

Program primer;

Var S, e, slag: real;

k: integer;

begin

e:=0.0001; s:=0; k:=1;

slag:= k/sqr(k+1);

repeat

s:=s+slag;

k:=k+1;

slag:=k/sqr(k+1);

until slag<e;

write (‘s=’, s:6:2);

readln;

end.

13.Вычислить сумму Условный оператор, оператор множественного выбора - student2.ru с заданной точностью E=0.0001.

14.Вычислить сумму Условный оператор, оператор множественного выбора - student2.ru с заданной точностью E=0.001, |x|>1.

Подпрограммы

Пример 1.Создать функцию пользователя, вычисляющую х!

Program primer;

Var

x: integer; y: real;

Function Fact(x: integer): real;

Var

i: integer; f: real;

begin

f:=1;

for i:=1 to x do f:=f*i; {вычисляем произведение}

Fact:=f; {имени функции присваиваем полученное значение}

end;

begin {основная программа}

Write (‘x=’); Readln(x); {ввод значения х}

y:=Fact(x); {вызов функции с аргументом х }

Writeln(‘y=’, y:4:0); {вывод результата}

Readln;

end.

1.Создать функцию пользователя, вычисляющую гиперболический косинус gc= Условный оператор, оператор множественного выбора - student2.ru

2.Создать функцию нахождения максимального из двух чисел

Пример 2. Вычислить, используя функцию нахождения знаменателя:

Условный оператор, оператор множественного выбора - student2.ru (n слагаемых)

Program primer;

Var s: real;

i, n: integer;

Function Fakt(x: integer): real; {функция вычисления факториала}

Var

i: integer; f: real;

begin

f:=1;

for i:=1 to x do f:=f*i;

Fakt:=f;

end;

Begin

write('n= '); Readln(n); {вводим количество слагаемых суммы}

s:=0;

For i:=1 to n do {перебираем i от 1 до n}

s:=s+i/Fakt(i+1); {добавляем к сумме очередную дробь, вызывая}

{ функцию для вычисления знаменателя}

writeln('s=',s:6:4); {вывод результата}

Readln;

end.

3.Вычислить, используя функцию нахождения знаменателя: Условный оператор, оператор множественного выбора - student2.ru (n слагаемых)

4.Вычислить, используя функцию нахождения знаменателя:

Условный оператор, оператор множественного выбора - student2.ru (15 слаг)

Пример 3. Два треугольника заданы длинами своих сторон. Определить, площадь какого из них больше (создать функцию для вычисления площади треугольника по длинам его сторон).

Для решения задачи используем формулу Герона Условный оператор, оператор множественного выбора - student2.ru , где x, y, z – стороны треугольника, p – полупериметр)

Program primer;

var

a1, b1, с1, s1, a2, b2, с2, s2: real;

Function PlTr(x ,y, z: real): real;

Var

p: real;

Begin

p:= (x + y + z)/2; {полупериметр треугольника}

PlTr:=Sqrt(p*(p-x)*(p-y)*(p-z));

End;

BEGIN {основная программа}

Write('Cтороны 1-го треугольника:'); Readln(a1, b1, c1);

Write('Cтороны 2-го треугольника:'); Readln(a2, b2, c2);

S1:=PlTr(a1, b1, c1);{вызов функции для нахождения площади 1-го треугольника}

S2:=PlTr(a2, b2, c2);{вызов функции для нахождения площади 2-го треугольника}

if S1>S2 then Writeln(‘S1>S2’)

else if S1<S2 then Writeln(‘S1<S2’)

else Writeln(‘S1=S2’);

Readln;

END.

5.Два прямоугольных треугольника заданы своими катетами. Определить, у какого из них периметр больше (создать функцию для вычисления периметра прямоугольного треугольника по его катетам).

6.Найти максимальное из чисел A, B, C, D, создав процедуру выбора максимального из 2-х произвольных чисел.

Резерв 1. Создать функцию нахождения наибольшего общего делителя двух натуральных чисел.

Пример 4. Создать процедуру для вычисления периметра и площади прямоугольного треугольника по его катетам a, b.

Program primer;

Var

a, b, p, s: real; { a, b- катеты, p - периметр, s - площадь }

Procedure Treug(a,b: real; Var p, s: real);

{a, b- входные данные(параметры-значения),} {p, s-выходные данные(параметры-переменные)}

Begin

p:= a + b + Sgrt(a*a + b*b); {периметр треугольника с катетами a, b}

s:= a*b/2; { площадь треугольника с катетами a, b }

End;

Begin {основная программа}

Write('a, b =');Readln(a, b); {ввод исходных данных}

Treug(a, b, p, s); {вызов процедуры и передача исходных данных a, b}

Writeln('p=', p:4:1, ‘ s=’, s:4:1); {вывод результата, полученного из процедуры}

Readln;

End.

7.Создать процедуру для вычисления объема и площади поверхности куба по длине его ребра.

8.Создать процедуру для вычисления длины окружности и площади круга по заданному значению радиуса. ( L= 2pR, S=pR2)

Пример 5. Создать процедуру обмена значениями 2-х переменных.

Program primer;

Var

A, B: real;

Procedure Obmen(Var X,Y:real);

Var

T: real;

Begin

T:=X;

X:=Y;

Y:=T;

End;

begin

Write('A, B ='); Readln(A,B);

Obmen(A,B);

Writeln('A=', A:5:2,' B=');

Readln;

end.

9.Вводятся A, B, C, D. Поменять местами A и C, B и D, создав процедуру обмена значениями 2-х переменных.

10.Упорядочить по возрастанию числа A, B, C, создав процедуру обмена значениями 2-х переменных.

Пример 6. Создать процедуру для вывода первых N членов арифметической прогрессии, заданной значением первого члена а и разностью d. Вывести первые 7 членов прогрессии 2, 5, … (a=2, d=3) и первые 10 членов прогрессии 20, 19, ….(a=20, d= -1)

Program primer;

Procedure progres(a,d,n:integer);

Var

i: integer; {i – номер очередного члена прогрессии }

Begin

for i:=1 to n do {перебираем i от 1 до n}

begin

write(a,' '); {выводим очередной член прогрессии}

a:=a+d; {вычисляем следующий член прогрессии}

end;

End;

begin {основная программа}

{вызов процедуры для вывода 7 членов арифметической прогрессии 2, 5,…}

progres(2,3,7);

writeln;

{вызов процедуры для вывода 10 членов прогрессии 20,19,…}

progres(20,-1,10);

Readln;

end.

11.Создать процедуру для вывода первых N членов арифметической прогрессии, заданной первым членом а и разностью d. С помощью этой процедуры вывести 8 первых членов прогрессии 1, 4, … и 10 первых членов прогрессии 24, 22, ….

12.Создать процедуру для вывода и нахождения суммы первых N членов арифметической прогрессии, заданной формулой an=2n+1.

Пример 7. Выяснить, какие натуральные числа от 2 до 10 являются простыми, а какие - составными (создать процедуру, определяющую простым или составным является данное число).

Число называется простым, если оно не имеет делителей кроме 1 и самого себя. Если у него есть другие делители, то число – составное.

Program primer;

Var

i: integer;

Procedure prostoe(x:integer);

Var

k,n: integer; {n - возможные делители числа, k – количество делителей}

Begin

k:=0;

for n:=2 to x div 2 do {перебираем числа от 2 до x div 2 для поиска делителей}

if x mod n = 0 {если n –делитель числа x}

then k:=k+1; {увеличиваем количество делителей на 1}

if k=0 {если у числа нет делителей}

then writeln (x,' - prostoe') {то число простое}

else writeln (x,' - sostavnoe'); {иначе число составное}

End;

begin {основная программа}

for i:=2 to 10 do {перебираем числа от 2 до 10}

prostoe(i); {вызываем процедуру для проверки очередного числа}

Readln;

end.

13.Создать процедуру для вывода и подсчета суммы последовательных целых чисел от a до b. С помощью этой процедуры вывести и найти сумму целых чисел: 1) от 10 до 20; 2) от -5 до 15.

14.Определить, какие из целых чисел от -10 до 2 являются решениями неравенства (x+4)(x+1)<0 (создать процедуру, определяющую является или не является данное целое число решением неравенства (x+4)(x+1)<0)

Массивы

Пример 1. Задан одномерный массив A[1..5]. Заполнить массив числами, вводимыми с клавиатуры, определить произведение элементов.

Program primer;

Var

a: array [1..5] of integer;

i, p: integer;

Begin

For i:=1 to 5 do

begin

Write(‘a[‘, I, ‘]=’); Readln(a[i]);

end;

P:=1;

For i:= 1 to 5 do

P:=p*a[i];

Writeln(‘p=’, p);

Readln;

End.

1.Задан одномерный массив A[1..7]. Заполнить массив числами, вводимыми с клавиатуры, определить сумму и среднее арифметическое элементов.

2.Задан одномерный массив A[1..10]. Заполнить массив числами, вводимыми с клавиатуры, определить сумму и среднее арифметическое элементов с n-го по k-ый (числа n и k вводятся с клавиатуры).

Пример 2. Сформировать одномерный массив из 20 элементов, которые выбираются случайным образом из диапазона [-50; 50]. Определить максимальный элемент и его индекс.

Program primer;

Var

a: array [1..20] of integer;

i, max, k : integer;

Begin

For i:=1 to 20 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

end;

max:=a[1]; k:=1;

For i:=2 to 20 do

begin

if max<a[i] then begin max:=a[i]; k:=I; end;

end;

Writeln(‘max=’, max, ‘index=’, k);

Readln;

End.

3.Сформировать одномерный массив из 15 элементов, которые выбираются случайным образом из диапазона [0; 50]. Определить сумму максимального и минимального элементов массива.

4.Сформировать одномерный массив из 20 элементов, которые выбираются случайным образом из диапазона [-15; 45]. Найти минимальный элемент среди элементов, стоящих на четных позициях и его номер.

Пример 3. Сформировать одномерный массив из 12 элементов. Определить количество четных элементов.

Program primer;

Var

a: array [1..12] of integer;

i, k: integer;

Begin

k:=0;

For i:=1 to 20 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

if (a[i] mod 2=0) then inc(k);

end;

Writeln(‘kol=’, k);

Readln;

End.

5.Сформировать одномерный массив из 10 элементов. Просуммировать все отрицательные элементы, стоящие на нечетных местах.

6.Сформировать одномерный массив из 17 элементов. Определить среднее арифметическое нечетных положительных элементов, стоящих на четных местах.

Пример 4. Сформировать одномерный массив из 7 элементов. Определить, содержится ли в нем элемент ‘5’, если элемент найден, поменять его с первым элементом.

Program primer;

Var

a: array [1..7] of integer;

i, k: integer;

Begin

k:=0;

For i:=1 to 7 do

begin

a[i]:= random(101)-50;

Write(a[ i]:3);

if (a[i] =5) then k:=I;

end;

Writeln;

if k<>0 then

begin

a[k]:=a[1]; a[1]:=5;

For i:=1 to 7 do

Write(a[ i]:3);

end

else Writeln(‘net 5’);

Readln;

End.

7.Сформировать одномерный массив из 13 элементов. Определить, содержатся ли в нем одновременно элементы ‘3’ и ‘6’? Если да, то обменять их местами.

8.Сформировать одномерный массив из 20 элементов. Определить, содержится ли в нем элемент, равный целой части среднего арифметического максимального и минимального элементов, если да – вывести его индекс, иначе вывести 0.

Пример 5. Сформировать одномерный массив из 10 элементов. Упорядочить по возрастанию элементы массива.

Program primer;

Var

a: array [1..10] of integer;

i, j, t: integer;

Begin

For i:=1 to 10 do

begin

a[i]:= random(51);

Write(a[ i]:3);

end;

For i:=1 to 9 do

For j:=i+1 to 10 do

If a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;

For i:=1 to 10 do

Write(a[i]:3);

Readln;

End.

9.Сформировать одномерный массив из 10 элементов. Упорядочить по убыванию элементы массива.

10.Сформировать одномерный массив из 10 элементов. Первые 5 элементов упорядочить по возрастанию, вторые 5 – по убыванию.

Пример 6. Сформировать двумерный массив вида:

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

Program primer;

Var

a: array [1..5, 1..5] of integer;

i, j: integer;

Begin

For i:=1 to 5 do

begin

For j:=1 to 5 do

begin

if i=j then a[i, j]:= 1 else a[i, j]:=0;

Write(a[ i, j]:3);

end;

Writeln;

end;

Readln;

End.

11.Сформировать двумерный массив вида:

1 2 3 4 5

5 4 3 4 1

1 2 3 4 5

5 4 3 2 1

1 2 3 4 5

12.Сформировать двумерный массив вида:

1 0 0 0 1

0 2 0 2 0

0 0 3 0 0

0 4 0 4 0

5 0 0 0 5

Резерв 1.Сформировать двумерный массив вида:

1 0 0 0 1

0 1 0 1 0

0 0 1 0 0

0 1 0 1 0

1 0 0 0 1

Резерв 2.Сформировать двумерный массив вида:

1 0 1 0 1

0 1 0 1 0

1 0 1 0 1

0 1 0 1 0

1 0 1 0 1

Пример 7. Вывести на экран матрицу размером M*N, элементами которой являются целые случайные числа из интервала [-9,9]. Определить минимальный элемент в каждой строке.

Program primer;Const m=5, n=4; Var a: array[1..m,1..n] of integer; min, k, j, i : integer;begin randomize;for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=random(18+1)-9; write(a[i,j]); end; writeln; end;for i:=1 to m do begin min:=a[i,1]; for j:=2 to n do if min>a[i,j] then min:=a[i,j] ; writeln(min);end;

end.

13.Вывести на экран массив 5x5. Определить сумму элементов каждого столбца таблицы.

14.Задана матрица 6x8. Отсортировать все строки по возрастанию.

Наши рекомендации