Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algoritm.doc
Скачиваний:
42
Добавлен:
13.02.2015
Размер:
923.14 Кб
Скачать

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

Решение любой задачи на ЭВМ не обходится без операций ввода-вывода информации. Ввод данных– это передача информации с периферийного устройства в оперативную память для обработки.Вывод– обратный процесс, когда данные передаются после обработки из оперативной памяти на периферийное устройство, которым может служить монитор, принтер, магнитный диск и другие устройства.

Данные и результаты вычислений относятся к определённому типу. Тип данныхопределяет множество значений, которые могут принимать переменные, константы, функции, выражения; объём требуемой памяти и совокупность операций, допустимых над этими значениями. Все типы данных языка Паскаль можно разделить на простые и сложные (структурированные). К простым типам относятся целые, вещественные, логический, символьный. Сложные типы данных представляют собой различные комбинации простых типов (строки, массивы, множества, записи, файлы и др.). Основные простые типы данных представлены в табл. 4.1.

Таблица 4.1.

Характеристика простых типов данных языка Паскаль

Тип

Тип

Диапазон

Объём

Примеры записи

данных

Паскаля

значений

памяти, Бт

На Паскале

Обычная

Целый

Byte

0…255

1

125

125

Integer

-32768…32767

2

-1025

-1025

LongInt

-2147483648… 2147483647

4

500000

500000

Вещест-

Real

2,910-39…1,71038

6

2.0

2,0

венный

Single

1,510-45…3,41038

4

-358.742

-358,742

Extended

3,410-3942…1,1104932

10

-3.58742E+02

-3.58742102

Логичес-кий

Boolean

False True

1

True False

Истина Ложь

Символьный

Char

Набор символов кодовой таблицы

1

‘S’ ‘f’ ‘5’ ‘в’ ‘Я’ ‘%’

S f 5 в Я %

Строковый

String

Произвольная комбинация символов

1…255

‘Паскаль’

Паскаль

Для выполнения операций ввода-вывода в алгоритмическом языке Pascal используются 4 оператора: Read; ReadLn; Write; WriteLn.

Операторы чтения (ввода) – Read,ReadLn– обеспечивают ввод данных (чисел, символов, строк и т.д.) для последующей обработки их программой. Ввод данных производится с клавиатуры или из файла.

Для ввода данных с клавиатурыиспользуется операторReadLn(X);, гдеX– переменная допустимого типа. При исполнении этого оператора, выполнение программы будет приостановлено, от пользователя требуется набрать с клавиатуры данные, которые будут отображаться в позиции курсора, и нажатьENTER. Значение, набранное с клавиатуры, будет присвоено переменнойX, выполнение программы будет продолжено, а курсор перейдет в начало следующей строчки на экране.

Тип вводимых данных должен строго соответствовать типу переменных. Если соответствие нарушено (например, Х1имеет типInteger, а при вводе набирается значение типаChar,StringилиReal, то возникают ошибки ввода-вывода. Сообщение об ошибке имеет вид:I/O error XX, где ХХ – код ошибки.

Для ввода данных из файлаприменяется операторRead(f, X1 [,X2,…,XN]);, где f – указатель на файл (переменная файлового типа). При этом выполнение программы не останавливается, а значение переменныхX1, X2,…, XNсчитывается из файла на магнитном диске.

Оператор ReadLn можно использовать для организации пауз произвольной длины при выполнении программы. Для этого достаточно включить в программу операторReadLn;. Программа продолжит работу только после нажатия клавишиENTERна клавиатуре.

Операторы записи (вывода); WriteLnпроизводят вывод числовых данных, символов, строк и булевских значений на экран, в файл или на принтер. При использовании оператораWriteкурсор помещается за последним знаком выводимой переменной. ОператорWriteLnаналогичен операторуWrite, но после завершения вывода для текущего оператораWriteLnпроисходит переход на новую строку на экране или принтере.

Формат команд для вывода:

  • Вывод на экран: Write(X1 [,X2,…,XN]); WriteLn(X1 [, X2,…,XN]);

  • Вывод в файл: Write(f,X1 [, X2,…,XN]);

  • Вывод на принтер: Write(Lst,X1[,X2,…XN]); WriteLn(Lst,X1, [X2,…,XN]);

где X1, X2,…,XN– выражения простого типа (Char,Boolean,Integer,Real,String), или текстовая строка, заключённая в апострофы;f–файловая переменная. Здесь и далее необязательные параметры приводятся в квадратных скобках.

При выводе на принтер в секции Usesнужно указать модульPrinter:

Uses Crt, Printer;

Оператор WriteLn, записанный без параметров, вызывает переход на новую строку на экране или на принтере.

Задание форматов вывода данных

Вывод данных целого типа.

Write(X);

Выводится значение Х, начиная с позиции курсора.

Write(X:n);

Значение Хвыводится в крайние правые позиции поля, ширинойnсимволов.

Вывод данных действительного типа.

Write(X);

В поле, шириной 18 символов выводится значение Х, в формате с плавающей точкой, начиная с позиции курсора. Используется формат #.#########E##

Write(X:n);

В поле, шириной nсимволов (n7) выводится значениеХ, в формате с плавающей точкой, начиная с позиции курсора. Используется формат #.#####E##

Write(X:n:d);

В крайние правые позиции поля, шириной nсимволов выводится значениеХ, в формате с фиксированной точкой, причем после десятичной точки выводитсяdзнаков (0d24).

Вывод данных символьного и строкового типа.

Write(X);

Выводится значение Х, начиная с позиции курсора.

Write(X:n);

Значение Хвыводится в крайние правые позиции поля, ширинойnсимволов.

Вывод данных логического типа.

Write(X);

Выводится значение Х, в видеTrueилиFalse,начиная с позиции курсора.

Write(X:n);

Значение Хвыводится в крайние правые позиции поля, ширинойnсимволов в видеTrueилиFalse.

В программах, основной целью которых является отладка алгоритма расчётов, исходные значения переменных можно задавать непосредственно в тексте программы, например:

Var

x:real;

n:integer;

s:string[15];

Begin

x:=10.5;

n:=100;

s:=’Turbo Pascal’;

End;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]