Основные понятия и средства языка программирования

Содержание

Слайд 2

Тема 4. Основные понятия и средства языка программирования окончание Операторы (инструкции).

Тема 4. Основные понятия и средства языка программирования окончание

Операторы (инструкции). Комментарии. Оператор (инструкция)

присваивания. Ввод и вывод данных. Операторы (инструкции) передачи управления и цикла. Подпрограммы. Процедуры и функции. Работа с символами и строками
Слайд 3

Среда программирования предоставляет программисту интерфейс для разработки, отладки и запуска программ.

Среда программирования предоставляет программисту интерфейс для разработки, отладки и запуска

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

Среда программирования начало

Слайд 4

Среда программирования продолжение Окна среды программирования Delphi 7

Среда программирования продолжение

Окна среды программирования Delphi 7

Слайд 5

Запуск среды программирования Delphi 7 может быть выполнен с использованием Главного

Запуск среды программирования Delphi 7 может быть выполнен с использованием

Главного меню операционной системы Windows следующей последовательностью действий: Пуск => Программы => Borland Delphi 7 => Delphi 7, после выполнения которых на экране появятся окна этой среды программирования.

Среда программирования продолжение

Слайд 6

Главное окно среды программирования Delphi содержит главное меню Delphi (команды File,

Главное окно среды программирования Delphi содержит главное меню Delphi (команды

File, Edit, View, Run, Help и другие), панели инструментов с кнопками и Палитру компонентов (обычно справа вверху).
Команды главного меню Delphi открывают доступ к меню с более конкретными командами второго уровня.
Быстрый доступ к наиболее важным и употребительным командам можно получать также с использованием контекстных меню (например, после щелчка правой кнопкой "мыши").
Панели инструментов содержат кнопки, которые могут быть использованы для более быстрого выполнения тех же действий по сравнению использованием команд главного меню Delphi или контекстных меню.

Среда программирования продолжение

Слайд 7

Палитра компонентов обычно занимает правую часть главного окна Delphi. С помощью

Палитра компонентов обычно занимает правую часть главного окна Delphi. С

помощью компонентов создаются видимые в окнах программ элементы (кнопки, списки, надписи, меню и т.д.).
Прочие окна среды программирования (Object TreeView, Object Inspector, а также окно формы и окно программного модуля – это окна обычно с заголовками Form1 и Unit1.pas) используются для создания проекта программного приложения.
Для прекращения работы среды программирования Delphi можно закрыть главное окно среды программирования или выполнить последовательность команд меню File => Exit.

Среда программирования продолжение

Слайд 8

При запуске среды программирования после выполнения последовательности действий: Пуск => Программы

При запуске среды программирования после выполнения последовательности действий: Пуск =>

Программы => Borland Delphi 7 => Delphi 7, на экране появятся окна среды программирования, предназначенные главным образом для формирования видимых в окнах программ элементов (кнопок, списков, надписей, меню и т.д.) и для создания процедур обработки событий, связанных с этими элементами (таких, например, событий, как нажатие на кнопку, выбор строки из списка или команды из меню и т.д.), или, короче говоря, появляются окна, предназначенные для создания проекта программного приложения типа Application.

Среда программирования продолжение

Слайд 9

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

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

с основами программирования на языке Pascal, расширение которого (Object Pascal или Delphi)–является языком среды программирования Delphi.
Для начального изучения программирования на языке Pascal в среде программирования Delphi существует возможность использования так называемого консольного приложения – Console Application.

Среда программирования продолжение

Слайд 10

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

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

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

Среда программирования продолжение

Слайд 11

Среда программирования продолжение Для создания консольного приложения в среде программирования Delphi

Среда программирования продолжение

Для создания консольного приложения в среде программирования Delphi

необходимо выполнить команды меню File => New => Other... и затем в появившемся окне New Items на вкладке New использовать значок Console Application.
Слайд 12

Среда программирования окончание Окна среды программирования Delphi 7 в режиме консольного приложения.

Среда программирования окончание

Окна среды программирования Delphi 7 в режиме консольного

приложения.
Слайд 13

Алфавит языка программирования Delphi (Object Pascal) включает в себя совокупность символов,

Алфавит языка программирования Delphi (Object Pascal) включает в себя совокупность

символов, используемых для записи элементов языка:
цифры 0 1 2 3 4 5 6 7 8 9;
большие и маленькие латинские буквы
A B C D E F G H I J K L M N O P R S T U V W X Y Z
a b c d e f g h i j k l m n o p r s t u v w x y z и символ подчеркивания _ ; специальные символы + - * / = , . : ; ' < > ( ) [ ] { } ^ @ $ # и символ "пробел".
Символ ; используется при записи программы для разделения операторов, объявлений и описаний.

Алфавит языка программирования

Слайд 14

Идентификаторы предназначены для обозначения переменных, функций и других объектов в программе.

Идентификаторы предназначены для обозначения переменных, функций и других объектов в

программе.
Идентификатор может состоять из букв, цифр и символов подчеркивания _ , но начинаться он должен только с буквы латинского алфавита или символа подчеркивания _ .
Большие и маленькие буквы в идентификаторах не различаются.
Между двумя идентификаторами в программе должен быть хотя бы один разделитель (пробел, символ конца строки, комментарий или другой специальный символ или комбинация специальных символов).
Идентификаторы различаются по их первым 63 символам.
Примеры идентификаторов: a A x bc ff vv1 v_W summa DELTA2 alfa5

Идентификаторы начало

Слайд 15

Идентификаторы для разных объектов не должны совпадать (включая также возможные совпадения,

Идентификаторы для разных объектов не должны совпадать (включая также возможные

совпадения, например, имени проекта приложения с именем объекта в этом приложении).

Идентификаторы окончание

Слайд 16

Переменная – это именованная область памяти, которая отводится для данных, используемых

Переменная – это именованная область памяти, которая отводится для данных,

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

Переменные и константы начало

Слайд 17

Константа – это целое или дробное число, строка символов или отдельный

Константа – это целое или дробное число, строка символов или

отдельный символ.
Константы используются для обозначения числовых и строковых величин, не меняющихся при выполнении программы
Примеры констант:
числовых – 123 0.1 0.0 -5.03 0 1 1500 1.5e3 1.5E3
(десятичным разделителем является точка;
запись 1.5e3 или 1.5E3 означает 1.5•103; запись -23e-2 означает -23•10-2);
строковых – '***Result: ' 's=' (строковая константа заключается апострофы, не включаемые в константу; при необходимости включения в константу апострофа он удваивается, например, константа, состоящая из одного апострофа, запишется как '''').

Переменные и константы окончание

Слайд 18

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

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

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

Массивы начало

Слайд 19

Массивы могут быть одномерными и многомерными. В одномерном массиве каждому его

Массивы могут быть одномерными и многомерными.
В одномерном массиве

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

Массивы окончание

Слайд 20

Тип данных определяет способ кодировки данных, объем занимаемой ими памяти и

Тип данных определяет способ кодировки данных, объем занимаемой ими памяти

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

Типы данных начало

Слайд 21

Целые типы данных (для представления целых чисел в указанном диапазоне): Integer

Целые типы данных (для представления целых чисел в указанном диапазоне):

Integer – -2 147 483 648 – 2 147 483 647 для Delphi 7 (-32 768 – 32 767 для Turbo Pascal);
Byte – 0 – 255;
Word – 0 – 65 535;
Shortint – -128 – 127;
Longint – -2 147 483 648 – 2 147 483 647.

Типы данных продолжение

Слайд 22

Вещественные или действительные типы данных (для представления вещественных или действительных чисел

Вещественные или действительные типы данных (для представления вещественных или действительных

чисел в указанном диапазоне значений абсолютных величин):
Real – 5,0•10-324 – 1,7•10308 для Delphi 7 (2,9•10-39 – 1,7•1038 для Turbo Pascal);
Single – 1,5•10-45 – 3,4•1038;
Double – 5,0•10-324 – 1,7•10308;
Extended – 3,4•10-4932 – 1,1•104932.

Типы данных продолжение

Слайд 23

Char – символьный тип данных (для представления любого символа из набора

Char – символьный тип данных (для представления любого символа из

набора допустимых символов; для каждого символа отводится один байт памяти).

Типы данных продолжение

Слайд 24

String – строковый тип (для представления строк символьных величин). Типы данных продолжение

String – строковый тип (для представления строк символьных величин).

Типы данных продолжение


Слайд 25

Boolean – логический тип данных (величины этого типа занимают в памяти

Boolean – логический тип данных (величины этого типа занимают в

памяти 1 байт и могут принимать значения True (Истина) или False (Ложь); внутренним представлением для значения False является 0, для значения True является 1).

Типы данных окончание

Слайд 26

Описание (объявление) переменных начинается с ключевого слова var и обязательно должно

Описание (объявление) переменных начинается с ключевого слова var и обязательно должно

предшествовать использованию этих переменных в программе.
Описание (объявление) переменных должно быть расположено в так называемом разделе объявления переменных.
Примеры описания (объявления) переменных:
var s,i: Integer;
x,y: Real;
a,с: char;
st: String;

Описание (объявление) переменных и констант начало

Слайд 27

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

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

и затем использованы со своими идентификаторами именованные константы.
Раздел описания (объявления) именованных констант может находиться в программе в том же месте, где и раздел описания (объявления) переменных.
Примеры описания (объявления) именованных констант:
Const w1='WORD'; otl='5'; e=2.71828;
Имя константы отделяется от выражения знаком равенства. Тип константы автоматически распознается на основании типа выражения справа от знака равенства.

Описание (объявление) переменных и констант продолжение

Слайд 28

Примеры описаний (объявлений) массивов: Var z: Array [1..20] of Real; ab:

Примеры описаний (объявлений) массивов:
Var z: Array [1..20] of Real;

ab: Array [10..100] of Integer;
v: Array [1..20,1..10] of Real;
Здесь z и ab являются одномерными массивами, v – двумерным массивом.
Каждый из элементов массива ab – целое число типа Integer,
каждый и элементов массивов z и v – вещественное число типа Real.
Массив z состоит из 20 элементов (нижняя граница индексов –1, верхняя граница – 20),
массив ab состоит из 91 элемента (нижняя граница индексов –10, верхняя граница – 100),
массив v состоит из 200 элементов (из 20 строк по 10 элементов в каждой).

Описание (объявление) переменных и констант продолжение

Слайд 29

При описании (объявлении) массивов могут быть использованы именованные константы, например: Const

При описании (объявлении) массивов могут быть использованы именованные константы, например:
Const

N=20;
Var z: Array [1..N] of Real;
Использование в таких случаях именованных констант позволяет изменять используемые в в разных местах программы значения границ индексов массивов, изменяя лишь значения соответствующих именованных констант в области их описания (объявления).

Описание (объявление) переменных и констант окончание

Слайд 30

Операции выполняются порядке их записи слева направо в соответствии с их

Операции выполняются порядке их записи слева направо в соответствии с

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

Операции начало

Слайд 31

Операции продолжение Арифметические операции:

Операции продолжение

Арифметические операции:

Слайд 32

Операции продолжение Операции отношения (или сравнения): = равно; > больше; >=

Операции продолжение

Операции отношения (или сравнения):
= равно;
< меньше;
> больше;
<= меньше или равно;
>=

больше или равно;
<> не равно.
Результатом операции сравнения является значение логического типа True (Истина), если отношение, устанавливаемое операцией, выполняется, или значение логического типа False (Ложь), если это отношение не выполняется.
Слайд 33

Операции продолжение Логические операции (применяются к величинам логического типа Boolean): not

Операции продолжение

Логические операции (применяются к величинам логического типа Boolean):
not – логическое

отрицание (унарная операция – имеет один операнд);
and – логическое умножение (логическое И);
or – логическое сложение (логическое ИЛИ);
hor – операция неравнозначности (исключающее ИЛИ).
Слайд 34

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

Операции продолжение

Результаты выполнения логических операций:

Кроме того, величины логического типа можно

сравнивать между собой с помощью операций отношения: = , < , > , <= , >= , <> .
Результат выполнения любой из перечисленных здесь логических операций имеет логический тип.
Слайд 35

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

Операции окончание

Порядок выполнения операций по убыванию приоритетов выглядит следующим образом:
унарные операции

(с одним операндом) not , знак - , знак + (например, -3, +5 и т.д.);
операции типа умножения и деления * , / , div , mod , and ;
операции типа сложения и вычитания
+ , - , or , hor ;
операции отношения
= , < , > , <= , >= , <> .
Слайд 36

Стандартные функции начало Некоторые математические функции:

Стандартные функции начало

Некоторые математические функции:

Слайд 37

Стандартные функции продолжение Некоторые функции преобразования:

Стандартные функции продолжение

Некоторые функции преобразования:

Слайд 38

Выражения начало Для вычисления значений по формулам применяются выражения, состоящие из

Выражения начало

Для вычисления значений по формулам применяются выражения, состоящие из

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

Выражения продолжение При вычислении значений выражений в первую очередь выполняются унарные

Выражения продолжение

При вычислении значений выражений в первую очередь выполняются унарные

операции (например, знаки + или - перед первым операндом выражения), затем вычисляются значения функций, затем выполняются операции типа умножения и деления (например, * , / , div , mod), затем выполняются операции типа сложения и вычитания (например, + , -).
Порядок выполнения действий в выражениях может быть изменен с помощью только круглых скобок, при этом операции в скобках будут выполняться в обычном порядке, но раньше, чем операции за скобками.
При записи выражений, содержащих скобки, число открывающих скобок должно быть равно числу закрывающих скобок.
Слайд 40

Выражения окончание Тип выражения определяется типами входящих в него операндов и

Выражения окончание

Тип выражения определяется типами входящих в него операндов и выполняемыми

в нем операциями.
Примеры выражений:
x+1
y+sin(abs(x)*Pi/180)-1
I mod 2+l
-x+y/z
(a-b)/(c+d/(e+f))
Слайд 41

Операторы (инструкции) Оператор присваивания Операторы ввода и вывода Операторы передачи управления

Операторы (инструкции)

Оператор присваивания
Операторы ввода и вывода
Операторы передачи

управления
Операторы цикла
Оператор обращения к процедуре
Слайд 42

Комментарии начало Комментарии – произвольные тексты в программе, служащие, как правило,

Комментарии начало

Комментарии – произвольные тексты в программе, служащие, как правило,

для описания того, что происходит при выполнении участков программы или отдельных операторов.
Комментарии могут содержать любые символы, включая русские буквы.
Наличие или отсутствие комментариев никак не влияет на работу программы.
Комментарий можно записывать в любом месте программы, где разрешен пробел.
Однострочные комментарии начинаются с символов // и продолжаются до конца строки.
Многострочные комментарии могут быть ограничены символами { и } или их эквивалентами (* и *).
Слайд 43

Комментарии окончание Примеры комментариев: { Ниже находится оператор, увеличивающий значение s

Комментарии окончание

Примеры комментариев:
{ Ниже находится оператор,
увеличивающий значение s на

1 }
s:=s+1; // Здесь значение s увеличивается на 1
// Ниже находится еще один комментарий
(* Выше находится оператор, увеличивающий значение s на 1 *)
Слайд 44

Оператор (инструкция) присваивания начало Оператор присваивания имеет вид имя переменной :=

Оператор (инструкция) присваивания начало

Оператор присваивания имеет вид
имя переменной :=

выражение В операторе присваивания имя переменной отделяется от выражения знаком присваивания := (символы двоеточие и равно, следующие непосредственно один за другим без пробелов).
Операторы отделяются друг от друга символом ; (точка с запятой).
Слайд 45

Оператор (инструкция) присваивания продолжение Примеры операторов присваивания: z:=x+1; f:=y+sin(abs(x)*Pi/180)-1; k:=I mod

Оператор (инструкция) присваивания продолжение

Примеры операторов присваивания:
z:=x+1;
f:=y+sin(abs(x)*Pi/180)-1;
k:=I mod 2+l;
uu := -x+y/z1z2;
t:=(a-b)/(c+d/(e+f));
s:=s+1;
При выполнении

оператора присваивания сначала вычисляется значение выражения справа от знака присваивания := и затем результат присваивается переменной слева от знака := .
Переменная и выражение должны иметь совместимые типы (например, real и integer, но не наоборот).
Слайд 46

Оператор (инструкция) присваивания окончание Доступ к элементу массива осуществляется по индексу

Оператор (инструкция) присваивания окончание

Доступ к элементу массива осуществляется по индексу этого

элемента, указываемому в квадратных скобках после идентификатора массива, например,
ab[k]:=a*a; v[i,k]:=z[i]*ab[k+9].
Слайд 47

Ввод и вывод данных начало В режиме консольного приложения для ввода

Ввод и вывод данных начало

В режиме консольного приложения для

ввода данных используется операторы (процедуры) ввода Readln и Readln.
Эти операторы используются для ввода значений переменных. Идентификаторы переменных являются параметрами оператора ввода и перечисляются после названия оператора в круглых скобках через запятую.
Слайд 48

Ввод и вывод данных продолжение При выполнении, например, оператора ввода Readln(x1,x2,x3)

Ввод и вывод данных продолжение

При выполнении, например, оператора ввода

Readln(x1,x2,x3) программа ждет, пока на клавиатуре будут набраны три числа, разделенные пробелом, табуляцией или нажатиями клавиши Enter, и затем, после ввода последнего из этих чисел и нажатия на клавишу Enter, введенные значения присваиваются переменным, имена которых указаны в операторе ввода. Если было введено больше чисел, чем указано переменных в операторе ввода, то остальные числа будут утеряны.
Во избежание недоразумений при вводе данных не рекомендуется использовать оператор Read, который передает излишне введенные данные следующему оператору ввода.
Слайд 49

Ввод и вывод данных продолжение В режиме консольного приложения для вывода

Ввод и вывод данных продолжение

В режиме консольного приложения для

вывода данных используются операторы (процедуры) вывода Write и Writeln.
Операторы вывода используются для вывода значений переменных, констант, выражений. Идентификаторы переменных, константы, выражения, являются параметрами оператора вывода и перечисляются после названия оператора в круглых скобках через запятую, например: Writeln(n,'A = ',b+c,I mod 2+l,' Argument ',x,y+sin(abs(x)*Pi/180)-1)
Слайд 50

Ввод и вывод данных продолжение При выполнении, например, оператора Write('*Results: ',s,'

Ввод и вывод данных продолжение

При выполнении, например, оператора Write('*Results:

',s,' ',i,' ',j,' ',k) на экран будут выведены в одной строке текст *Results: и значения переменных s,i,j,k, разделенные пробелами, после чего курсор останется в этой же строке после последнего выведенного символа значения переменной k.
Оператор Writeln, в отличие от оператора Write, после вывода значений выполняет переход на начало следующей строки.
Слайд 51

Ввод и вывод данных продолжение В операторах вывода могут использоваться форматы

Ввод и вывод данных продолжение

В операторах вывода могут использоваться

форматы вывода, например,
Writeln(aa:5, b:8:2);
Здесь после имени переменной aa через двоеточие указывается количество отводимых для вывода ее значения позиций, внутри которых значение выравнивается по правому краю. Для переменной b указаны две спецификации (8:2), означающие, что под значение этой переменной отводится 8 позиций, причем 2 из них – под дробную часть выводимого значения (одну из 8 позиций занимает точка). Две спецификации можно указывать только для вещественных величин. Спецификации могут быть выражениями целого типа.
Слайд 52

Ввод и вывод данных продолжение Оператор ввода Readln без параметров может

Ввод и вывод данных продолжение

Оператор ввода Readln без параметров

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

Ввод и вывод данных окончание При вводе и выводе значений массива

Ввод и вывод данных окончание

При вводе и выводе значений

массива можно указывать только элемент массива с индексами, например:
Readln(z[10], z[i+k], v[k,i+1]);
Writeln(z[1], z[i+1], v[i,k]);
При выводе нескольких элементов массивов в строке рекомендуется использовать форматы вывода, например: Writeln(ab[i+10]:5,v[i,k]:8:2).
Слайд 54

Операторы (инструкции) передачи управления и цикла начало Условный оператор: if Условие

Операторы (инструкции) передачи управления и цикла начало

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

then Оператор1 else Оператор2;
Условие представляет собой логическое выражение.
Условный оператор работает следующим образом:
если Условие имеет значение True, то выполняется только Оператор1,
если Условие имеет значение False, то выполняется только Оператор2.
Затем выполняется оператор, следующий за условным оператором.
Такая форма условного оператора иногда называется его полной формой. При записи условного оператора в полной форме перед else точка с запятой не ставится.
Слайд 55

Операторы (инструкции) передачи управления и цикла продолжение Допускается использование сокращенной формы

Операторы (инструкции) передачи управления и цикла продолжение

Допускается использование сокращенной формы

условного оператора (без else):
if Условие then Оператор;
В этом случае, если Условие имеет значение False, то выполняется оператор, следующий за условным оператором.
Примеры условных операторов:
if x>0 then x:=x+1 else x:=0;
if abs(a)<=1 then b:=1;
Слайд 56

Операторы (инструкции) передачи управления и цикла продолжение Оператор выбора: case Выражение

Операторы (инструкции) передачи управления и цикла продолжение

Оператор выбора:
case Выражение of
Список1:

Оператор1;
. . .
СписокN: ОператорN
else Оператор;
end;
позволяет сделать выбор из произвольного числа вариантов.
В операторе выбора:
Выражение обычно целого типа;
Список – список констант состоит из произвольного количества отдельных неповторяющихся значений и диапазонов, отделенных запятыми.
Границы диапазона записываются двумя константами через разделитель "..".
Тип констант должен совпадать с типом Выражения.
Слайд 57

Операторы (инструкции) передачи управления и цикла продолжение Оператор выбора выполняется следующим

Операторы (инструкции) передачи управления и цикла продолжение

Оператор выбора выполняется следующим образом:


– вычисляется значение Выражения;
– производится последовательный просмотр Списков;
– при совпадении значения Выражения с константой или значением из диапазона выполняется Оператор для того Списка, в котором произошло совпадение;
– если совпадений не было, то выполняется Оператор в строке с else (эта строка может отсутствовать в операторе выбора – тогда выполняется оператор, следующий за оператором выбора).
Слайд 58

Операторы (инструкции) передачи управления и цикла продолжение Пример оператора выбора: case

Операторы (инструкции) передачи управления и цикла продолжение

Пример оператора выбора:
case Month

of
1,2,12: Writeln(' Winter ');
3..5: Writeln(' Spring ');
6..8: Writeln(' Summer ');
9..11: Writeln(' Autumn ')
else Writeln(' ---- ');
end;
Слайд 59

Работа с символами и строками продолжение Строки можно присваивать друг другу

Работа с символами и строками продолжение

Строки можно присваивать друг другу (операция

присвоения " := ").
Если максимальная длина результирующей строки меньше длины исходной строки, то лишние символы справа отбрасываются, например:
Var s1: string[3]; s2: string[6];
. . .
s2:='Summer';
s1:=s2; //s1:='Sum'
Строки можно объединять (сцеплять, склеивать) между собой с помощью операции конкатенации, обозначаемой знаком " + ", например:
s1:='Sum';
s2:='mer';
s3:=s1+s2; //s3:='Summer'
Слайд 60

Операторы (инструкции) передачи управления и цикла продолжение Оператор перехода: goto Метка;

Операторы (инструкции) передачи управления и цикла продолжение

Оператор перехода:
goto Метка;
предназначен для

изменения обычного порядка выполнения операторов программы, когда после выполнения некоторого оператора требуется передать управление не следующему по порядку, а другому оператору.
Оператор, которому передается управление, должен быть помечен меткой, стоящей перед оператором и отделенной от него двоеточием.
Метка может быть идентификатором или целым числом, начиная с 0 и заканчивая 9999.
Меткой может быть снабжен и пустой оператор, представляющий собой точку с запятой.
Все метки должны быть предварительно объявлены в разделе объявления меток. Раздел объявления меток находится в той же области программы, что и раздел объявления переменных.
Слайд 61

Операторы (инструкции) передачи управления и цикла продолжение Составной оператор begin Оператор1;

Операторы (инструкции) передачи управления и цикла продолжение

Составной оператор
begin Оператор1; Оператор2; .

. . ; ОператорN; end;
представляет собой группу из произвольного числа операторов, заключенную между операторными скобками begin и end (эти Операторы отделяются друг от друга, как обычно, точкой с запятой ";", причем непосредственно перед end точка с запятой может не ставиться).
Независимо от количества входящих в него операторов, составной оператор воспринимается как один оператор и может располагаться в любом месте программы, где допускается наличие оператора.
Слайд 62

Операторы (инструкции) передачи управления и цикла продолжение Цикл представляет собой последовательность

Операторы (инструкции) передачи управления и цикла продолжение

Цикл представляет собой последовательность операторов,

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

Операторы (инструкции) передачи управления и цикла продолжение Оператор цикла с предварительным

Операторы (инструкции) передачи управления и цикла продолжение

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

(с предусловием)
while Условие do Оператор;
целесообразно использовать, когда число повторений тела цикла заранее неизвестно и тело цикла может даже ни разу не выполниться (здесь телом цикла является Оператор, который может быть составным).
Оператор тела цикла выполняется, пока значение логического выражения Условие равно true и выполняется до тех пор, пока это значение не станет равным false, после чего происходит передача управления оператору, следующему за этим оператором цикла.
Оператор тела цикла должен влиять на значение Условия, иначе произойдет зацикливание (повторение тела цикла без возможности выхода из цикла).
Если перед первым выполнением цикла значение Условия равно false, то тело цикла не выполняется ни разу и происходит передача управления оператору, следующему за этим оператором цикла.
Слайд 64

Операторы (инструкции) передачи управления и цикла продолжение Оператор цикла с последующим

Операторы (инструкции) передачи управления и цикла продолжение

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

(с постусловием)
repeat
Оператор1;
. . .
ОператорN;
until Условие;
целесообразно использовать, когда тело цикла необходимо выполнить не менее одного раза и заранее неизвестно число повторений цикла.
Операторы между repeat и until составляют тело цикла и выполняются до тех пор, пока значение логического выражения Условие не примет значение true, после чего происходит передача управления оператору, следующему за этим оператором цикла, (то есть тело цикла повторяется при значении Условия, равном false).
Так как условие проверяется в конце цикла, Операторы выполняются хотя бы один раз.
Операторы тела цикла должны влиять на значение Условия, иначе произойдет зацикливание (повторение тела цикла без возможности выхода из цикла).
Слайд 65

Операторы (инструкции) передачи управления и цикла продолжение Оператор цикла с параметром

Операторы (инструкции) передачи управления и цикла продолжение

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

две разновидности:
for Параметр:=Выражение1 to Выражение2 do Оператор;
и
for Параметр:=Выражение1 downto Выражение2 do Оператор;
и применяется, если количество повторений цикла известно заранее.
Оператор тела цикла выполняется до полного перебора всех целочисленных значений Параметра (параметра цикла) с шагом 1 для оператора с to и с шагом –1 для оператора с downto от значения Выражения1 (начального значения) до значения Выражения2 (конечного значения). Начальное и конечное значения не изменяются при выполнении цикла. Значение Параметра не должно изменяться при выполнении Оператора.
Цикл с to может не выполниться ни разу, если начальное значение больше конечного.
Цикл с downto может не выполниться ни разу, если начальное значение меньше конечного.
Слайд 66

Операторы (инструкции) передачи управления и цикла окончание Выполнение оператора цикла любой

Операторы (инструкции) передачи управления и цикла окончание

Выполнение оператора цикла любой разновидности

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

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

Подпрограммы

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

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

Процедуры и функции начало Описание (объявление) процедуры располагается в программе там

Процедуры и функции начало

Описание (объявление) процедуры располагается в программе там

же, где располагаются описания (объявления) переменных, констант, меток.
Описание (объявление) процедуры состоит из заголовка и блока (тела процедуры).
Заголовок имеет формат Procedure Имя(Формальные параметры);
и состоит из ключевого слова procedure, имени процедуры и необязательного списка формальных параметров в круглых скобках с указанием типа каждого параметра, например:
procedure x2y2(var s:real; x,y:real);. В списке формальных параметров после указателя типа ставится точка с запятой, если же тип указан сразу для нескольких параметров, то их идентификаторы отделяются друг от друга запятой.
Слайд 69

Процедуры и функции продолжение Блок процедуры начинается с begin и заканчивается

Процедуры и функции продолжение

Блок процедуры начинается с begin и заканчивается

end. Внутри блока располагаются операторы с формальными параметрами, например:
Procedure x2y2(var s:real; x,y:real); //Описание процедуры
begin
s:=x*x+y*y;
end;
Слайд 70

Процедуры и функции продолжение Для обращения к процедуре используется оператор вызова

Процедуры и функции продолжение

Для обращения к процедуре используется оператор вызова

процедуры, состоящий из имени процедуры и списка разделенных запятыми аргументов в круглых скобках, при этом каждому формальному параметру, указанному в заголовке процедуры, должен соответствовать аргумент того же типа, например,
x2y2(z,t,u); //Вызов процедуры.
При обращении к процедуре выполняются операторы ее блока с аргументами вместо формальных параметров.
Слайд 71

Процедуры и функции продолжение Если в описании процедуры формальный параметр указан

Процедуры и функции продолжение

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

с описателем var, то при обращении к процедуре в качестве фактического параметра передается адрес аргумента в памяти компьютера. Значение по такому адресу может быть изменено при выполнении процедуры и по такому адресу может быть помещен, например, результат выполнения процедуры. В качестве такого аргумента может быть переменная и не может быть выражение или константа.
Если в описании процедуры формальный параметр указан без описателя var, то при обращении к процедуре в качестве фактического параметра передается значение аргумента в памяти компьютера. Это значение не может быть изменено при выполнении процедуры. В качестве такого аргумента может быть переменная, выражение или константа.
Слайд 72

Процедуры и функции начало Описание (объявление) функции располагается в программе там

Процедуры и функции начало

Описание (объявление) функции располагается в программе там

же, где располагаются описания (объявления) переменных, констант, меток, описания (объявления) процедур.
Описание (объявление) функции состоит из заголовка и блока (тела функции).
Заголовок имеет формат Function Имя(Формальные параметры):Тип результата;
и состоит из ключевого слова function, имени функции, необязательного списка формальных параметров в круглых скобках с указанием типа каждого параметра, а также типа значения функции, например, Function x2y2(var x,y:real):real;
Слайд 73

Процедуры и функции продолжение Блок функции начинается с begin и заканчивается

Процедуры и функции продолжение

Блок функции начинается с begin и заканчивается

end. Внутри блока располагаются операторы с формальными параметрами, например:
Function x2y2(var x,y:real):real; //Описание функции
begin
result:=x*x;
x2y2:=result+y*y;
end;
В блоке функции должен быть хотя бы один оператор присваивания с именем функции в левой части этого оператора. Последний выполненный из таких операторов и определяет значение функции. В этих операторах допускается использование вместо имени функции переменной result, причем в отличие от имени функции переменную result можно использовать в выражениях блока функции в правой части оператора присваивания. Использование этой переменной дает возможность получить в любой момент доступ к текущему значению функции.
Слайд 74

Процедуры и функции окончание Для обращения к функции используется ее имя

Процедуры и функции окончание

Для обращения к функции используется ее имя

со списком разделенных запятыми аргументов в круглых скобках, при этом каждому формальному параметру, указанному в заголовке функции, должен соответствовать аргумент того же типа. В отличие от имени процедуры имя функции может входить в выражения в качестве операнда, значение которого равно значению функции в зависимости от значений аргументов, например,
z:=x2y2(t,u); //Вызов функции.
При обращении к функции передача адреса или значения аргумента происходит так же, как и при обращении к процедуре.
При обращении к функции выполняются операторы ее блока с аргументами вместо формальных параметров.
Слайд 75

Работа с символами и строками начало Символьный тип данных (Char) используется

Работа с символами и строками начало

Символьный тип данных (Char) используется

для представления любого символа из набора допустимых символов. Для каждого символа отводится один байт памяти.
Пример описания (объявления) величин символьного типа:
Var a,s: char
К символам можно применять операции сравнения ( < , <= , = , > , >= , <> ), при этом сравниваются коды символов.
Слайд 76

Работа с символами и строками продолжение Некоторые функции для символьных величин:

Работа с символами и строками продолжение

Некоторые функции для символьных величин:

Слайд 77

Работа с символами и строками продолжение Строки представляют собой последовательности символов.

Работа с символами и строками продолжение

Строки представляют собой последовательности символов. Строки

при описании (объявлении) обозначаются ключевым словом String с возможным указанием максимальной длины строки, например:
Var s: string; t: string[30]
Длины строк в описаниях (объявлениях) можно задавать именованными константами.
Слайд 78

Работа с символами и строками продолжение Строки можно сравнивать между собой

Работа с символами и строками продолжение

Строки можно сравнивать между собой с

помощью операций сравнения, при этом справедливы, например, следующие соотношения:
'abc'>'ab'
'abc'='abc'
'abc'<'abc '
К отдельному символу строки можно обращаться как к элементу массива символов, например, s1[4].
Один символ из строки совместим с величиной типа Char и их можно использовать в выражениях одновременно.
Слайд 79

Работа с символами и строками продолжение При вводе и выводе может

Работа с символами и строками продолжение

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

имя строки, например:
readln(s1,s2);
writeln(s3);
При вводе в строку считывается количество символов, равное длине строки или меньшее, если клавиша Enter будет нажата раньше.
При выводе для строки отводится количество позиций, равное ее фактической длине.
Слайд 80

Работа с символами и строками продолжение Некоторые функции для работы со строками (начало):

Работа с символами и строками продолжение

Некоторые функции для работы со

строками (начало):
Слайд 81

Работа с символами и строками продолжение Некоторые функции для работы со строками (продолжение):

Работа с символами и строками продолжение

Некоторые функции для работы со

строками (продолжение):