русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операторы ввода-вывода


Дата добавления: 2013-12-23; просмотров: 1570; Нарушение авторских прав


Составной оператор

При написании программ на Паскале часто требуется, чтобы в определенном месте несколько операторов условно фигурировали (представлялись) как один оператор. Для этого используется составной оператор, который объединяет последовательность (цепочку) операторов в единый оператор путем обрамления этой последовательности операторными скобками - словами "begin" и "end". Внутри операторных скобок операторы отделяются друг от друга знаком ";". Выполнение составного оператора сводится к последовательному - в порядке их написания - выполнению входящих в него операторов:

begin i:=0; j:=0 end;
begin y:=x/2; x:=x+h; begin Sym:='A';Str:='Строка' end end;

Операторы ввода-вывода необходимы для ввода в компьютер данных с клавиатуры либо вывода результатов расчета на экран дисплея.

Для ввода данных используется оператор "Readln", например Readln(A), где А- имя переменной.

Встретив в тексте программы оператор Readln (имя переменной), компьютер останавливается и ждет, когда с клавиатуры будет введено значение для указанной переменной и нажата клавиша ENTER. После этого ячейка оперативной памяти, отведенная для переменной, будет заполнена введенными данными.

Вывод данных на экран осуществляется операторами Write(A,B,C, ... ,Z),либоWriteln(A,B,C, ... ,Z),где A,B,C, ... ,Z - имена переменных либо выражения.

Разница между этими двумя схожими операторами в следующем: при выполнении оператора Writeln( ) все перечисленные в нем элементы печатаются в одну строку в заданном порядке, после чего курсор переводится в начало следующей строки. Если после вывода последнего элемента списка необходимо оставить курсор на той же строке, следует использовать оператор вывода Write( ).



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

Writeln('Введите исходные данные');

Такой оператор выводит на экран все символы, заключенные между апострофами, но сами апострофы не печатаются.

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

Program Vvod-Vivod; Var A,B,C: integer; Begin Write('A= '); Readln(A); Write('B= '); Readln(B); Write('C= '); Readln(C); Writeln('Вывод значений переменных A,B,C:'); Writeln(A,B,C) End.

Предположим, что при выполнении этой программы с клавиатуры ввели числа 3,4,5 (в переменные A,B,C соответственно). В этом случае оператор Writeln(A,B,C) выведет на экран строку:

345.

Чтобы выводимые числовые значения не сливались визуально в одно число, перечисляемые в операторе Writeln( ) переменные следует разделять пробелами, заключенными в апострофы:

Writeln(A,' ', B,' ',C).

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

Writeln(A:N),

где А - имя переменной; N - число знакомест, резервируемых в строке на экране под выводимое значение переменной.

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

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

Writeln(A:N:K),

здесь А - имя переменной типа "Real";

N - общая длина поля;

K - число знакомест в длине поля, отводимых под дробную часть числа.

Например: X:=248.74; Writeln(X:6:2).

Рассмотрим текст программы, содержащей все изученные нами операторы:

Program Stepen; Var A,B: Real; N: Integer; Begin Writeln('Программа возведения числа в степень'); Write('Введите число = '); Readln(A); Write('Укажите степень = '); Readln(N); Writeln; B:=Exp(N*Ln(A)); Writeln('Результат:'); Writeln('B= ',B:8:2); Readln End.

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

Стоящий в конце программы оператор Readln без параметра позволяет программным путем задержать окно пользователя USER SCREEN до тех пор, пока не будет нажата клавиша ENTER.

Если результаты расчета надо вывести не на экран, а на принтер, то в раздел описаний программы надо добавить блок Uses, в котором указать имя модуля PRINTER. Далее, в тех операторах вывода (Write, Writeln), которые должны выводить данные на бумагу, надо добавить после открывающейся скобки слово LST, например:

Writeln(LST,'B= ',B:8:2).

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

Program Stepen_2; Uses Printer; Var A,B:Real; N:Integer; Begin Write('Число = '); Readln(A); Write('Степень ='); Readln(N); B:=Exp(N*Ln(A)); Writeln; Writeln('B= ',B:8:2); Writeln(Lst,'Число',A:5:1,'в степени',N:2); Writeln(Lst,'равно ',B:7:1); Readln End.

 

4.2.4. Условный оператор

4.2.4.1. Понятие об условном операторе

Программы, составленные исключительно из операторов присваивания и ввода-вывода, могут иметь только линейную структуру:

Рисунок 8.Блок-схема линейного алгоритма

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

Рисунок 9. Блок-схема разветвленного алгоритма.


<== предыдущая лекция | следующая лекция ==>
Оператор присваивания | Понятие о цикле


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.