Иллюстрированный самоучитель по Turbo Pascal. Операторы языка Паскаль Отдохнём с пользой

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

  1. простые;
  2. структурированные.

Простые операторы - это операторы, не содержащие в себе других операторов. К ним относятся:

  • оператор присвоения (:=);
  • оператор процедуры;
  • оператор безусловного перехода (GOTO).

Структурированные операторы - это операторы, которые содержат в себе другие операторы. К ним относятся:

  • составной оператор;
  • операторы условий (IF, CASE);
  • операторы цикла (FOR, WHILE, REPEAT);
  • оператор присоединения (WITH).

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

Оператор процедуры

Оператор процедуры служит для вызова процедуры.

Формат: [имя_процедуры] (список параметров вызова);

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

  • Стандартные, которые описаны в самом языке и являются принадлежностью языка;
  • Процедуры пользователя, которые создает пользователь.

Для вызова стандартных процедур необходимо подключение в разделе USES имени модуля (библиотеки), где описана данная процедура. Ряд процедур, находящихся в модуле SYSTEM всегда подключается к программе автоматически и их подключение в разделе USES не нужно. Стандартные процедуры языка Паскаль - READ, WRITE, REWRITE, CLOSE, RESET.

READ ([файловая_переменная], [список_ввода])

READ (x,y)

Процедуры пользователя (нестандартные) должны быть созданы перед их использованием в программе и находятся либо в разделе описания самой программы, либо в отдельные программные единицы модуля. Если процедура находится в модуле, то имя этого модуля необходимо упомянуть в приложении USES.

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

Формат: GOTO [метка];

GOTO - зарезервированное слово в языке Паскаль. [метка] - это произвольный идентификатор, который позволяет пометить некий оператор программы и в дальнейшем сослаться на него. В языке Паскаль допускается в качестве меток использовать целое число без знаков. Метка располагается перед помеченным оператором и отделяется от него (:). Один оператор можно помечать несколькими метками. Они так же отделяются друг от друга (:). Перед тем как использовать метку в разделе оператора ее необходимо описать в разделе LABEL (раздел описания).

Действие GOTO передает управление соответствующему помеченному оператору. При использовании меток нужно руководствоваться следующими правилами:

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

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

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

Операторы условия IF

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

В языке Паскаль условный оператор IF это средство организации ветвящегося вычислительного процесса.

Формат: IF [логическое_выражение] Then [оператор_1]; Else [оператор_2];

IF, Then, Else - служебные слова. [оператор_1], [оператор_2] - обыкновенные операции языка Паскаль. Часть Else является необязательной (может отсутствовать).

Оператор IF работает следующим образом: вначале проверяется результат логического выражения. Если результат Истина(TRUE), то выполняется [оператор_1], следующий за служебным словом Then, а [оператор_2] пропускается. Если результат Ложь(FALSE), то [оператор_1] пропускается, а [оператор_2] исполняется.

Если часть Else отсутствует, то оператор IF имеет не полную форму:

IF [логическое_выражение] Then [оператор];

В этом случае, если результат Истина(TRUE), то выполняется [оператор], если Ложь(FALSE), то управление передается оператору, следующему за оператором IF.

имеются 2 числа A и B. Найти максимальное число.

Составной оператор

Составной оператор - это последовательность произвольных операций в программе, заключенная в так называемые операторные скобки (Begin-End).

Формат: Begin [операторы]; End;

Составные операторы позволяют представлять группу операторов, как один оператор.

Оператор выбора CASE

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

Формат: CASE [ключ_выбора] OF

[константа_выбора_1]:[оператор_1];

[константа_выбора_2]:[оператор_2];

[константа_выбора_N]:[оператор_N];

ELSE [оператор];

CASE, OF, ELSE, END - служебные слова. [ключ_выбора] - это параметр одного из порядковых типов. [константы_выбора] - константы того же типа, что и ключ выбора, реализующие выбор. [оператор_1(N)] - обыкновенный оператор. ELSE может отсутствовать.

