Оператор безусловного перехода 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Оператор безусловного перехода



 

Оператор Goto позволяет изменить стандартный последовательный порядок выполнения оператора и передать управление заданному оператору, которому в этом случае должна предшествовать метка. Этак же метка указывается при операторе Goto. Метка может быть целым числом от 0 до 9999, либо идентификатором.

Пример:

If  x>0 then

X:=Z*x;

Goto 1; end;

I;=idiv2;

X:=sqrt(x);

1:;//пустой оператор

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

УСЛОВНЫЙ ОПЕРАТОР

Обеспечивает ветвление алгоритма в зависимости от выполнения некоторого условия. В ЯП существует две формы условного оператора:

Условный оператор IF и условный оператор Case.

 

Условный оператор IF имеет синтаксис

IF <условие>then<оператор>lse<оператор>.

Условный оператор IF может использоваться вне полной форме (строка lse с операторами опускается). Он выполняется следующим образом: сначала вычисляется условие если оно истинно, то выполняется оператор стоящий за then, если условие ложно. То условный оператор действует как пустой.

Задача:

Найти sinx если x<1 и cosx, если x=>2/

If x<1 then y:= sin (x);

If x>=2 then y:= cos (x);

Или

If x<1 then y:=sin()x

            Else if x>=2 then y:=cos (x)

 

Условный оператор Case предназначен для организации выбора одного или любого количества ветвей алгоритма в зависимости от значения некоторого выражения.

Case <условие>of<последовательность ветвей> else <оператор>end;

Задача:

Присвоить строке S значение дня недели для заданного числа D при условии, что в месяце 31 день и первое число понедельник.

Case D mod 7 of

1;S:=’понедельник’;

2;S:=’вторник’;

3;S:=’среда’;

4;S:=’четверг’;

5;S:=’пятница’;

6;S:=’суббота’;

7;S:=’воскресенье’;

 

6.12.11

С помощью оператора вычисляется остаток деления D/7 и в зависимости от значения переменную S заносится строка, соответствующая дню недели.

 

Case D mod 7 of

1;S:=’понедельник’;

2;S:=’вторник’;

3;S:=’среда’;

4;S:=’четверг’;

5;S:=’пятница’;

6;S:=’суббота’;

Else 7;S:=’воскресенье’;

End;

ОПЕРАТОР ЦИКЛА

Служит для организации выполнения одних и тех же многократно повторяющихся действий – циклических процессов. Синтаксис оператора содержит:

<оператор цикла>::<заголовок цикла><тело цикла>

<тело цикла>::<операторы>

Заголовок цикла служит для оказания условий выполнения циклических действий, а тело цикла представляет собой последовательность самих действий.

ОПЕРАТОР FOR

For <переменная цикла>:=<выражение начало>to<выражение конец>do<тело цикла>,

For <переменная цикла>:=<выражение начало>downto<выражение конец>do<тело цикла>,

ПЕРЕМЕННАЯ ЦИКЛА ДОЛЖНА ПРИНАДЛЕЖАТЬ СЧЕТНОМУ МНОЖЕСТВУ ЗНАЧЕНИй, т.е. должна быть целого или перечисляемого типа. <переменная цикла><выражение начало> <выражение конец> должны быть одного типа

ОПЕРАТОР While

While<условие>do<тело цикла>,

Это логическое выражение, истинность которого проверяется в начале каждого шага цикла. Цикл будет выполняться до тех пор, пока значение логического выражения истинно.

Изменение значения переменных входящих в логическое выражение внутри тела цикла.

Repeat

Repeat <тело цикла>until<условие>;

Проверка условий в данном цикле стоит после тела цикла, что обеспечивает выполнение цикла хотя-бы 1 раз.

Cлужебые слова Repeat until играют роль операторных скобок поэтому

Стандартные процедуры break Continue предназначена для осуществления принудительного дострочного выхода из цикла. Процедура Continue принудительно вызывают начало новой итеррации цикла, даже если предидущее не закончено.

09.12.11

Структурированные типы данных

Определены следующие стандартные структурированные типы:

1. Массив

2. Строка

3. Запись

4. Множество

 

 

