Всё для Web Дизайнера - Pascal: Учим Turbo Pascal, введение в Turbo Pascal, основные понятия системы программирования Турбо Паскаль, основные понятия системы программирования Турбо Паскаль(Продолжение), операторы языка Паскаль, процедуры и функции, массивы, графика в системе Турбо Паскаль, графика в системе Турбо Паскаль(продолжение), графика в системе Турбо Паскаль, циклы в графике. Html, css, cgi, php, python, mysql, delphi, pascal, раскрутка сайта,  дизайн навигации, оптимизация страниц сайта, регистрация в поисковиках, шрифты, иконки, звуки, графика, картинки, обои для рабочего стола, Xak, Графика и анимация, Обои, Регистрационные ключи, лекарство для программ, взлом программ, взлом и интернет, хакеры, спам, вирусы, 3D Max, Corel Draw, Flash, Dreamweaver, Учим Turbo Pascal, введение в Turbo Pascal, основные понятия системы программирования Турбо Паскаль, основные понятия системы программирования Турбо Паскаль(Продолжение), операторы языка Паскаль, 
процедуры и функции, массивы, графика в системе Турбо Паскаль, графика в системе Турбо Паскаль(продолжение), графика в системе Турбо Паскаль, циклы в графике.

Программирование
Web мастеру
3D Графика и анимация
Сетевая безопасность

Гостевая книга
Форум
Ссылки
Услуги

Rambler's Top100
TopCTO Компьютеры цены продажа


Компьютеры

Назад     Читать дальше
На главную страницу > > В раздел программирование > > В раздел Pascal

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

Общие сведения
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Основная часть программы на языке Турбо Паскаль представляет собой последовательность операторов. Разделителем операторов служит точка с запятой. Операторы, не содержащие других операторов, называются простыми. К ним относятся операторы присваивания, безусловного перехода, вызова процедуры, пустой. Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам. Эти операторы можно разделить на три группы: составные, условные и повтора.
Глава 2. Операторы языка Паскаль
Оператор присваивания
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Основная часть программы на языке Турбо Паскаль представляет собой последовательность операторов. Разделителем операторов служит точка с запятой. Операторы, не содержащие других операторов, называются простыми. К ним относятся операторы присваивания, безусловного перехода, вызова процедуры, пустой. Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам. Эти операторы можно разделить на три группы: составные, условные и повтора.
Глава 2. Операторы языка Паскаль
Оператор вызова процедуры
Оператор вызова процедуры служит для активизации стандартной процедуры или процедуры, определенной пользователем. Стандартные процедуры находятся в файлах, подключаемых модулем и для их использования достаточно указать имя процедуры, и если необходимо дополнительные параметры. Для того, чтобы вызвать свою процедуру, ее для этого надо описать перед началом программы (begin), а затем уже использовать.
Например, ClrScr; {Вызов стандартной процедуры очистки экрана}. Подробное рассмотрение данной темы приведено в части 3.
Глава 2. Операторы языка Паскаль
Оператор безусловного перехода
Оператор безусловного перехода (go to) означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой, оператор. Общий вид: go to <метка>.
Метка объявляется в разделе описания меток и состоит из имени и следующего за ним двоеточия. Имя метки может содержать цифровые и буквенные символы, максимальная длина имени ограничена 127 знаками. Раздел описания меток начинается зарезервированным словом Label, за которым следует имя метки.
Пример.
Program primer;
Label 999, metka;
Begin
….
Go to 999;

999: write (‘ Имя’);

Go to metka;
….
Metka: write(‘Фамилия’);

end.
Использование безусловных передач управления в программе считается теоретически избыточным и подвергается критике, так как способствует созданию малопонятных и трудномодифицируемых программ, которые вызывают сложности при отладке. Поэтому рекомендуется минимальное использование оператора безусловного перехода с соблюдением следующих правил:
· Следует стремиться применять операторы перехода для передачи управления только вниз (вперед) по тексту программы;
· Расстояние между меткой и оператором перехода на нее не должно превышать одной страницы текста (или высоты экрана дисплея).
Глава 2. Операторы языка Паскаль
Пустой оператор
Пустой оператор не содержит никаких символов и не выполняет никаких действий. Используется для организации перехода к концу блока в случаях, если необходимо пропустить несколько операторов, но не выходить из блока. Для этого перед зарезервированным словом end ставятся метка и двоеточие, например:
Label m;