Оператор выбора работает следующим образом: до работы оператора определяется значение параметра ключ выбора. Этот параметр может быть либо выражен как переменная в программе, либо другим путем. Затем параметр ключ выбора последовательно сравниваем с константой выбора. При совпадении значения ключа выбора с одной из констант выбора, выполняется оператор, следующий за этой константой, а все прочие операторы игнорируются. В случае не совпадения ключа выбора ни с одним из констант, выполняется оператор, следующий за Else. Часто Else является не обязательной и в случае несовпадения ключа выбора ни с одной из констант выбора и при отсутствии Else, управление передается оператору, следующему за оператором CASE.

В операторе CASE нет явной проверки условия, характерного для оператора IF. В тоже время в неявном виде операция сравнения выполняется. CASE вносит диссонанс в программу на языке Паскаль, поскольку данные оператор завершается служебным словом End, которому нет парного Begin.

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

Программа работает следующим образом: с клавиатуры процедурой Read вводится символ буквы цвета светофора. Если введена буква ‘з’ соответствующая зеленому цвету, то в операторе CASE введено значение в списке выбора найдет константу выбора ‘з’ и будет выведено сообщение “Зеленый цвет, движение разрешено”. При вводе символа букв ‘к’ и ‘ж’ буду выведены аналогичные сообщения. При вводе любого другого символа будет выведено сообщение “Светофор не работает”, поскольку в этом случае работает часть Else, оператора CASE.

Операторы цикла

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

В цикле с параметром всегда имеются так называемые параметры цикла: X, X n , X k , ∆X. Иногда цикл с параметром называют регулярным циклом. Характерной чертой является то, что число циклов и повторений можно определить до выполнения цикла.

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

В языке Паскаль имеются три оператора, реализующих циклические вычислительные структуры:

  • счетный оператор FOR. Он предназначен для реализации цикла с параметром и не может быть использован для реализации итерационного цикла;
  • оператор цикла с предусловием WHILE;
  • оператор цикла с постусловием REPEAT.

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

Оператор FOR

Формат: FOR [параметр_цикла] := [н_з_п_ц] To [к_з_п_ц] Do [оператор];

FOR, To, Do - служебные слова. [параметр_цикла] - параметр цикла. [н_з_п_ц] - начальное значение параметра цикла. [к_з_п_ц] - конечное значение параметра цикла. [оператор] - произвольный оператор.

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

Работу оператора рассмотрим на его алгоритме:

На первом шаге значение параметра цикла принимает [н_з_п_ц], затем осуществляется проверка параметр цикла меньше или равен [к_з_п_ц]. Это условие является условием продолжения цикла. Если выполнено, то цикл продолжает свою работу и выполняется [оператор], после чего параметр цикла увеличивается (уменьшается) на единицу. Затем с новым значением параметр цикла, проверяется условие продолжения цикла. Если оно выполняется, то действия повторяются. Если условие не выполняется, то цикл прекращает свою работу.

Оператор For существенно отличается от аналогичных операторов в других языках программирования. Отличия следующие:

  • телом оператора For. Оператор может не выполниться ни разу, поскольку проверка условия продолжения цикла выполняется до тела цикла;
  • шаг изменения параметра цикла постоянный и равен 1;
  • тело цикла в операторе For представлено одним оператором. В том случае, если действие тела цикла требует более одного простого оператора, то эти операторы необходимо превратить в один составной оператор посредством операторных скобок (BEGIN-END);
  • Параметр цикла может быть только переменой порядкового типа.

Пример использования оператора FOR: составить таблицу перевода рублей в доллары.

Оператор WHILE (оператор цикла с предусловием)

Формат: WHILE [условие] Do [оператор];

WHILE, Do - служебные слова. [условие] - выражение логического типа. [оператор] - обыкновенный оператор.

;

Оператор While работает следующим образом: вначале работы проверяется результат логического условия. Если результат истина, то выполняется оператор, после которого осуществляется возврат на проверку условия с новым значением параметров в логическом выражении условия. Если результат ложь, то осуществляется завершение цикла.

При работе с While надо обратить внимание на его свойства:

  • условия, использованные в While, являются условием продолжения цикла;
  • в теле цикла всегда происходит изменение значения параметра входящего в выражение условия;
  • цикл While может, не выполнится ни разу, поскольку проверка условия в продолжение цикла выполняется до тела цикла.

