Основные конструкции управления
ПРОЦЕДУРЫ И ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ
ПРОЦЕДУРЫ ПОЛЬЗОВАТЕЛЯ
procedure имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]);
{описания}
Begin
{операторы} ...
End;
ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ
function имя([var] параметр-1, параметр-2, ... параметр-n: тип; [...]): тип;
{описания}
Begin
{операторы} ...
имя := выражение; ...
{операторы}
End;
ОПЕРАТОРЫ УПРАВЛЕНИЯ
ОПЕРАТОР ВЫБОРА
if логическое-выражение then оператор-1 [ else оператор-2 ]
ОПЕРАТОР ВАРИАНТА
case выражение-типа-integer,word,char,byte of
значение : оператор;
значение-1 .. значение-2 : оператор;
значение-1, значение-2 .. значение-3 : оператор
[ else оператор ]
End
ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ
for целая-переменная := выражение-1 to выражение-2 do
оператор
for целая-переменная := выражение-1 downto выражение-2 do
оператор
ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)
while логическое-выражение do
оператор
ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)
Repeat
оператор-1; оператор-2; ... оператор-n
until логическое-выражение
Расчетная часть
Задание 1
|
*среднемесячную температуру
*макс и мин температуру
*количество дней с температурой ниже 0
*самую холодную декаду месяца
2) Дан массив размера A[n],найти элементы последовательности, наиболее близкого к максимальному в последовательности. Преобразовать исходную последовательность поменять местами макс и найденным элементом
3)Дан одномерный массив. Определить наибольшее количество последовательно расположенных положительных чисел
Задание 2
Определить число которое имеет минимально 15 делителей в промежутке от 10-1000
Задание 1
1)
Листинг программы
program nnm;
uses crt;
var i,j,b,n,max,min,k:integer;
a,b1:array[1..100] of integer;
begin
clrscr; b:=0;n:=0;
for i:=1 to 30 do begin
a[i]:=random(30)-20; b:=b+a[i];
write(' ',a[i]) end;
writeln;
writeln('------------------------------' );
min:=a[1];max:=a[1];
for i:=1 to 30 do begin
if a[i]<min then min:=a[i];
if a[i]>max then max:=a[i];
end;
writeln;writeln('max:=',max,'min:=',min);
b1[j]:=0;k:=1;
for j:=1 to 3 do begin;
for i:=k to k+10 do begin b1[j]:=b1[j]+a[i];
k:=i; end ; writeln(b1[j],' ',k) ;
end;
min:=b1[1];
for j:=1 to 3 do if min>b1[j] then min:=b1[j];
writeln;writeln(min) ;
readkey;end.
Реализаия программы
2)
Листинг программы
program vdvadsshesti;
uses crt;
var i,max,min,n,j,k,b,s:integer;
a,b1:array[1..100] of integer;
label xx;
begin
clrscr;
read(n);
for i:=1 to n do begin read(a[i]);b1[i]:=a[i]; end; writeln;
writeln; max:=a[1];
for j:=1 to n do
for i:=1 to n-1 do if a[i]>a[i+1] then begin b:=a[i];
a[i]:=a[i+1];
a[i+1]:=b;
end;
k:=n;
max:=a[k];
min:=a[k-1];
writeln('max:=',min,'max-1:=',max);
for i:=1 to n do
begin
if b1[i]=max then write(min,' ') else
if b1[i]=min then write(max,' ') else write(b1[i],' ') ;
end;
readkey;
end.
Реализация программы
3)
Листинг программы
program kak;
uses crt;
var i,j,n,m,k,s:integer;
min,max,c:real;
a,b:array [1..100] of integer;
label xx,xx1,xx2;
begin
clrscr;randomize;
read(s);
for i:=1 to s do begin
a[i]:=random(100)-50;
write(i,':=',a[i],' '); end;
writeln;
n:=1; k:=0;
for j:=1 to s do if a[n]>0 then
while a[n]>0 do begin k:=k+1;b[n]:=k; n:=n+1;end;
else
begin
n:=n+1;k:=0;
end;
max:=b[1];
for i:=2 to s do if b[i]>max then max:=b[i+1];
writeln('max:=',max:3:0);
readkey;
end.
Реализация программы
Задание 2
Листинг программы
program mac;
uses crt;
var b,c,d,n,s:REAL;
I,J,K,e:INTEGER;
A:ARRAY[1..1000] OF REAL;
LABEL XX;
BEGIN
CLRSCR;
K:=0; j:=1;
E:=10;
for i:=1 to 1000 do;
repeat
j:=J+1;
S:=I MOD J ;
IF S=0 THEN begin K:=K+1; writeln(j,' k:=',k); end;
IF K>15 THEN BEGIN WRITE(I,':=',K,' ');ENd
until j=i ;
readkey;
END.
Реализация программы
Заключение
В данной курсовой работе я научился работать в программной среде pascal производит методы выделения и сортировки, а так же разнородные манипуляции с массивом