begin

go to m;

m:
end;
Глава 2. Операторы языка Паскаль
Структурные операторы
Структурные операторы представляют собой конструкции, построенные из других операторов по строгим правилам. Их можно разделить на три группы: составные, условные и повтора. Применение структурных операторов в вашей программе очень часто просто незаменимо, потому что они позволяют программисту сделать его программу зависимой от каких-либо условий, например введенных пользователем. К тому же применяя операторы повтора вы получаете возможность обрабатывать большие объемы данных за сравнительно малый отрезок времени (это конечно же зависит и от процессора:)
Глава 2. Операторы языка Паскаль
Составной оператор
Это оператор представляет собой совокупность произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end. Он воспринимается как единое целое и может находиться в любом месте программы, где возможно наличие оператора.
Глава 2. Операторы языка Паскаль
Условные операторы
Условные операторы предназначены для выбора к исполнению одного из возможных действий, в зависимости от некоторого условия (при этом одно из действий может отсутствовать). Для программирования ветвящихся алгоритмов в Турбо Паскале есть специальные операторы. Одним из них является условный оператор If. Это одно из самых популярных средств, изменяющих порядок выполнения операторов программы.
Он может принимать одну из форм:
If <условие> then <оператор1>
else<оператор2>;
или
If <условие> then <оператор>;
Оператор выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисление получается значение логического (булевского) типа. Если это значение – «истина», то выполняется оператор1, указанный после слова then. Если же в результате имеем «ложь», то выполняется оператор2. В случае, если вместо оператора1 или оператора2 следует серия операторов, то эту серию операторов необходимо заключить в операторные скобки begin…end.
Обратить внимание, что перед словом else точка с запятой не ставится.
Пример 1. Составить программу, которая запрашивает возраст ребенка и затем выдает решение о приеме ребенка в школу (возраст і 7лет).
Program sh;
Var v: integer;
Begin
Write(‘Введите возраст ребенка’);
Readln(v);
If v>=7 then writeln(‘Принимаем в школу’)
else writeln (‘Не принимаем в школу’);
end.
Задание. Модифицировать данную программу, чтобы ограничить верхнюю границу приема в школу 16 годами.
Решение:
Program sh;
Var v: integer;
Begin
Write(‘Введите возраст ребенка’);
Readln(v);
If (v>=7) and (v<=16) then writeln(‘Принимаем в школу’)
else writeln (‘Не принимаем в школу’);
end.
Пример 2. Даны два числа. Меньшее из этих чисел заменить суммой данных чисел, большее - произведением.
Program sh;
Var x, y,s,p: integer;
Begin
Write(‘Введите 2 числа’);
Readln(x, y);
S:=x+y; p:=x*y;
If x>=y
then begin y:=s; x:=p; end
else begin x:=s; y:=p; end;
writeln(‘x=’, x);
writeln(‘y=’, y);
end.

Если оператор If обеспечивает выбор из двух альтернатив, то существует оператор, который позволяет сделать выбор из произвольного числа вариантов. Это оператор выбора Case. Он организует переход на один из нескольких вариантов действий в зависимости от значения выражения, называемого селектором.