Оператор REPEAT (оператор цикла с постусловием)

Формат: REPEAT [тело_цикла]; UNTIL [условие];

Оператор REPEAT работает следующим образом: сначала выполняются операторы тела цикла, после чего результат проверяется логического условия. Если результат ложь, то осуществляется возврат к выполнению операторов очередного тела цикла. Если результат истина, то оператор завершает работу.

Оператор Repeat имеет следующие особенности:

  • в Repeat проверяется условие завершения цикла и если условие выполняется, то цикл прекращает работу;
  • тело цикла всегда выполняется хотя бы один раз;
  • параметр для проверки условия изменяется в теле цикла;
  • операторы тела цикла не надо заключать в операторские скобки (BEGIN-END), при этом роль операторных скобок выполняют Repeat и Until.

Вычислить y=sin(x), где xn=10, xk=100, шаг равен 10.

С помощью этого оператора переменные в Турбо Паскале могут получать свои значения программным путем (то есть не с клавиатуры). Формат:

<идентификатор (имя) переменной>:= <выражение>

Система сначала вычисляет значение выражения, затем присваивает его переменной.

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

Составной оператор – это последовательность любых операторов Турбо Паскаля, заключенная в операторные скобки begin и end. Например:

begin a:=5; write (‘a=’,a); end;

Среди операторов составного оператора могут быть другие составные операторы, то есть допускается любая глубина их вложения. Например:

    Операторы условного перехода.

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

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

Реализует алгоритмическую конструкцию «полная развилка»:

Его формат:

if <логическое выражение> then <оператор 1> else <оператор 2>

If, then, else – служебные слова «если», «тогда», «иначе». Перед словом else точка с запятой не ставится. Оператор 1 и оператор 2 могут быть как простыми операторами, так и составными. Составной оператор следует заключать в операторные скобки begin и end.

Действия условного оператора: если логическое выражение имеет значение true, то выполняется оператор 1, если логическое выражение имеет значение false, то выполняется оператор 2.

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

Реализует алгоритмическую конструкцию «неполная развилка»

Его формат:

if <логическое выражение> then <оператор >

If, then – служебные слова «если», «тогда». Оператор может быть как простыми оператором, так и составным.

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

Условные операторы (полный и неполный) могут иметь вложенную конструкцию, то есть после слов THEN или ELSE опять используется условный оператор. Служебное слово ELSE всегда относится к ближайшему слева слову THEN.

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

Замечание: после слова THEN не может сразу записываться новый условный оператор, а после ELSE – может. Например:

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

if ((x>3) and (y>3) and (z>3)) then ...

    Операторы организации цикла.

Цикл – это многократно повторяемый участок программы. Для организации цикла в Паскале используются три оператора: оператор с предусловием, оператор с постусловием и оператор с параметром.

    Оператор цикла с предусловием

Этот оператор реализует блок-схему цикла с предусловием:

Его формат:

While <логическое выражение> Do <тело цикла>

While («пока»), Do («делать») - служебные слова.

Действия оператора: пока логическое выражение имеет значение true, выполняется тело цикла; как только логическое выражение принимает значение false, действие оператора заканчивается и выполняется оператор, следующий за ним. Значение логического выражения проверяется перед телом цикла. Если логическое выражение ложно с самого начала, то тело цикла сразу опускается.

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

Если же тело цикла - один оператор (не составной), то операторных скобок не требуется. Тогда транслятор считает, что тело цикла заканчивается на ближайшем знаке «;». В Паскале нет специальных слов для обозначения начала цикла и конца цикла. На все случаи есть универсальные слова Begin и End.

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

Этот оператор реализует блок-схему цикла с постусловием:

Его формат:

Repeat <тело цикла> Until <логическое выражение>

Repeat («повторять»), Until («до тех пор») - служебные слова.

Тело цикла может быть как одиночным, так и составным оператором, однако употребления Begin и End не требуется, поскольку сами слова Repeat и Until выполняют роль операторных скобок.

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