1) Массив. Общий синтаксис.

<имя>= array[<тип_индекса 1><тип_индекса 2>,…,<тип_индекса N>]of<тип элемента>;

Type

Temp=array [1..365]of integer;

Для объявления типа массива необходимо объявить типы индексов и элементов. Индексы массива должны принадлежать типу диапазону т.е. принимать множество последовательных значений порядкового типа. элемент массива может принадлежать любому типу данных в т.ч и типу массив.

Доступ к отдельному элементу массива осуществляется через указания имени массива и значения индекса, заключенного в квадратные скобки

Type

Temp=array [1..365]of real;

Var

Temperature: Temp_array;

Temperature: [5]:=5,6;

Temperature [n*7]:=10;

Пример: написать программу позволяющую выписать среднюю суточную температуру за год

 

Sum_Temp:=0;

For i:=1to365do

Sum_Temp:= Sum_Temp+Temperature[i];//подсчет суммарной температуры в цикле

Mid_temp;=Sun_temp/365;//вычисление среднего значения

Type

Temp_array=array[1..12,1..31]of real;

Var

Temperature: Temp_array;

Temperature [2,5]:=-18;//значение средней суточной температуры за пятое февраля

Sum_Temp:=0

For i=1to12do

For j=1to31do

Sun_Temp:=Sum_Temp+Temperature[I,j];

Mid_temp:=Sun_Temp/(12*31);

 

 При определении массива константы значение элементов массива

Указываются в круглых скобках и разделяются запятыми. Если массив многомерный, то внешние скобки соответствуют самому левому и самому правому индексу, вложенные в них следующим индексом

Type

Vect_array=[1..7]of integer;

Matr_array=array[1..3,1..4]of integer;

Const

C1:Vect_array=(1,3,5,7,11,13);

C2; Matr_array=((1,3,5,7), (2,4,6,8), (9,11,13,15))

 

Операции над массивами

Для одномерных массивов можно использовать операции сравнения, даже если массивы неидентичных типов и имеют различный размер. Так же одному массиву можно присвоить значение другого массива, но только если они идентичных типов.

2) Строка символов

Тип строка символов (string) определяет последовательность символов произвольной длины, записанную в одной строке программы и заключенную в одиночные кавычки (апострофы). Строку можно рассматривать как массив символов, однако, с некоторыми способностями использования строк по сравнению со стандартными массивами, символьный массив выделен в отдельный (строковый) тип данных. Строка символов, ничего не содержащая между апострофами, называется пустой строкой. Два последовательных апострофа в строке символов обозначают один символ-апостроф.

К символам в строке можно иметь доступ как к компонентам массива, например для обьявленной строки MyString:

Var

MyString: string

Можно программировать следующие действия:

MyString [1]:=’H’; MySting[2]:=’E’; MySting[3]:=’L’;

MySting[4]:=’L’; MySting[5]:=’O’;

Это последовательность действий будет аналогична оператору

MySting:=’HELLO’;

Если в атрибуте длины строки в первом случае установить значение 5.

Атрибут длины строки содержится в символе с порядковым номером 0 и представляет собой размер строки, числовое значение которого определяется как ord(string[0]).

В стандарте языка имеет фиксированный или динамический атрибут длины, но в любом случае длина строки не может превышать 255 символов.

Фиксированный атрибут длины задается в квадратных скобках после слова string при объявлении типа. Например строка объявленная как

Var

 MySting:=string[20];

Можно иметь длину не более 20 символов.

 

Константы строкового типа

Объявление типизированной константы строкового типа содержит максимальную длину строки и ее начальное значение:

Const

HeadText: string [7] = ‘section’;

NewLine: string [2] = #13#10;

TrueQue: string [3] = ‘Yes’;

Операции со строковыми типами

Язык Pascal позволяет использовать знак операции «+» для объединения двух строковых операндов. Результатом операции S+T, где S и T имеют строковый тип, будет конкатенация S и T.

Результат будет совместим с любым строковым типом (но не с символьным).

Любые два значения строковых данных можно сравнить, поскольку все значения строковых данных совместимы.

 

 

 

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.161.132 (0.012 с.)