Общий вид: Case k of
<const1>: <оператор1>;
<const2>: <оператор2>;
…..
<constN>: <операторN>
else <операторN+1>
end;
Здесь k – выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). <const1>, …<constN> - константы того же типа, что и селектор.
Оператор Case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна значению селектора, то выполняется оператор, стоящий за словом else. Если же это слово отсутствует, то активизируется оператор, находящийся за границей Case, т.е. после слова end.
При использовании оператора Case должны выполняться следующие правила:
1. Выражение-селектор может иметь только простой порядковый тип (целый, символьный, логический).
2. Все константы, которые предшествуют операторам альтернатив, должны иметь тот же тип, что и селектор.
3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора.
Формы записи оператора:
Селектор интервального типа:
Case I of
1..10 : writeln(‘число в диапазоне 1-10’);
11.. 20 : writeln(‘число в диапазоне 11-20’);
else writeln(‘число вне пределов нужных диапазонов’)
end;
Селектор целого типа:
Case I of
1 : y:= I+10;
2 : y:= I+20;
3: y:= I +30;
end;
Пример 1. Составить программу, которая по введенному номеру дня недели выводит на экран его название.
Program days;
Var day:byte;
Begin
Write(‘Введите номер дня недели’);
Readln(day);
Case day of
1: writeln(‘Понедельник’);
2: writeln(‘Вторник’);
3: writeln(‘Среда’);
4: writeln(‘Четверг’);
5: writeln(‘Пятница’);
6: writeln(‘Суббота’);
7: writeln(‘Воскресенье’)
else writeln(‘Такого дня нет’);
end; end.
Пример 2. Составить программу, которая по введенному номеру месяца выводит на экран название времени года.
Program m;
Var k:byte;
Begin
Write(‘Введите номер месяца’);
Readln(k);
Case k of
1, 2, 12: writeln(‘Зима’);
3, 4, 5: writeln(‘Весна’);
6, 7, 8: writeln(‘Лето’);
9, 10, 11: writeln(‘Осень’)
else writeln(‘Такого месяца нет’);
end; end.
Глава 2. Операторы языка Паскаль
Операторы повтора (цикла)
Если в программе возникает необходимость неоднократного выполнения некоторых операторов, то для этого используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).
Если число требуемых повторений заранее известно, то используется оператор, называемый оператором цикла с параметром.
Оператор цикла с параметром имеет два варианта записи:
1) for <имя переменной> := <начальное значение> to <конечное значение> do
<тело цикла>
2) for <имя переменной> := <начальное значение> downto <конечное значение> do
<тело цикла>
Имя переменной – параметр цикла, простая переменная целого типа; <тело цикла> - операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором - уменьшается на 1.
При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.
1. Проверяется условие параметр цикла <= конечному значению.
2. Если условие выполнено, то оператор продолжает работу (выполняется оператор в теле цикла), если условие не выполнено, то оператор завершает работу и управление в программе передается на оператор, следующий за циклом.
3. Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).
Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;
Пример 1. Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.
Program zf;
Var i:integer; f:real;
Begin
Writeln(‘Температура’);
For i:=15 to 30 do
Begin
F:=i*1.8+32;
Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);
End;
End.
Пример 2. Вывести на экран натуральные числа от 1 до 9 в обратном порядке.
Program z;
Var i:integer;
Begin
For i:=9 downto 1 do
Writeln(i);
End.
Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.
Общий вид: While <условие продолжения повторений> do
<тело цикла>;
Тело цикла – простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end.
Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат – «истина», тело цикла выполняется и снова вычисляется выражение условия. Если результат–«ложь», происходят выход из цикла и переход к первому после while оператору.
Пример. Найти сумму 10 произвольных чисел.
Program z;
Const
N=10;
Var k, x, s: integer;
Begin
k:=0; s:=0; {k- количество введенных чисел}
while k < n do
begin
k:=k+1;
write(‘Введите число’);
readln(x);
s:=s+x;
end;
writeln(‘Сумма чисел равна’, s);
end.

Оператор цикла repeat аналогичен оператору while, но отличается от него, во-первых, тем, что условие проверяется после очередного выполнения операторов тела цикла и таким образом гарантируется хотя бы однократное выполнение цикла. Во-вторых, тем, что критерием прекращения цикла является равенство выражения константе true . За это данный оператор часто называют циклом с постусловием, так как он прекращает выполняться, как только условие, записанное после слова until, выполнится. Оператор цикла repeat состоит из заголовка, тела и условия окончания.
Общий вид: Repeat
<оператор>
. . . . .
<оператор>
until <условие окончания цикла>
Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. В любом случае этот цикл выполняется хотя бы один раз. Если условие не выполняется, т.е. результатом выражения является False, то цикл активизируется еще раз. Если условие выполнено, то происходит выход из цикла. Использования операторных скобок, в случае, если тело цикла состоит из нескольких операторов, не требуется.
Пример. Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.
Program s;
Var x, s:integer;
Begin
S:=0;
Repeat
Write(‘Ввести число’);
Readln(x);
If x<>999 then s:=s+x;
Until x=999;
Writeln(‘Сумма введенных чисел’, s);
End.
Назад     Читать дальше
На главную страницу > > В раздел программирование > > В раздел Pascal

Hosted by uCoz