Замечания:

    Перед каждым выполнением тела цикла логическое выражение должно иметь конкретное значение.

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

    В конце концов логическое выражение должно принять значение, заканчивающее цикл.

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

Этот оператор реализует блок-схему цикла со счетчиком. Его формат:

for <параметр цикла>:= <арифметическое выражение 1> to <арифметическое выражение 2> do <тело цикла>

for < параметр цикла >:= < арифметическое выражение 1> downto < арифметическое выражение 2> do <тело цикла>

Параметр цикла – это переменная любого типа, кроме real.

Арифметические выражения 1 и 2 должны иметь тот же тип, что и параметр цикла. Тело цикла – любой оператор Паскаля (простой, сложный, составной).

Действия оператора: параметру цикла присваивается значение арифметического выражения 1. Если оно меньше (для for - to - do ) или больше (для for - downto - do ) значения арифметического выражения 2, то выполняется тело цикла. Затем параметр цикла увеличивается (уменьшается) на величину, указанную в теле цикла. Потом он снова сравнивается с арифметическим выражением 2. И так до тех пор, пока параметр цикла не станет больше (меньше) значения арифметического выражения 2. Далее оператор цикла заканчивает работу и выполняется следующий за ним оператор.

Если параметр цикла имеет тип integer, то при слове to шаг изменения параметра равен единице (при downto шаг равен -1).

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

Операторы языка Pascal

1. Составной и пустой операторы

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

Турбо-Паскаль допускает произвольную глубину вложенности:
Begin
...
Begin
...
Begin
...
End;
End;
End;
Наличие; перед End - пустой оператор.

2. Операторы ветвлений

IF <условие> THEN <оператор1>

Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.

Условия могут быть вложенными и в таком случае, любая встретившаяся часть ELSE соответствует ближайшей к ней "сверху" части THEN.

Пример:
Var
A, B, C, D: Integer;
begin
A:=1;
B:=2;
C:=3;
D:=4;
If A > B Then
If C < D Then
If C < 0 Then
C:=0
{обратите внимание, что перед Else}
{пустой оператор ";"не ставится}
Else
A:=B;
end.
а могло быть и так:
If A > B Then
If C < D Then
If C < 0 Then
C:=0
Else
Else
Else A:=B

Рассмотрим программу, которая вводит произвольное целое число от 0 до 15 и выводит его в шестнадцатеричной системе:

Program Hex;
Var
Ch: Char;
N: Integer;
Begin
Write ("N = ");
Readln(N);
If (N >= 0) And (N <= 15) Then
Begin
If N < 10 Then
Ch:= Chr(Ord("0")+N)
Else
Ch:=Chr(Ord("A")+N-10);
End
Else
Writeln("Ошибка");
End.

3. Операторы повторений

For <переменная цикла>:=<начальное значение> To(DownTo) <конечное значение> Do <блок операторов>

Переменная должна быть целого или перечислимого типа. При исполнении цикла переменная цикла изменяется от начального до конечного значения с шагом 1. Если стоит to , то переменная увеличивается, если downto – уменьшается.

Условия выполнения цикла проверяются перед выполнением блока операторов. Если условие не выполнено, цикл For не выполняется. Следующая программа подсчитывает сумму чисел от 1 до введенного:

Program Summa;
Var
I, N, S: Integer;
Begin
Write("N = ");
Readln(N);
S:=0;
For I:=1 To N Do
S:=S + I;
Writeln ("Cумма = ", S)
End.

While <условие> Do <блок операторов>

Блок операторов будет исполняться, пока условие имеет значение true. Необходимо, чтобы значение условия имело возможность изменения при исполнении блока операторов, иначе исполнение цикла не закончится никогда (в DOS это приведет к зависанию компыютера). Если условие зарание ложно, блок операторов не исполнится ни разу.

Найдем машинное "эпсилон" для переменной типа Real:
Program Epsilondetect;
Var
Epsilon: Real;
Begin
Epsilon:=1;
While Epsilon + 1 > 1 Do
Epsilon: = Epsilon/2;
Writeln ("Эпсилон = ", Epsilon);
End.

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

