Procedureswap(var s1:string; var s2:string)

Var b:string;

b:=s1;

s1:=s2;
s2:=b;

телопрограммы

vars1,s2:string;

begin
(тут мы расписывали типо до обмен после обмена чему равно s1 и s2 но самое главное procedureswap(s1;s2);)

присвоить s1 и s2 какие либо значения

writeln(вывести их до замены)

swap(s1;s2);

wrireln(вывести их после замены)

End.

34 Конструкцияif

Простой

If< условие>then<операторы>

Else<операторы>

сложный

If< условие>then<операторы>

ElseIf< условие>then<операторы>

Else … If<условие>then<операторы>

Else<операторы>

Пример

простой

Ifa>=btheng:=a-b

elseg:=b-a;

сложный(на примере сумма наибольших)

if(a>b) and c>bthen writeln(a+c)

ElseIf(b>a) and (c>a) thenwriteln(b+c)

Elsewriteln(a+b);

35 Конструкция case

Оператор выбора
case<выражение>of
значение 1:<оператор 1>;

значение 2:<оператор 2>;

значение 3:<оператор 3>;

……
значение n:<оператор n>;

Else <оператор>

End.

Пример

Program cas;

Varx:integer;

begin

Writeln(‘Введите числа от 1 до 5’) ;

Readln(x);

Case x of

1: Writeln(‘один’);
2: Writeln(‘два’);

3: Writeln(‘три’);

4: Writeln(‘четыре’);

5: Writeln(‘пять’)

Elsewriteln(‘не входит в интервал 1-5’);

End;

Readln;

End.

(еще пример с калькулятором у нас есть пример в практике)

36 КонструкцияFor

For<параметр цикла> := <начальное значение>to<конечное значение>do< Тело цикла>;( так же можно использовать downtoесли идти от конечного значения к начальному)

Пример (вычисление факториала через цикл)

Program cikl;

Var

I,s,p:integer;

Begin

Writeln(‘Введитечислоs’);

Readln(s);

P:=1;

For i:=2 to s do

P:=p*i;

Writeln(p);

Readln;

End;

37 Конструкцияwhile(Пока)

While<условие>do<операторы>

Пример

Programprog;

Var

Sum,I,x:integer;

Sum:=0;

I:=0;

While i<10 do

Begin

Readln(x);

Sum:=sum+x;

I:=i+1;

End;

Readln;

End.

Массивы в паскале

одномерный

<переменная>:array[1..N] of<тип переменных>

Двумерный

<переменная>:array[1..N,1..N] of<тип индекса>

Примеродномерный

Program massiv;

Var

a:array[1..5] of integer;

I:integer;

Begin

Randomize;

For i:=1 to 5 do

Begin

a[i]:=random(30);

writeln(a[i]:3);

end;

readln;

end.

ПримерДвумерный

Program massiv;

Var

a:array[1..5,1..5] of integer;

i,j:integer;

Begin

Randomize;

For i:=1 to 5 do

begin

For j:=1 to 5 do

Begin

a[I,j]:=random(30);

writeln(a[I,j]:3);

end;

writeln;

end;

readln;

end.

39 Конструкцияrecord

Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.

Запись Паскаля – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.

Например, анкетные данные о студенте вуза могут быть представлены в виде информационной структуры

Procedureswap(var s1:string; var s2:string) - student2.ru

· Такая структура называется двухуровневым деревом. В Паскале эта информация может храниться в одной переменной типа record (запись). Задать тип можно следующим образом:

· type < имя _ типа >=record
<имя_поля1>: тип;
<имя_поля2>: тип;
………………….
<имя_поля K >: тип
end ;

· где record – служебное слово, а <имя_типа> и <имя_поля> - правильные идентификаторы языка Паскаль.

Описание анкеты студента в Паскале будет выглядеть так:

· Type anketa=record
fio: string[45];
pol: char;
dat_r: string[8];
adres: string[50];
curs: 1..5;
grupp: string[3];
end;

  • Пусть нам необходимо заполнить сведения о студенте (Ф.И.О., дата рождения, адрес, курс и группа), а затем вывести эти сведения на экран.

    Пример программы c записью Паскаля
    program primer1;
    type anketa=record
    fio: string[45];
    dat_r: string[8];
    adres: string[50];
    curs: 1..5;
    grupp: string[3]
    end;
    var student: anketa;
    begin
    writeln ('введите сведения о студенте');
    {обратите внимание, ввод каждого поля осуществляется отдельно}
    writeln ('введите фамилию, имя и отчество');
    readln (student.fio);
    writeln ('введите дату рождения');
    readln (student.dat_r);
    writeln ('введите адрес');
    readln(student.adres);
    writeln ('введите курс');
    readln(student.curs);
    writeln ('введите группу');
    readln (student.grupp);
    writeln ('ввод закончен');
    writeln ;
    {обратите внимание, что вывод записи осуществляется по полям}
    writeln ('фамилия студента: ', student . fio );
    writeln(' дата рождения : ', student.dat_r);
    writeln(' адрес : ', student.adres);
    writeln(' курс : ', student.curs);
    writeln(' группа : ', student.grupp);
    end.

40Созданиеновыхтиповпаскаль

type matr =array[1..10,1..50]ofinteger;

var a:matr;

Наши рекомендации