- •Введение
- •Теоретическая часть
- •1.Структура программы на языке pascal
- •1.1 Раздел описания меток
- •1.2 Раздел констант
- •1.3 Раздел описания типов
- •1.4 Примеры решения задач
- •2 Операторы
- •2.1Оператор присвоения
- •2.2Условный оператор
- •2.3Оператор цикла
- •3 Массивы
- •3.1Примеры решения задач
- •4. Процедуры и функции
- •4.1 Описание процедур
- •4.2 Описание функций.
3.1Примеры решения задач
(*Найти сумму элементов массивов *)
programSumma;
var{*раздел объявления переменных*}
a:array [1..10] ofinteger;{*совокупность компонентов одного и того же типа *}
s,i:integer;
begin
write ('BBODMASSIBA');{*помещение в выходную запись сообщение друг за другом*}
fori:=1 to 10 do{*Параметр цикла, начальное и конечное значение, т.еi принимает значение от 1 до 10 включительно*}
readln (a[i]);{*Чтение данных и переход к началу следующей строки*}
s:=0;
fori:=1 to 10 do{*Параметр цикла, начальное и конечное значение, т.е i принимает значение от 1 до 10 включительно*}
s:=s+a[i];
writeln ('summa', s);{*выводданных*}
end.
(*Найти номер и значение максимального значения массива*)
programmaxelement;
constN=10;
typevector=array[1..N] ofinteger;{*Позволяет осуществить пошаговое проектирование структур данных*}
var{*раздел объявления переменных*}
v:vector;
k,vmax,i:integer;
begin
write ('BBOD MASSIBA'); {*вводнаэкран*}
fori:=1 toNdoreadln (v[i]);{*Параметр цикла, начальное и конечное значение, т.еiпринимает значение от 1 до N включительно*}
k:=1;
fori:=1 toNdo{*Параметр цикла, начальное и конечное значение, т.еiпринимает значение от 1 до n включительно*}
ifv[i]>v[k]{*Операция отношения*}
thenk:=i;
writeln ('K=',k,'v[k]=',v[k]);{*операция вывода на экран*}
end.
(*Из элементов массива х сформировать 2 массива y и z, таких чтобы в yбыли только положительные, а в z отрицательные*).
programxyz;
var{*раздел объявления переменных*}
x,y,z:array [1..20] ofinteger; {*помещение в выходную запись сообщение друг за другом*}
n,k,m,i:integer;
begin
write ('Inputn='); {*помещение в выходную запись сообщение друг за другом*}
readln (n);{*Чтение данных и переход к началу следующей строки*}
write ('BBODMASSIVA'); {*помещение в выходную запись сообщение друг за другом*}
fori:=1 tondo{*Параметр цикла, начальное и конечное значение, т.еiпринимает значение от 1 до n включительно*}
readlnx[i];{*Чтение данных и переход к началу следующей строки*}
k:=0;
m:=0;
fori:=1 tondo{*Параметр цикла, начальное и конечное значение, т.еiпринимает значение от 1 до n включительно*}
ifx[i]>=0 then{*Оператор условия . если x[i] больше либо равно 0,тогда*}
begin
k:=k+1;
y[k]:=x[i];
end
else{*иначе*}
begin
m:=m+1;
z[m]:=x[i];
end;
for i:=1 to k do
write (y[i]:3];{*процедураввода *}
writeln; {*вывод на экран страки*}
fori:=1 tondo
write (z[i]:3); {*помещение в выходную запись сообщение друг за другом*}
writeln;
end.
(*Транспанировать матрицу не создавая дополнительную*)
ProgramTransponirobanie;
typematr=array[1..10, 1..10] ofinteger;{*описаниетипаматрицы 10*10 целочисленные*}
var{*раздел объявления переменных*}
mt:matr;{*объявление матрицы*}
temp,n,i,j:integer;{*объявление целочисленных переменных*}
begin{*начало тело программы*}
write('n=');{*вывод на экран*}
readln(n);{*ввод значения n*}
writeln('vveditematr');{*вывод на экран строки*}
for i:=1 to n do{**}
for j:=1 to n do
begin
write(i:2,j:2,'mt=');{*процедураввода*}
readln(mt[i,j]);{*процедура вывода на экран*}
end;
writeln('ishodmatr'); {*вывод на экран страки*}
for i:=1 to n do
begin
for j:=1 to n do
write(mt[i,j]:3); {*выводнаэкран*}
writeln;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
temp:=mt[i,j];
mt[i,j]:=mt[j,i];
mt[j,i]:=temp;
end;
writeln('transmatr'); {*вывод на экран страки*}
for i:=1 to n do
begin
for j:=1 to n do
write(mt[i,j]:3); {*выводнаэкран*}
writeln;
end;
end.