Блок операторов независимо от значения условия будет выполнен хотябы один раз. Цикл заканчивается, если после очередного исполнения блока операторов условие имеет значение true.

Пример: программа запрашивает ввод одного символа и выводит его ASCII - код, пока не будет введен пустой символ:

Program Code;
Const
Cr = 13;
Var
Ch:Char;
Begin
Repeat
Readln (Ch);
Writeln (Ch," = ", Ord (Ch));
Until Ord (Ch) = Cr
End.

Case <ключ выбора> Of <список выбора> Else <оператор> End;

<ключ выбора> - выражение любого перечислимого типа,
<список выбора> - одна или более конструкций вида <значение ключа>:<блок операторов>.

Составим программу, имитирующую калькулятор. Программа вводит две строки: первая содержит два числа, разделенные пробелом или запятой, вторая - символ арифметического действия.

2 2
*
Признаком конца работы служит ввод любого символа, отличного от +, -, /, *.

Программа:
Program Calc;
Var
Operation: Char; {Знак Операции}
X, Y, Z: Real;
Stop: Boolean;
Begin
Stop:= False;
repeat
Writeln; {Пустая Строка - Разделитель}
Write ("X, Y = ");
Readln (X,Y);
Write ("Операция: ");
Readln (Operation);
Case Operation Of
"+": Z: = X+Y;
"-": Z: = X-Y;
"*": Z: = X*Y;
"/": Z: = X/Y;
Else
Stop:= True;
End;
If Not Stop Then
Writeln("Z = ",Z);
Until Stop;
End.

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

Goto <метка>

Метка, должна быть описана в разделе описаний. Метка, описанная в процедуре (функции) локализуется в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.

Цели урока:

  • Образовательная : повторить с учащимися операторы языка программирования Паскаль. Развить навыки творческого подхода к решению разнообразных задач, умения выделять главное.
  • Развивающая : развивать способности учащихся анализировать, логически рассуждать; формировать мотивацию постановкой познавательных задач; способствовать формированию умений самостоятельно приобретать и осмысливать знания.
  • Воспитательная : проконтролировать усвоение знаний; сформировать навыки общения между учащимися; стимулировать работу учащихся; создать позитивное отношение к изучаемому материалу. Привить интерес к предмету.

Задачи: Увлечь учащихся созданием программ на языке программирования. Закрепить понятие об операторах.

Тип урока: закрепление пройденного материала.

Класс: 8 “Б”.

Дидактические материалы:

  • Тестирование;
  • Карточки с заданием;
  • Презентация;
  • План работы учащихся.

Оборудование урока: Интерактивная доска.

Наглядное пособие: слайд-шоу.

План урока:

1. Постановка цели урока. Организационный момент – 3 мин

2. Актуализация знаний (тестирование, - 10 мин; графический диктант 10 мин) - 20 мин

3. Решение заданий:

  • Задание 2, задание 3, задание 4, задание 5-10 мин
  • Задание – отдых (отгадывание ребуса) – 5 мин

4. Домашнее задание – 2 мин

Самостоятельная работа (инструктаж).

5. Подведение итогов урока. Выставление оценок – 5 мин

Ход урока

1. Организационный момент – 3 мин.

Ученикам раздаются карточки с заданием для отгадывания темы урока.

Вопросы к мини-игре “Отгадай тему”

1. Алгоритмом называется:

  1. последовательность точных команд приводящих к достижению поставленной цели (О)
  2. любая последовательность команд (А)

2. Алгоритмы, написанные на специальных языках, предназначенные для ввода в ЭВМ, называются...

  1. блок-схемами (Б)
  2. программами (П)

3. Блок-схемы – это...

  1. инструкции на языках программирования (И)
  2. специальные структуры в виде связанных линями блоков с командами (Е)

4. Блок со словом “НАЧАЛО” используется для обозначения

  1. начала программы (Р)
  2. связи блоков между собой (А)

5. Блок со словом “КОНЕЦ” используется для обозначения

  1. проверки условия (Е)
  2. конца программы (А)

6. Прямоугольник используется для обозначения

  1. выполняемых действий (Т)
  2. конца программы (З)

