
- •3. Даны три числа а, в, с. Найти наибольший общий делитель этих чисел. Определение наибольшего общего делителя двух чисел оформить в виде функции пользователя.
- •4. Даны координаты вершин некоторого пятиугольника. Разбив его на треугольники вычислить его площадь. Вычисление площади треугольника по формуле Герона оформить в виде процедуры пользователя.
- •9. Дан двумерный массив, содержащий не более 10 строк и 10 столбцов.
- •Похожая Дан двумерный массив, содержащий не более 10 строк и не более 10 столбцов. Вывести на экран номера только тех строк, в которых есть четные числа.
- •12. Дан двумерный массив, содержащий не более 10 строк и 10 столбцов. Найти сумму элементов, лежащих над побочной диагональю.
- •13. Даны координаты трех точек на плоскости. Выяснить лежат ли эти точки на одной прямой. Вычисление расстояния между двумя точками оформить в виде процедуры пользователя.
- •14. Даны три числа, могут ли эти числа быть сторонами треугольника.
- •15. Дан неупорядоченный одномерный массив а, содержащий вещественные числа. Циклически сдвинуть все элементы массива на к позиций вправо.
- •16. Дан одном массив поменять местами наиб и наим элем
- •17. Дан текст, в котором слова отделяются пробелами, в конце стоит точка. Определить количество слов и вывести на экран каждое слово, стоящее на четном месте в предложении.
- •18. Дан неупор массив. Найти простые числа.
- •19. Дан двум массив. Найти средн арифм мин и макс элем каждого столбца.
- •20. Дан текст, в котором слова отделяются пробелами, в конце стоит точка. Определить количество слов в тексте и вывести те слова, длина которых меньше заданного числа.
12. Дан двумерный массив, содержащий не более 10 строк и 10 столбцов. Найти сумму элементов, лежащих над побочной диагональю.
Ввод, вывод массива и нахождение ответа оформить в виде подпрограмм.
program exam20; uses crt;
Type tabl=array[1..10,1..10] of integer; Var a:tabl; s,m,n:Integer;
Procedure Vvod(k,l:Integer;Var c:tabl);
Var i,j:Integer; Begin For i:=1 to n do For j:=1 to k do a[i,j]:=Random(100); End;
Procedure Vivod(k,l:Integer;c:tabl);
Var i,j:Integer;
Begin For i:=1 to n do Begin For j:=1 to k do Write(a[i,j]:5); WriteLn; End; End;
procedure sum(k,l:integer; c:tabl);
var i,j:integer; s:integer; begin s:=0; for i:=1 to k-1 do for j:=1 to k-i do
s:=s+c[i,j]; writeln('сумма элементов, лежажих над побочной диагональю = ',s);
end; begin writeln('ввести кол-во строк и столбцов'); readln(n,m); vvod(n,m,a);
writeln('исходный массив'); vivod(n,m,a); writeln('ответ'); sum(n,m,a); end.
13. Даны координаты трех точек на плоскости. Выяснить лежат ли эти точки на одной прямой. Вычисление расстояния между двумя точками оформить в виде процедуры пользователя.
Program tochki;
Procedure ras(z1,z2,q1,q2:Real; Var d: Real);
Begin d:=sqrt(sqr(z2-z1)+sqr(q2-q1)); End;
Var x1,x2,y1,y2,z1,z2,x3,y3,w1,w2,w3:Real; Begin Writeln ('Ввести координаты первой точки'); Readln (x1,y1);
Writeln ('Вести координаты второй точки'); Readln (x2,y2);
Writeln ('Ввести координаты третий точки'); Readln (x3,y3);
ras (x1,x2,y1,y2,w1); ras (x2,x3,y2,y3,w2); ras (x1,x3,y1,y3,w3);
Writeln (w1:1:3); Writeln (w2:1:3); Writeln (w2:1:3);
if (w1=w2+w3) or (w2=w1+w3) or (w3=w1+w2) Then Writeln ('Точки лежат на одной прямой') Else Writeln ('Точки не лежат на одной прямой'); End.
14. Даны три числа, могут ли эти числа быть сторонами треугольника.
Если треугольник существует, то вычислить длины медиан этого труегольника. Вычисление медианы треугольника оформить в виде процедуры пользователя.
Program z10;
var a,b,c,m1,m2,m3:real;
Procedure Mediana(x,y,z:real; var m:real); begin
m:=(1/2)*sqrt(2*sqr(x)+2*sqr(y)-sqr(z)); end;
begin writeln('Введите первое число');
readln(a); writeln('Введите второе число'); readln(b);
writeln('Введите третье число'); readln(c);
if (a+b>c)and(a+c>b)and(b+c>a) Then Begin
Writeln(''); Mediana(a,b,c,m1); Mediana(b,c,a,m2); Mediana(a,c,b,m3);
Writeln('Первая медиана треугольника с данными сторонами = ',m1:2:2);
Writeln('Вторая медиана треугольника с данными сторонами = ',m2:2:2);
Writeln('Третья медиана треугольника с данными сторонами = ',m3:2:2);
End Else writeln('Треугольника с такими сторонами не существует'); End.
15. Дан неупорядоченный одномерный массив а, содержащий вещественные числа. Циклически сдвинуть все элементы массива на к позиций вправо.
Program z13;
Type mas=array[1..50] of Real; var a:mas; n,k:integer;
Procedure Wwod(k:integer;var c:mas); var i:integer;
begin for i:=1 to k do c[i]:=Random(10);
end; Procedure Wiwod(k:integer; var c:mas);
var i:integer; begin for i:=1 to k do Write (c[i]:2);
writeln; end;
Procedure Perest(k,n:integer;var c:mas);
var x:real; i,j:integer; begin for i:=1 to k do begin x:=c[n];
for j:=n downto 2 do c[j]:=c[j-1]; c[1]:=x; end; end; begin
Writeln('Введите количество элементов массива'); Readln(n);
Wwod(n,a); Writeln('исходный массив'); Wiwod(n,a);
Writeln('Введите на сколько позиций сдвигать вправо'); readln(k);
Perest(k,n,a); Writeln('полученный массив'); Wiwod(n,a);Read;End