Для замены значений переменных в Pascal используется следующая конструкция:
zam:=x;
x:=y;
y:=zam;
Переменная zam используется как временное хранилище значения переменной x. Результатом выполнения трёх перечисленных команд будет обмен значений переменных x и y между собой.
Причиной для замены может быть присвоение какой-то из нескольких переменных максимального (или минимального, или ещё какое-то условие) значения из тех значений, что имеется в наличии. Например, есть переменная max и переменная x. Проверяем условие максимальности из них переменной max и если условие не соблюдается (т.е. max меньше x), то значения этих переменных заменяем меж собой. В Pascal это выглядит так:
………;
……….;
if max
zam:=max;
max:=x;
x:=zam;end;
………..;
………..;
Это фрагмент программы, многоточия обозначают возможные другие команды, не относящиеся непосредственно к нашей теме.
Переменными в Pascal могут быть элементы массива, который объявляется так:
var mas:array[1..20]of integer; Это мы объявили массив целых чисел из 20-ти элементов.
Присваивать значения элементам массива можно в цикле с параметром:
for i:=1 to 20 do begin
writeln(‘Введите значение элемента массива’);
readln(mas[i]);end;
В этом случае значения каждому элементу присваиваем вручную. Можно использовать генератор случайных чисел:
for i:=1 to 20 do
mas[i]:=random(100);
где последняя команда означает, что очередному элементу массива будет присвоено случайное число из диапазона 0...99 (все включительно).
Теперь собственно задание:
Составленная Вами программа должна будет:
1. Присвоить значения элементам массива целых чисел, состоящем из не менее чем 20-ти элементов. Случайным образом или с клавиатуры;
2. Вывести весь массив в окне вывода;
3. Отсортировать элементы массива по возрастанию;
4. Вывести отсортированный массив в окне вывода.
program numOp;
var a,b:longint;
begin
write('a='); readln(a);
write('b='); readln(b); writeln;
writeln('Среднее арифметическое: ',((a+b)/2):0:2);
writeln('Сумма: ',a+b);
writeln('Разность: ',a-b);
writeln('Произведение: ',a*b); readln;
end.
2)
program triangleInf;
var
kat1,kat2:longint;
gip,s:real;
begin
write('Катет1: '); readln(kat1);
write('Катет2: '); readln(kat2);
gip:=sqrt(sqr(kat1)+sqr(kat2)); s:=kat1*kat2/2;
writeln('Гипотенуза: ',gip:0:2);
writeln('Площадь: ',s:0:2); readln;
end.
mass1:array[1..1000] of integer;
mass2:array[1..1000] of integer;
begin
writeln('Введите кол-во элементов массива');
read(n);
r:=1;
for i:=1 to n do
begin
mass1[i]:=random(19)-10;
if i mod 2=0 then begin
mass2[r]:=mass1[i];
r:=r+1;
end;
end;
for i:=1 to r do
if mass2[r]>0 then c:=c+1 else b:=b+1;
writeln('Исходный массив');
for i:=1 to n do
write(mass1[i]:4);
writeln;
for i:=1 to r do
write(mass2[i]:4);
writeln;
writeln('Кол-во положительных элементов массива равно ',c,' а отрицательных равно ',b);
end.