7. Ромб используется для обозначения

  1. проверки условия (О)
  2. выполняемых действий (А)

8. Линии используются для обозначения

  1. связи блоков (Р)
  2. конца программы (К)

9. Укажите знак присваивания

  1. : = (Ы)
  2. = (Я)

10. Для ввода и вывода в блок-схемах применяется..

  1. Параллелограмм (Я)
  2. Эллипс (И)

11. Укажите недопустимую операцию

  1. (10+7)/2 (С)
  2. 6 / 0 (З)

12. Извлечь квадратный корень нельзя из...

  1. положительного числа (И)
  2. отрицательного числа (Ы)

13. Недопустимо деление на...

  1. ноль (К)
  2. положительное число (Г)

14.Укажите выражение с присваиванием

  1. у=х+2 (О)
  2. у:=10+х (А)

15. Помощь вызывается нажатием...

  1. F1 (П)
  2. Esc (Б)

16. Быстрый запуск программы производится нажатием...

  1. CTRL+F10 (О))
  2. CTRL+F9 (А)

17.Создание нового файла программы с помощью меню осуществляется последовательным выполнением команд...

  1. F10 – File – Open (Р)
  2. F10 – File – New (С)

18. Выход из оболочки Паскаля с помощью меню осуществляется последовательным выполнением команд...

  1. F10 – File – New (И)
  2. F10 – File – Exit (К)

19. Отдельные команды отделяются друг от друга символом

  1. ; точка с запятой (А)
  2. " апостроф (Е)

20.Заголовок программы начинается служебным словом

  1. Program (Л)
  2. Write (М)

21.Раздел описания переменных начинается служебным словом

  1. Begin (И)
  2. var (Ь)

2. Актуализация знаний - тестирование (10 вопросов), графический диктант - 7 мин.

Задание 1. графический диктант.

Если высказывание истинно, рисуете прямую линию “-”, если ложно – изображаете домик “^”.

1. Алгоритм ветвления – это алгоритм, в котором выполнение команд зависит от выполнения условия.

2. Условие – это некое логическое выражение, принимающее только значение “Ложь”.

3. Функция Sqrt (x) – квадратный корень из x;

4. Ветка “минус” в Паскале обозначается оператором Then.

5. Оператором ветвления – является оператор Writeln.

6. Оператор читается, как “Если”.

7. integer – это вещественный тип данных?

8. Read – процедура ввода.

9. Логический оператор “and” читается как “или”.

10. Оператором называется простое предложение языка, которое определяет действие в процессе выполнения алгоритма в программе.

Ученики обмениваются тетрадями друг с другом. Проверяют тетради своих товарищей - ответы на доске.

Ответ: _ ^ _^ ^ _^ _ ^ _

Задание 2. Вычисли:

  1. Как обозначается раздел описания переменных?
  2. Назовите переменные? Какого они типа?
  3. Начало программы? Конец программы?
  4. Что означает оператор mod?

Задание 3. Вычислить значения выражений:

Задание 4. Перед вами таблица, соедините линиями зарезервированные слова и их обозначения (ответы)

Program <вещественный тип данных> <заголовок программы>;
Label <конец>; < раздел объявления меток>
Const <заголовок программы>; < раздел объявления констант>
Var <Остаток от целочисленного деления > <раздел объявления переменных>;
Begin < раздел объявления меток> <начало>;
End < раздел объявления меток> <конец>;
Sqr(x) <квадратный корень из аргумента> <возведение аргумента в квадрат>
Sqrt(x) <Целочисленное деление> <квадратный корень из аргумента>
A div B <возведение аргумента в квадрат> <Целочисленное деление>
A mod B <округляет значение вещественного типа до целого> <Остаток от целочисленного деления >
Round(x) <начало>; <округляет значение вещественного типа до целого>
Real < раздел объявления констант> <вещественный тип данных>

Задание 5. Запустить приложение Тест .

Отдохнём с пользой:

(отгадывание ребуса). Условие: составить из букв известный вам раздел информатики.

Ответ: программирование

Ответы: Начало, конец, вывод, Условие.

