:: PASCAL :: ТЕОРИЯ  
 

 

Лекция 2

 

 

Операторы языка Паскаль. Часть 1.  

 

  1. Простые и составные операторы.  

 

Простые операторы.  

 

1)

Оператор присваивания.  

 

Синтаксис:  

 

<имя переменной>:=<выражение>  

 

Выполнение: вычисляется значение выражения, стоящего в правой части оператора, и полученное значение присваивается переменной, имя которой указано в левой части оператора.  

 

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

 

2)

Вызов процедуры.  

 

Синтаксис:  

 

<имя процедуры>[(<список значений параметров>)];  

 

Выполнение: происходит переход к стандартной или определенной пользователем процедуре с неявным присваиванием фактических значений формальным параметрам процедуры.  

 

Организовать ввод и вывод данных в языке Паскаль можно с помощью стандартных процедур read, readln, write, writeln.  

 

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

 

Синтаксис:  

 

read([<имя устройства ввода>,]<список имен переменных>);  

 

readln([<имя устройства ввода>,]<список имен переменных>);  

 

write([<имя устройства вывода>,]<список значений>);  

 

writeln([<имя устройства вывода>,]<список значений>);  

 

Выполнение:  

 

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

 

вывод данных: значения, указанные в списке, последовательно выводятся на устройство вывода данных.  

 

Отличие процедур read и readln, write и writeln состоит в том, что при выполнении процедур writeln и readln к последнему значению автоматически дописывается управляющий символ конца строки, что означает переход на новую строку экрана или файла.  

 

Составные операторы.  

 

Составной оператор представляет собой последовательность операторов, заключенных в операторные скобки begin и end.  

 

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

 

2.

Структурные операторы.  

 

1)

Условный оператор  

 

Синтаксис:  

 

if <условие>  

 

then <оператор>  

 

[else <оператор>];  

где    <условие> - выражение булевского типа;

 

<оператор> - любой оператор языка Паскаль (в том числе и составной).  

 

Выполнение: вычисляется значение выражения, стоящего в условии. Если это значение истинно, то выполняется оператор, следующий за служебным словом then. Если условие ложно, то выполняется оператор, стоящий за служебным словом else.  

 

Условный оператор может использоваться и в сокращенной форме, когда отсутствует часть оператора, начиная со служебного слова else. В этом случае оператор выполняется при истинном условии, а если условие ложно, то происходит переход к оператору, следующему за условным. Например:  

 

if x>y          |   if x>y  

 

then            |   then  

 

   begin         |   x:=0;  

 

      x:=0;      |   y:=0;  

 

      y:=0;  

 

   end;  

 

В условном операторе за служебными словами then и else могут следовать любые операторы языка Паскаль, в том числе и условные. Поэтому возможны «вложенные» условные операторы. Например,  

 

   if x>y  

 

   then x:=x-y  

 

   else if x=y  

 

      then x:=0  

 

      else y:=y-x;  

 

Условие может быть составным. В этом случае каждая его часть заключается в скобки. Например:  

 

   if (x>5) and (x<15)  

 

   if (a=b) or (not(t))  

 

 

2)

Оператор варианта  

 

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

 

Синтаксис:  

 

case <выражение> of  

 

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

 

…  

 

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

 

[else <оператор>]  

   end;
где    <выражение> - выражение любого скалярного типа (кроме real);

 

<оператор> - любой оператор языка Паскаль.  

 

Выполнение: вычисляется значение выражения, стоящего после case. Это значение используется для выбора одного из возможных действий. Если полученное значение выражения совпадает с одним из перечисленных после of, то выполняется соответствующий оператор. Если один и тот же оператор должен выполняться при различных значениях выражения, то эти значения могут быть указаны через запятые или в виде интервала. Если в операторе присутствует часть else, то оператор, указанный за данным служебным словом, выполняется тогда, когда значение выражения не совпадает ни с одним из значений, перечисленных после of. Например:  

   Пусть m – номер месяца, y – порядковый номер года. Определить d – количество дней в соответствующем месяце.

 

case m of  

       1,3,5,7,8,10,12: d:=31;
      4,6,9,11: d:=30;
      2: if (y mod 4=0) and (y mod 100 <>0)
         then d:=29
         else d:=28
   end;

   
::  

::


Rambler's Top100 Крапивна
 

(с)2005-2006 Web studio SEDUVAN

Hosted by uCoz