56. Операторы ввода, вывода в Паскале. Операторы циклов 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;
- 1. Информатика. Предмет информатики. Основные задачи информатики.
- 2. Понятие сообщения, данных, сигнала.
- 3. Атрибутивные свойства информации.
- 4. Показатели качества информации, формы и способы представления информации.
- 5. Системы передачи информации.
- 6. Кодирование информации (текст, числа, цвет, графика, звук).
- 7. Позиционные системы счисления. Двоичное кодирование.
- 8. Меры и единицы количества и объема информации. Энтропия.
- 9. Логические основы эвм.
- 10. Логические операции: дизъюнкция, конъюнкция, отрицание, импликация, эквивалентность.
- 11. Предикаты. Операнды. Законы логического вывода.
- 12. История развития эвм. Поколения вычислительных средств.
- 13. Понятие и основные виды архитектуры эвм.
- 14. Архитектура эвм по Фон Нейману.
- 15. Состав и назначение основных элементов персонального компьютера, их характеристики.
- 16. Центральный процессор, системная шина.
- 17. Хранение информации: запоминающие устройства.
- 18. Озу, пзу, винчестер, накопители на гибких и компакт-дисках, стример, флэш.
- 19. Устройства ввода/вывода данных, их разновидности и основные характеристики.
- 20. Координатные устройства ввода. Видео- и звуковые адаптеры. Мониторы.
- 21. Сканеры. Принтеры. Плоттеры.
- 22. Программы и их типы. Понятие программного обеспечения.
- 23. Понятие системного программного обеспечения: назначение, возможности, структура.
- 24. Операционная система. Назначение, типы, особенности.
- 25. Утилиты (драйверы).
- 26. Файловая структура операционных систем. Операции с файлами.
- 27. Понятие служебного программного обеспечения.
- 28. Архиваторы, диспетчеры файлов, средства диагностики компьютера.
- 29. Прикладные программы их разновидности.
- 30. Технологии обработки текстовой информации.
- 31. Основы машинной графики: растровая, векторная, трехмерная.
- 32. Электронные таблицы.
- 33. Электронные презентации.
- 34. Основы баз данных и знаний.
- 35. Автоматизированный банк данных. Его функции и составляющие.
- 36. Системы управления базами данных. Модели данных.
- 37. Моделирование как метод познания. Понятие модели. Типы моделирования.
- 38. Классификация и формы представления моделей. Формализация.
- 39. Информационная модель объекта. Типы информационных моделей.
- 40. Методы и технологии моделирования. Требования к моделированию.
- 41. Компьютерное моделирование.
- 42. Алгоритмизация. Понятие алгоритма, его свойства.
- 43. Формы представления алгоритмов. Блок-схема алгоритма.
- 44. Основные алгоритмические конструкции. Базовые алгоритмы.
- 45. Программы линейной структуры.
- 46. Операторы ветвления.
- 47. Циклы. Виды и блок-схемы.
- 48. Интегрированные среды программирования.
- 49. Языки программирования высокого уровня.
- 50. Основные элементы языков программирования.
- 51. Эволюция и классификация языков программирования: неструктурные, структурные, логические, функциональные, объектно-ориентированные, языки программирования для баз данных и Интернета.
- 52. Структуры и типы данных языка программирования.
- 53. Тестирование программного обеспечения.
- 54. Этапы разработки программного обеспечения.
- 55. Структурное программирование на языке Паскаль. Типы данных.Константы. Переменные.
- 56. Операторы ввода, вывода в Паскале. Операторы циклов while, for, repeat.
- 57. Условный оператор if. Оператор выбора case. Массивы.
- 58. История создания компьютерных сетей.
- 59. Сетевые технологии обработки данных.
- 60. Основы компьютерной коммуникации.
- 61. Классификации вычислительных сетей.
- 62. Коммуникационное оборудование. Технология клиент-сервер.
- 63. Принципы построения вычислительных сетей. Основные топологии компьютерных сетей.
- 64. Интернет. Сетевой сервис и сетевые стандарты. Протокол tcp/ip.
- 65. Принцип работы в сети Интернет. Адресация в Интернете. Система доменных имен dns.
- 66. Программы для работы в Интернете. Сервис World Wide Web.
- 67. Язык разметки гипертекста (html).
- 68. Информационно-поисковые системы и каталоги. Поиск информации.
- 69. Электронная почта.
- 70. Защита информации в локальных и глобальных компьютерных сетях.
- 71. Шифрование данных. Электронная подпись.