Разделы презентаций


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

Содержание

Условный оператор. Условный оператор – средство разветвления вычислительного процесса в зависимости от значения условного выражения (правда – ложь).IF < условие > THEN < операторы_1 >

Слайды и текст этой презентации

Слайд 1ОПЕРАТОРЫ ЯЗЫКА.
Типы скобок

Begin …… end - операторные скобки:
[ ]

- индексирование и описание массивов;
( )

- параметры процедур и функции;
{ }, (* *) - комментарии.
ОПЕРАТОРЫ ЯЗЫКА.Типы скобокBegin …… end  - операторные скобки:[ ]   - индексирование и описание массивов;(

Слайд 2Условный оператор.
Условный оператор – средство разветвления вычислительного процесса в зависимости

от значения условного выражения (правда – ложь).
IF

условие > THEN
< операторы_1 >
ELSE
<операторы_2>

Вначале вычисляется «условие».
Если оно – «правда», то выполняются < операторы_1 > и управление передается на конец оператор IF.
Если оно – «ложь», то выполняются < операторы_2 >. Часть оператора ELSE может быть опущена и тогда в случае «ложь» весь оператор IF как бы пропускается.
Условный оператор.		Условный оператор – средство разветвления вычислительного процесса в зависимости от значения условного выражения (правда – ложь).IF

Слайд 3
< Операторы_1> и < операторы_2 > - операторы любого типа,

в том числе, и условные.
В последнем случае возникает вложенная

логическая конструкция. На некоторых уровнях вложенности может отсутствовать часть ELSE. Чтобы не было путаницы уровней вложенности, существует правило – часть ELSE соответствует ближайшей к ней «сверху» части THEN условного оператора.
< Операторы_1> и < операторы_2 > - операторы любого типа, в том числе, и условные. В последнем

Слайд 41. Разводка на 4 потока
Var a,b,c,d,s:integer;
BEGIN
……………………
if a

s:=100
else
begin

if c s:=101
else
begin
if c<0 then
s:=102
else
s:=10;
end;
end;
writeln(s);
readln;
END.
1. Разводка на 4 потокаVar a,b,c,d,s:integer;BEGIN…………………… if a

Слайд 6 Логическое «И»

var
a,b,c,d:integer;
label 2;
BEGIN
writeln('a,b,c');
readln(a,b,c);
if a>0

then
if b>0 then

if c>0 then
writeln('operator-1')
else
goto 2
else
goto 2
else
2: writeln('operator-4');
readln;
END.
Логическое «И»var a,b,c,d:integer; label 2;BEGIN writeln('a,b,c'); readln(a,b,c); if a>0 then   if b>0 then

Слайд 7label 1;
var a,b,c,d:integer;
BEGIN
writeln('a,b,c');
readln (a,b,c);

if (a>0) then
begin

if (b>0) then
begin
if (c>0) then
begin
writeln('block yes');
goto 1;
end
end
end;
writeln('block no');
1: readln;
END.
label 1;var a,b,c,d:integer; BEGIN  writeln('a,b,c');  readln (a,b,c);  if (a>0) then    begin

Слайд 8
a>0
b>0
c>0
operator-4
operator-1
ДАЛЕЕ
ДА
ДА
ДА
НЕТ
НЕТ
НЕТ
If ((a>0) and (b>0) and (c>0)) then

writeln('operator-1')
else
writeln('operator-4')





a>0b>0c>0operator-4operator-1ДАЛЕЕДАДАДАНЕТНЕТНЕТIf ((a>0) and (b>0) and (c>0)) then    writeln('operator-1')else    writeln('operator-4')

Слайд 9Логическое «ИЛИ»
var a,b,c,d:integer;
label 2;
BEGIN
writeln('a,b,c');
readln(a,b,c);
if a>0 then

goto 2
else
if b>0 then

goto 2
else
if c>0 then
2: writeln('operator-1')
else
writeln('operator-4');
readln;
END.
Логическое «ИЛИ» var a,b,c,d:integer; label 2;BEGIN writeln('a,b,c'); readln(a,b,c); if a>0 then goto 2  else

Слайд 10
a>0
b>0
c>0
operator-1
operator-4
ДАЛЕЕ
ДА
ДА
ДА
НЕТ
НЕТ
НЕТ
If ((a>0) or (b>0) or (c>0)) then

writeln('operator-1')
else
writeln('operator-4');





a>0b>0c>0operator-1operator-4ДАЛЕЕДАДАДАНЕТНЕТНЕТIf ((a>0) or (b>0) or (c>0)) then    writeln('operator-1')else    writeln('operator-4');

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

программы. Определение направления движения связано с ключом – выражением любого

порядкового типа.


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

Слайд 12Вычисляется значение ,
В последовательности операторов отыскивается

оператор, константа (метка) которого совпадает с ключом выбора.
Одному пункту

выбора может соответствовать несколько констант выбора.
Выбранный оператор выполняется, и оператор CASE в целом завершает свою работу.
Если в списке выбора не будет найдена константа, соответствующая ключу выбора, то управление передается оператору, следующему за оператором ELSE , и затем оператор выбора завершает свою работу.
Часть {ELSE <оператор>} может быть опущена, тогда, если значение ключа не соответствует списку выбора, оператор CASE завершает свою работу и выполнение задания передается следующему за ним оператору.
Вычисляется значение , В последовательности операторов  отыскивается оператор, константа (метка) которого совпадает с ключом выбора. Одному

Слайд 13
Пример:
Var
i:integer;
BEGIN
Read (i);
CASE i

OF
1 : writeln(‘красный’);
2 : writeln(‘синий’);

3 : writeln(‘зеленый’);
4 : writeln(‘голубой’);
else
writeln(‘белый’);
END;
END.

Пример: Var   i:integer;BEGINRead (i);  CASE  i  OF 1 :  writeln(‘красный’); 2

Слайд 14Пример:
Var
Ch:char;
BEGIN
Read (ch);
CASE ch

OF
‘n’, ‘N’: writeln(‘no’);
‘y’, ‘Y’:

writeln(‘yes’);
END;
END.
Пример: Var   Ch:char;BEGINRead (ch);  CASE  ch  OF  ‘n’, ‘N’:  writeln(‘no’);

Слайд 15Операторы повторения.
Повторение операций заданное число раз вне зависимости от условий.
Повторение

операций пока справедливо логическое условие.
Повторение операций пока логическое условие ложно.


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

Слайд 16
Циклы применяются как для работы с индексированными переменными, индексы которых

совпадают по имени с переменными цикла, так и для расчетов,

когда в теле цикла изменение переменных не связано напрямую с переменными цикла.
Возможны варианты, когда используется сложные конструкции вложенных циклов в различных сочетания операторов «for», «while» и «repeat».
Циклы применяются как для работы с индексированными переменными, индексы которых совпадают по имени с переменными цикла, так

Слайд 17Различие операторов «while» и «repeat».
«while» - Если в процессе работы

логическое условие в принципе не может быть нарушено
«repeat» -

Если в процессе работы тело цикла в принципе должно быть выполнено хотя бы один раз.
Различие операторов «while» и «repeat».«while» - Если в процессе работы логическое условие в принципе не может быть

Слайд 18
Переменная цикла i не может принимать значения вне диапазона, указанного

в описании массива array [m..n].
m, n –целые числа или символы
В

указанном диапазоне можно задавать произвольные начальные и конечные значения переменной цикла .
Переменная цикла i не может принимать значения вне диапазона, указанного в описании массива array [m..n].	m, n –целые

Слайд 19Проверка машинного eps (машинная точность).

Var
eps:real;
BEGIN
eps:=1;
while eps/2 + 1 > 1

do
eps:=eps/2;
Writeln(‘машинное число ‘, eps);
END.

Проверка машинного eps (машинная точность).Vareps:real;BEGINeps:=1;while eps/2 + 1 > 1  do   eps:=eps/2;Writeln(‘машинное число ‘,

Слайд 20Ввод символов.
Var
ch:char;
Const
cr=13; {код клавиши ввода }
BEGIN
Repeat
Readln(ch);

Writeln(ch,’ = ‘, ORD(ch));
Until ORD(ch)=cr
END.

Ввод символов. Var	ch:char;Const	cr=13; {код клавиши ввода }BEGINRepeat  Readln(ch);  Writeln(ch,’ = ‘, ORD(ch));Until ORD(ch)=crEND.

Слайд 21Заполнить массив вещественными числами от 0 до 1 с шагом

0.1.
Var
i:integer;
h:real;
bm: array [0..10] of real;
BEGIN
h:=0.1;
for i:=0

to 10 do
bm[i]:= i*h;

Заполнить массив вещественными числами от 0 до 1 с шагом 0.1. Var	i:integer;	h:real;	bm: array [0..10] of real;BEGIN h:=0.1;

Слайд 22Заполнить двухмерный массив вещественными числами от 0 до 1, используя

генератор случайных чисел.
Var
i,j:integer;
h:real;
dm: array [0..5,0..10] of real;
BEGIN
Randomize;
for i:=0 to

5 do {строки}
for j:=0 to 10 do {столбцы}
dm[i,j]:= random; {запись по столбцам, т.е. запись строки}
Заполнить двухмерный массив вещественными числами от 0 до 1, используя генератор случайных чисел. Var	i,j:integer;	h:real;	dm: array [0..5,0..10] of

Слайд 23Разборка текстовых массивов по поддиапазонам через внутренние коды.
Var i,j:integer;

a:array [1..10] of string[10];
sn:array [97..105] of integer;
BEGIN
clrscr;
for i:=1

to 10 do
readln(a[i]);
for i:=1 to 10 do
begin
j:=ord(a[i,1]);
sn[j]:=sn[j]+1;
end;
for j:=97 to 105 do
writeln(sn[j]);
readln;
END.
Разборка текстовых массивов по поддиапазонам через внутренние коды.Var  i,j:integer; a:array [1..10] of string[10]; sn:array [97..105] of

Слайд 24Разборка текстовых массивов по поддиапазонам через символы кодов.
Var i:integer;

c,j:char;
a:array [1..30] of string[10];
sn:array ['a'..'z'] of integer;
BEGIN
for i:=1

to 30 do
readln(a[i]);
for i:=1 to 30 do
begin
c:=a[i,1];
sn[c]:=sn[c]+1;
end;
for j:='a' to 'z' do
writeln(sn[j]);
readln;
END.
Разборка текстовых массивов по поддиапазонам через символы кодов. Var  i:integer; c,j:char; a:array [1..30] of string[10]; sn:array

Слайд 25Разборка массива случайных чисел по подинтервалам.
var
i,j:integer;
a:array [1..100] of

real;
sn:array [1..10] of integer;
BEGIN
for i:=1 to 100 do

a[i]:=random;
for i:=1 to 100 do
begin
j:=trunc(a[i]*10)+1;
sn[j]:=sn[j]+1;
end;
for j:=1 to 10 do
writeln(sn[j]);
readln;
END.
Разборка массива случайных чисел по подинтервалам. var i,j:integer; a:array [1..100] of real; sn:array [1..10] of integer;BEGIN for

Слайд 26ФАЙЛЫ
Файл – поименованная область внешней памяти или логическое устройство (потенциальный

источник или приемник информации).
Файл имеет три характерные особенности:
Он имеет имя,

что позволяет программе одновременно работать с несколькими файлами;
Содержит компоненты одного типа;
Длина вновь открываемого файла не оговаривается при его открытии.
ФАЙЛЫФайл – поименованная область внешней памяти или логическое устройство (потенциальный источник или приемник информации).Файл имеет три характерные

Слайд 27
При работе с файлами необходимо описать их тип (т.е. тип

той информации, которая хранится в файле).
Само имя файла может

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

Слайд 28Файловый тип или файловая переменная
= FILE OF ;

- файловой переменной
- любой тип Паскаля кроме файла.

= TEXT;
<Имя> = FILE;
Пример:
Type Product = record;
Name: string;
Code : word;
Cost : real;
End;
Text80 = file of string [80];
Var f1: file of char; - типизированный
f2: text; -текстовый
f3: file;- нетипизированный
f4:text80; - типизированный
f5:file of product; - типизированный

Файловый тип или файловая переменная = FILE OF ;  - файловой переменной  - любой тип

Слайд 29Доступ к файлам.
Любой программе доступны два, предварительно объявленных в операторе

PROGRAM, файла – INPUT и OUTPUT
INPUT - для

чтения данных с клавиатуры.
OUTPUT - для вывода данных на экран.
Любые другие файлы доступны только после выполнения процедуры открытия файла, т.е. сопоставления ранее объявленной файловой переменной с именем существующего или вновь создаваемого файла, а также с указанием способа обмена информацией – чтением или записью.
Доступ к файлам.Любой программе доступны два, предварительно объявленных в операторе   PROGRAM, файла – INPUT и

Слайд 30Процедуры открытия файла
ASSIGN( , имя_файла)
ASSIGN (f,’ ’) - связь

с INPUT или OUTPUT
При необходимости в имени файла указывается

путь доступа к нему.
Имя файла должно иметь собственно имя и расширение, которое, вообще говоря, не является обязательным.
Имя_файла.расширение

Пример: Abc.pas, defg.for
Процедуры открытия файлаASSIGN( , имя_файла)ASSIGN (f,’ ’) - связь с INPUT или OUTPUT При необходимости в имени

Слайд 31Инициализация файла.
Инициализация файла на чтение или запись осуществляется следующим образом:
RESET(

> ) –инициализация на чтение
REWRITE( )- инициализация на запись
APPEND(

< ф.переменная >) - инициализация на запись в уже существующий файл. (Только для текстовых файлов).
CLOSE(<ф.переменная >) закрывает файл для операций. Если не закрыть файл, то информация может быть потеряна.

Инициализация файла.	Инициализация файла на чтение или запись осуществляется следующим образом:RESET( ) –инициализация на чтениеREWRITE( )- инициализация на

Слайд 32Var
f1:text;
i:integer;
a: array [1..10] of

real;
Begin
Assign (f1,’vxod.dat’);
Reset(f1);
for i:=1 to

10 do
Readln(f1,a[i]);
Close(f1);
…. …..
End.
Var  f1:text;  i:integer;  a: array [1..10] of real;Begin  Assign (f1,’vxod.dat’);  Reset(f1);

Слайд 33Текстовые файлы
Текстовые файлы объявляются предложением TEXT и предназначены для хранения

текстовой информации.
Компоненты (записи) текстового файла могут иметь переменную длину,

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

Слайд 34
Существует ряд встроенных процедур для работы с файлами.
При создании

текстового файла в конце каждой строки ставится специальный признак EOLN

(конец строки).
EOLN - последовательность кодов ASCII : |
13 (CR) – перевод каретки; |
10 (LF) – перевод строки. : | Вводятся при нажатии ENTER.

EOF 26 (EOF) - конец файла (CTRL – Z).
Существует ряд встроенных процедур для работы с файлами. При создании текстового файла в конце каждой строки ставится

Слайд 35Логическая функция
EOLN () возвращает TRUE, если

во входном текстовом файле достигнут маркер конца строки.
Логическая функция

EOF(< файловая переменная >)
тестирует конец файла, возвращает TRUE, если файловый указатель находится в конце файла.
Можно использовать в циклах с пред- и постусловиями. Если файловый указатель стоит в конце файла, то при чтении это означает, что файл исчерпан, при записи – означает, что очередной компонент будет добавлен в конец файла.
Логическая функция  EOLN () возвращает TRUE, если во входном текстовом файле достигнут маркер конца строки.Логическая функция

Слайд 36Функция SEEKEOLN () пропускает все пробелы и знаки табуляции

до маркера конца строки или до первого значащего символа и

возвращает TRUE, если маркер обнаружен.
Функция SEEKEOF (<ф.переменная >) пропускает все пробелы и знаки табуляции и маркеры конца строки до маркера конца файла или до первого значащего символа и возвращает TRUE, если маркер конца файла обнаружен.

Функция SEEKEOLN () пропускает все пробелы и знаки табуляции до маркера конца строки или до первого значащего

Слайд 37Типизированные файлы.
Длина любого компонента типизированного файла строго постоянна, что дает

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

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

Слайд 39
Процедура SEEK( ,) смещает указатель файла к

требуемому компоненту. Файловая переменная должна быть объявлена предложением FILE OF

……
Процедура SEEK( ,) смещает указатель файла к требуемому компоненту. Файловая переменная должна быть объявлена предложением FILE OF

Слайд 40Нетипизированные файлы.
Нетипизированные файлы объявляются предложением FILE. При работе с этими

файлами применимы все процедуры типизированных файлов, кроме READ и WRITE.

Нетипизированные файлы.Нетипизированные файлы объявляются предложением FILE. При работе с этими файлами применимы все процедуры типизированных файлов, кроме

Слайд 41Ввод и вывод данных.
READ, READLN, WRITE, WRITELN.
Синтаксис команд имеет вид
READ

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

ввода >).
В первой записи чтение идет из внешнего файла, во второй – вводятся данные с клавиатуры. Список ввода – переменная или последовательность нескольких переменных типа целых или вещественных чисел, а также символьных переменных типа символа или строки.
Ввод и вывод данных.READ, READLN, WRITE, WRITELN.Синтаксис команд имеет видREAD (< файловая переменная >, < список ввода

Слайд 42 Процедура READ считывает строку до достижения указателем файла символа конца

строки (CR или EOF).
Для типа CHAR считывается один символ,


для типа STRING считывается информация до конца объявленной длины строки или до символа конца строки CR. Далее будут считываться пустые строки, т.к. эта процедура не может считывать последовательность строк. Последовательность строк считывается процедурой READLN.
Процедура READ считывает строку до достижения указателем файла символа конца строки (CR или EOF). Для типа CHAR

Слайд 43Var a,b,c,d:char;
Read ( a )
Ввод – sfg, считается только

s a
Read (a,b,c,d);
Ввод – s f

g r, то считаются
s a, b, f c , d





































Var  a,b,c,d:char;	Read ( a )	Ввод – sfg, считается только s  aRead (a,b,c,d);	Ввод – s

Слайд 44
Var a:string[5];
Read ( a )
Ввод – sdfghjk, считываются только

первые пять символов sdfgh a


Var  a:string[5];	Read ( a )	Ввод – sdfghjk, считываются только первые пять символов sdfgh   a

Слайд 45Для числовых переменных READ сначала выделяет подстроку во входном потоке

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

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

Слайд 46
Для числовых переменных read сначала выделяет подстроку во входном потоке

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

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

Слайд 47Пример: Ввести значения для переменных a, b, c типа real.
read(a,b,c)
С

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

подстроки, и следующая информация считывается, начиная с текущей позиции маркера.
Поэтому процедуру read нельзя использовать для считывания последовательности строк.
Пример: Ввести значения для переменных a, b, c типа real.read(a,b,c)С клавиатуры вводим запись –После считывания первого числа-маркер

Слайд 48
маркер смещается в конец подстроки, и следующая информация считывается, начиная

с текущей позиции маркера. Поэтому процедуру read нельзя использовать для

считывания последовательности строк.
Процедура readln после считывания последней переменной из списка ввода оставшуюся часть строки от текущего положения маркера считывания до маркера конца строки EOLN отбрасывает. Обращение к следующей строке идет с первой позиции.
маркер смещается в конец подстроки, и следующая информация считывается, начиная с текущей позиции маркера. Поэтому процедуру read

Слайд 49 Аналогичным образом работают процедуры WRITE и WRITELN.
Запись WRITELN(a:8:2) означает, что

выводится вещественное число «a», занимающее 8 позиций, включая десятичную точку,

в том числе 2 позиции отводятся под десятичные знаки.
Запись WRITELN(b:4) означает, что выводится целое число «b», занимающее 4 позиций.
Несоответствие форматов не объявляется фатальной ошибкой. Число выводится даже, если нарушен размер формата (число знаков).
Аналогичным образом работают процедуры WRITE и WRITELN.		Запись WRITELN(a:8:2) означает, что выводится вещественное число «a», занимающее 8 позиций,

Слайд 50
Для нетипизированных файлов процедуры ввода и вывода информации – BLOCKREAD,

BLOCKWRITE.
BLOCKREAD ( , , , []

)
BLOCKWRITE( <ф.п >, <буф >, , [] )
<ф.п > - файловая переменная,
<буф > - буфер – имя переменной, которая будет участвовать в обмене данными с дисками.
- количество записей, которые будут записаны или прочитаны за одно обращение к диску.
- необязательный параметр, количество фактически обработанных записей при выходе из процедуры.
Для нетипизированных файлов процедуры ввода и вывода информации – BLOCKREAD, BLOCKWRITE.BLOCKREAD ( , , , [] )

Слайд 51const
RecS=1024;
Var
fi,fo:file;
buf:array [1..Recs] of byte;

i:word;
BEGIN
assign(fi,'vxd.dat');
assign(fo,'vyxd.dat');
reset(fi,Recs);
rewrite(fo,Recs);

while not EOF(fi) do
begin
Blockread(fi,buf,1,i);
Blockwrite(fo,buf,1);
end;
writeln(' i=', i);
close(fi);
close(fo);
END.
const  RecS=1024;Var  fi,fo:file;  buf:array [1..Recs] of byte;  i:word;BEGIN  assign(fi,'vxd.dat');  assign(fo,'vyxd.dat');

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

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


Для правообладателей

Яндекс.Метрика