Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Операторы ввода, вывода в паскале. Операторы циклов while, for, repeat





Для ввода исходных данных чаще всего используется процедура ReadLn:

ReadLn(A1,A2,...AK);

Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2,..., АК.

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

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

Не допускается разделение вводимых чисел запятыми!

 

назад содержание вперед

Вывод данных

Для вывода результатов работы программы на экран используются процедуры:

Write(A1,A2,...AK);

WriteLn(A1,A2,...AK);

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

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

Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

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

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

Пример записи операторов вывода:

var rA, rB: Real;

iP,iQ:Integer;

bR, bS: Boolean;

chT, chV, chU, chW: Char;

begin

...

WriteLn(rA, rB:10:2);

WriteLn(iP, iQ:8);

WriteLn(bR, bS:8);

WriteLn(chT, chV, chU, chW);

end.

Операторы цикла с последующим условием (REPEAT).

В операторе цикла repeat выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat.

REPEAT

Внутренний оператор;

UNTIL логическое выражение;

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

Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значения True. Последовательность операторов выполняется по крайней мере один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов.

Приведем примеры оператора repeat:

1)

repeat

K:=I mod J;

I:=J;

J:=K;

until J=O;

2)

repeat

Write (‘введите значение (0..9):’);

Readln (I);

until (I >=0) and (I <=9);

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

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

WHILE выражение DO

BEGIN

Внутренний оператор;

END;

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

Примерами оператора цикла while могут служить:

а)

while Data[I] <> X do

I:=I + 1;

б)

while I > 0 do

begin

if Odd(I) then Z:=Z * X;

I:=I div 2;

X:=Sqr(X);

end;

в)

while not Eof(InFile) do

begin

Readln (InFile, Line);

Process (Line);

end;

Операторы цикла с параметром (FOR).

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

FOR управляющая переменная:=исходное значение

TO конечное значение

DO оператор

Если управляющая переменная пробегает значения от большего значения к меньшему, то форма записи имеет вид:

FOR управляющая переменная:=исходное значение

DOWNTO конечное значение

DO оператор

В качестве управляющей переменной должен использоваться идентификатор переменной, который обозначает переменную, объявленную локальной в блоке, в котором содержится оператор for. Управляющая переменная должна иметь порядковый тип. Начальное и конечное значения должны иметь тип, совместимый по присваиванию с этим порядковым типом.

Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for.

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

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

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

Если принять во внимание эти ограничения, то оператор

for V:=E1 to E2 do Body;

эквивалентен оператору

begin

Temp1:=E1;

Temp2:=E2;

if Temp1 <=Temp2 then

begin

V:=Temp1;

Body;

while V <> Temp2 do

begin

V:=Succ(V);

Body;

end;

end;

end;

где Temp1 и Temp2 - вспомогательные переменные, тип которых совпадает с основным типом переменной V и которые не встречаются в другом месте программы.

Приведем примеры оператора цикла for:

1)

for I:=2 to 63 do

if Data[ I ] > Max then

Max:=Data[ I ];

2)

for I:=1 to 10 do

for J:=1 to 10 do

begin

X:=0;

for K:=1 to 10 do

X:=X + Mat1[I, K] * Mat2[K, J];

Mat [I, J]:=X;

end;

Date: 2015-11-13; view: 575; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию