Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

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

Записываем переменные X и Y и указываем для них тип данных Char. Теперь в эти переменные можно записывать символы, выводить их на экран и т.д.

Строка №7. Вводим с клавиатуры какие-нибудь символы. Одна переменная типа Char может содержать только один символ. Поэтому при вводе символов с клавиатуры, в переменную X запишется только один символ (первый). Поэтому, сколько бы символов мы не вводили с клавиатуры, на экран выведется только первый из этих символов.

 

Ввод числовых значений с клавиатуры.

Операторы ввода (чтения).
Ввод числовых данных, символов, строк и т.д. с клавиатуры обеспечивается операторами вызова стандартных процедур: READ(X1, Х2, ХЗ,...), или READLN(X1, Х2, ХЗ,...), где X1, Х2, ХЗ,... — идентификаторы скалярных переменных. Данные, соответствующие переменным X1, Х2, ХЗ, вводятся с клавиатуры и разделяются либо пробелом, либо Enter. После ввода последнего данного всегда нажимается клавиша Enter.
Отличие оператора READLN от READ заключается в том, что после считывания последнего в списке X1 Х2, ХЗ,... значения данные для следующего оператора READLN будут считываться с начала новой строки. То есть, если список ввода X1, Х2, ХЗ,... оператора READLN меньше чем число набранных в одну строку через пробел чисел, то оставшиеся в строке числа будут проигнорированы. Оператор READ сохранит оставшиеся числа для дальнейшего ввода. Вводимые данные должны строго соответствовать типам переменных, описанных в разделе VAR, в противном случае будут возникать сообщения об ошибках ввода. Оператор READLN без параметров вызывает приостановление программы до моментанажатия клавиши Enter.

 

 

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

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

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

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

Оператор goto осуществляет переход к оператору, помеченному специальной меткой, которая отделяется от самого оператора двоеточием. В качестве метки может быть использовано любое целое число без знака, содержащее более четырех цифр, или любое имя. Чтобы можно было использовать метку, она должна быть в обязательном порядке объявлена в разделе меток в описательной части программы. Этот раздел начинается служебным словом label, после которого через запятую перечисляются метки.

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

goto метка;

 

label goback;

var num: real;

 

begin

goback:

write ('Введите число: ');

readln (num);

 

if num < 0 then

goto goback;

 

num:= sqrt (num);

 

write ('Квадратный корень: ', num:5:2);

 

readln

end.

 

26) Оператор варианта Case.

Кроме оператора if в языке программирования Паскаль предусмотрен так называемый переключатель case. Его можно трактовать как некий вопрос, имеющий большое число ответов (а не только два, как это имеет место в операторе if- else). Однако в отличие от if, case имеет ряд принципиальных ограничений. Его формат следующий:

case селектор of

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

значение2: оператор2;

значение3: оператор3;

...

else операторN

end;

В заголовке оператора case вместо логического выражения фигурирует переменная, которую называют селектором. До этого в программе ей присваивается какое-либо значение. Эта переменная может иметь только перечисляемый тип (например, она не может быть вещественного типа). По ходу выполнения оператора case, значение переменной-селектора сравнивается с различными, описанными в нем альтернативами (метками-значениями). Как только совпадение будет найдено, то выполняется блок кода при данной метке и происходит выход в основную ветку программы. Значения-метки являются константами, которые может принимать селектор. Их тип и тип селектора должны быть совместимы по присваиванию.

Если совпадений не будет, то выполняется блок else. Если блок else отсутствует (он является не обязательным), то никакой блок кода в операторе case не выполняется.

var n: integer;

Begin

write ('Введите класс школы: ');

readln (n);

 

case n of

1..4: writeln ('Младшие классы.');

5..8: writeln ('Средняя школа.');

9,11: writeln ('Старшие классы. Выпускной.');

10: writeln ('Старшие классы.');

else writeln ('Error')

end;

 

readln

end.

На использование оператора выбора накладываются следующие ограничения:

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

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

 

 

Оператор цикла While.

Цикл while

Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.

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

Var

i, n: integer;

 

Begin

write ('Количество знаков: ');

readln (n);

 

i:= 1;

while i <= n do begin

write ('(*) ');

i:= i + 1

end;

 

readln

end.

 

 

Описание и вызов подпрограммы-процедуры.

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

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

На этом уроке вы научитесь определять и вызывать пользовательские процедуры.

Описание процедуры

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

В разделе описаний процедуры и функции определяют после раздела описания переменных (после раздела Var) и до до начала раздела операторов (до слова Begin).

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

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

Общий вид процедуры:

Procedure <имя>[<список формальных параметров с указанием типов>]; <раздел описаний>Begin <операторы>End;

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

Через параметры-значения в подпрограмму поступает входная информация. Перед ними слово Var не ставится и идет передача по значению, то есть передается только копия значений этих параметров.

Через параметры- переменные из подпрограммы в основную программу передаются результаты. Перед параметрами-переменными ставится служебное слово Var.

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

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

Общий вид вызова процедуры:

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

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 463; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.68.161 (0.007 с.)