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.
Объяснение:
type
Point=record
x,y:real
end;
function GetPoint(c:char):Point;
begin
Writeln('Введите координаты точки ',c,':');
Read(Result.x,Result.y)
end;
function Line(A,B:Point):real;
begin
Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
function SqTriangle(pA,pB,pC:Point):real;
begin
var a:=Line(pB,pC);
var b:=Line(pA,pC);
var c:=Line(pA,pB);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
var p:=(a+b+c)/2;
Result:=sqrt(p*(p-a)*(p-b)*(p-c))
end
else Result:=0
end;
begin
var A:=GetPoint('A');
var B:=GetPoint('B');
var C:=GetPoint('C');
Writeln('Площадь треугольника равна ',SqTriangle(A,B,C))
end.
Тестовое решение:
Введите координаты точки A:
-5 3.18
Введите координаты точки B:
1.45 6.2
Введите координаты точки C:
6 -5.93
Площадь треугольника равна 45.98975