а) Результативность (грей - зуб - утка - тигр - в - н - о - с - т - ь);

(Самостоятельная работа учащихся – решение задач). Класс делится на два варианта:

Решение задач:

1 вариант

1. Program Funk;

Writeln (‘введите числа x’);

If x>0 then y:=sqr(x)+56х-1

Writeln (‘y=’, y);

2. Program primer2;

Var v, p,m: integer;

Writeln (‘введите v, m ’);

writeln (" Р ");

Writeln (‘введите числа x’);

Writeln (‘y=’, y);

2 вариант

1. program funct;

writeln(‘Введите x’);

if x >0 then y:= O x+56х else

writeln (‘у=’, у);

2 . Program primer2;

Var pi, r,S: integer;

Writeln (‘введите r’);

writeln (" S ");

Writeln (‘введите числа a);

Writeln (‘x’, x);

Закрепление урока.

Вопрос 1. Оператор в Паскале.
Ответы: (человек, работающий в должности оператора ЭВМ)

Вопрос 2. "Операнды" в Паскале.
Ответы: (данные, необходимые для выполнения оператора в Паскале)

Вопрос 3. Символ-разделитель операторов в Паскале.
Ответы: (точка с запятой)

Вопрос 4. Простые операторы в Паскале.
Ответы: (операторы, не содержащие никаких других операторов, называются простыми)

Вопрос 5. Группы операторов языка Паскаль:
Ответы: (простые и структурные)

Вопрос 6. К простым операторам относятся:
Ответы: (операторы присваивания, безусловный оператор, оператор вызова процедуры, пустой оператор)

Вопрос 7. Структурные операторы это:
Ответы: (конструкции, построенные из других операторов по строго определенным правилам)

Вопрос 8. Назначение условных операторов в языке Паскаль
Ответы: (выбор к исполнению одного из возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, то есть отсутствовать).

Рефлексия (конверты со смайликами)

Вопросы:

  • Что вам запомнилось?
  • Довольны ли вы результатами?
  • Что вам удалось сделать на уроке?
  • Какие у вас были трудности при выполнении задания?
  • Как вы с ними справлялись?
  • Были ли вы успешны во время урока?

Подведение итогов урока. Выставление оценок

Инструктаж по домашнему заданию.

Спасибо всем участникам и гостям!

Желаю творческих успехов!

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

Простые операторы не содержат в себе никаких других операторов. К ним относятся:

1) Оператор присваивания (:=) предписывает выполнить выражение в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части:

идентификатор :=выражение;

Переменная и выражение должны иметь один и тот же тип.

2) Оператор безусловного перехода (GOTO) означает «перейти к» и имеет формат:

GOTO_метка ;

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

3) Оператор вызова процедуры (подпрограммы) служит для активации предварительно определенной пользователем или стандартной процедуры:

имя процедуры [(список параметров )];

Параметры в списке перечисляются через запятую. Подробнее процедуры рассмотрены далее.

4) Пустой оператор не содержит никаких символов и не выполняет никаких функций. Он может быть расположен в любом месте программы, где допускается наличие оператора.

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

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

[Оператор1 ;

ОператорN ]

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

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

Оператор условия может принимать одну из следующих форм:

1. IF_условие _THEN_оператор1 _ELSE_оператор2 ;

2. IF_условие _THEN_оператор ;

Условие – выражение булевского типа, при его записи могут использоваться все возможные операции отношения. Если значение выражения истинно, то выполняется оператор1 , если ложно – оператор2 . Во втором варианте, если выражение ложно, то выполняется оператор, следующий в программе сразу за оператором IF. Один оператор IF может входить в состав другого оператора IF, т.е. этот оператор может быть вложенным. При вложенности операторов каждое ELSE соответствует тому THEN, которое ему непосредственно предшествует.

Пример 7. 1) Программа определения принадлежности точки с координатами X,Y окружности радиусом R с центром в начале координат.

VAR X,Y,R,L: REAL;

WRITELN(‘введите значения X,Y и R’);

L:=SQRT(SQR(X)+SQR(Y));

IF L

ELSE WRITELN (‘точка находится вне круга’);

2) поиск в массиве элементов, равных заданному значению, определение их количества, формирование из индексов этих элементов массива и его печать.

READ(J); {задание значения}

FOR I:=1 TO N DO IF A[I]=J THEN BEGIN

{печать результатов поиска}

IF S=0 THEN WRITELN("в массиве элем. равных заданному нет")

ELSE BEGIN WRITELN("в массиве ",s:3," элем. равных’,J);

WRITELN(‘ номера элементов, равных заданному: ‘,)

{печать массива из номеров элементов}

FOR K:=1 TO S DO WRITE(‘ ‘,C[K]);

3) Оператор выбора позволяет сделать выбор из произвольного числа имеющихся вариантов и имеет формат:

CASE_выражение-селектор _OF

список1 : оператор1 ;

список2 : оператор2 ;

списокN : операторN ;

ELSE [оператор ]

Сначала вычисляется значение выражения-селектора , затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, то выполняется оператор, стоящий после ELSE.

Пример 8. Определение диапазона, в котором находится вводимое с клавиатуры число.

1..10: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 1 до 10’);

11..20: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 11 до 20’);

21..30: WRITELN(‘число I=’,I:3,’лежит в диапазоне от 21 до 30’);

ELSE WRITELN(‘число I=’,I:3,’находится вне диапазона 1 - 30’);

4) Операторы повтора используются при организации циклов.

Оператор повтора FOR состоит из заголовка и тела цикла и может иметь два формата:

1. FOR_параметр-цикла :=S1_TO_S2_DO_оператор ;

2. FOR_параметр-цикла :=S1_DOWNTO_S2_DO_оператор ;

S1 и S2 – выражения, определяющие начальное и конечное значение параметра цикла. FOR…DO – заголовок цикла, оператор – тело цикла. Тело цикла может быть простым или составным оператором. Оператор FOR обеспечивает выполнение тела цикла с увеличением параметра цикла (TO) или с уменьшением параметра цикла (DOWNTO) на единицу.

В операторе повтора FOR Паскаль не допускает изменения параметра цикла на величину, отличную от единицы. В составе оператора запрещены операторы, меняющие значение параметра цикла.

Пример 9. 1)Вычисление переменных А и В, значения которых зависят от переменной цикла, и их печать.

BEGIN A:=2*I; B:=4+I

WRITELN(A:3,B:4)

2) Перевод угла в градусах в радианы.

WRITELN(‘угол в градусах угол в радианах’);

FOR I:=0 TO 18 DO BEGIN

RAD:=GRAD*PI/180;

WRITELN(‘ ‘,GRAD:12:2,’ ‘,RAD:12:4);

Оператор повтора repeat имеет формат:

тело цикла;

UNTIL_условие;

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

Оператор REPEAT имеет следующие характерные особенности: выполняется по крайней мере один раз, тело цикла выполняется, пока условие равно FALSE, в теле цикла может находиться произвольное число операторов без операторных скобок , по крайней мере один из операторов тела цикла должен влиять на значение условия, иначе цикл будет выполняться бесконечно.

Пример 10. Вычисление y=x 2 при x=8, 6, 4, 2.

WRITELN (X:3,Y:4);

Оператор повтора WHILE аналогичен оператору REPEAT, но проверка условия выполнения тела цикла производится в начале цикла. Оператор имеет формат:

WHILE_условие _DO_тело цикла ;

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

Все операторы повтора могут быть вложенными.

Пример 11. 1)Увеличение переменной I на 2 до тех пор, пока она меньше 30.

WHILE I<30 DO I:=I+2;

2) Вычисление переменных А и N по заданным формулам до тех пор, пока 2*A не станет меньше или равно 3*N+1.

WHILE 2*A<=3*N+1 DO

BEGIN A:=A*2; N:=N+1; ND;

3) Перевод угла в радианах в градусы.

WRITELN(‘угол в радианах угол в градусах’);

WHILE RAD<6,28 DO BEGIN

GRAD:=RAD*180/PI; WRITELN(‘ ‘,RAD:12:4,’ ‘,GRAD:12:2);