9793

Ввод-вывод данных

Контрольная

Информатика, кибернетика и программирование

Ввод-вывод данных Вывод данных: WRITE(x1,x2,x3) WRITELN(x1,x2,x3) Вывод завершается переводом курсора на новую строку. x1,x2,x3 - список выражений. Каждое выражение может иметь один из трех видов: e e:m e:m:n...

Русский

2013-03-17

44 KB

2 чел.

Ввод-вывод данных

Вывод данных:

WRITE(x1,x2,…,x3);

WRITELN(x1,x2,…,x3); Вывод завершается переводом курсора на новую строку.

x1,x2,…,x3 – список выражений.

Каждое выражение может иметь один из трех видов:

 e  e:m   e:m:n,

где e – выражение (допустимые типы: символьный, строковый, целочисленный, вещественный, логический),  m – целое число ( >0 ), задающее минимальную ширину поля для вывода значение; n – число десятичных знаков в представлении вещественного значения с фиксированной точкой.

Строковый тип определяет множество символьных цепочек произвольной длины.

String[X]; { X – максимальная длина строки (1-255) }

Пример:

Var A : string[8];

begin

   A:=’Пример’;

end.

Примеры:

A:=348.45678; WriteLN(A:6);  □3.5E+02

A:=348.45678; WriteLN(A:10);  □3.485E+02

A:=348.45678; WriteLN(A:15);  □3.48456780E+02

A:=348.45678; WriteLN(A:6:2);  348.46

A:=348.45678; WriteLN(A:3:2);  348.46

A:=348.45678; WriteLN(A:10:2);  □□□□348.46

C:=’A’;    WriteLN(C:6);   □□□□□A

C:=’A’;    WriteLN(C:6:2);

A:=348;   WriteLN(A:6);  □□□348

A:=348;   WriteLN(A:6:2);  

S:=’Пример’;  WriteLN(S:4);  Пример

S:=’Пример’;  WriteLN(S:10);  □□□□Пример

Ввод данных:

READ(x1,x2,…,x3);

READLN(x1,x2,…,x3);  Ввод завершается переводом курсора на новую строку.

x1,x2,…,x3 – список переменных (тип: символьный, целочисленный, вещественный, строковый).

При вводе должны соблюдаться следующие соглашения:

  •  Тип вводимого данного должен совпадать с типом переменной указанной в качестве параметра процедуры read;
  •  Если указано несколько параметров, то при вводе фактические данные нужно разделять пробелами.

==== ==== ==== ==== ==== ==== ==== ====

Ограниченные типы

Самый простой способ создания нового типа – это ограничение уже существующего путем задания минимального и максимального значений диапазона, например:

1..10

-100..100

’a’.. ’z’

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

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

Перечислимые типы

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

Пример: программа управляющая работой уличного светофора.

Использование 1,2,3 не имеет прямого отношения к решаемой задаче и, следовательно, усложняет программу и затемняет её смысл. Наиболее естественно использование перечислимого типа:

(  Red, Yellow, Green )

( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)

( On, Off )

( Left, Right, Up, Down )

Допускается образование ограниченного типа из перечислимого.

Например:

Left .. Up

Jun .. Aug

Идентификаторы, используемые в перечислимом типе должны быть уникальны в пределах блока (т.е., недопустимо повторное использование идентификаторов). Например:

type

Month1 = ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);

Month2 = ( Dec, Jan, Feb);

==== ==== ==== ==== ==== ==== ==== ====

Описание переменных

Описание переменных начинается со служебного слова var, после которого идет само определение переменных.

Определение переменной должно содержать два элемента: имя переменной и её тип. Пример:

Var

a : integer;

index : 0 .. 5;

sinus : real;

Semaphore : ( Opened, Closed );

 Возможно определение нескольких переменных одного типа. Например,

Var

x,y,z : real;

index1, index2 : 0 .. 5;

Color1, Color2 : ( White, Red, Green );

Описание констант

Описание констант начинается со служебного слова const, после которого располагается последовательность определений констант. В отличие от переменной (которая может менять своё значение во время выполнения программы, значение константы определяется один раз до начала выполнения программы и остается неизменным до конца работы программы.

Использование констант вместо конкретных значений считается хорошим стилем программирования, так как делает программу более «читабельной» и способствует лучшему её пониманию без снижения эффективности этой программы (т.е. использования памяти и быстродействия).

Кроме того, если некоторые важные для программы значения обозначены идентификаторами (например, границы массивов, показатели точности), то при необходимости их легко изменить, исправив описание соответствующих констант. В противном случае эти значение будут «растворены» в тексте программы и придется просматривать её целиком, чтобы провести нужные изменения..

Пример:

Const

One = 1;

HighLimit = 1000;

LowLimit = - HighLimit;

Pi = 3.1415926;

Separator = ‘****************’;

Обратите внимание, что в определениях констант не указывается тип значения. Тип определяется исходя из записи константы.

Константы могут быть использованы во всех конструкциях, где может быть использовано их значение. (константа это синоним значения). Естественно недопустимо изменение значения константы. Например,

 HighLimit = (x+y)*2; { недопустимо, как недопустимо следующее}

1000 = (x+y)*2;

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

Abs Chr Hi  Length Lo Odd Ord

Pred Ptr Round SizeOf Succ Swap Trunc

Иными словами, структура константного выражения должна обеспечивать вычисление его значения без выполнения программы, то есть при компиляции. Например

Const

Min = 10;

Max = 100;

Center = (Max-Min) div 2;

Message = ‘Out of memory’;

ErrorTxt = ‘Error:’ + Message + ‘.’;

ErrorPos = 80 – Length(ErrorTxt) div 2;

Ln10 = 2.302585092994095684;

Ln10R = 1/Ln10;


 

А также другие работы, которые могут Вас заинтересовать

77340. КОМПИЛЯТОР C89 ДЛЯ ПРОЦЕССОРА MCP 0411100101 26 KB
  Бахтерев ИММ УрО РАН Высокопроизводительные процессоры семейства MCp выпускаемые компанией Мультиклет основаны на оригинальной архитектуре с явным параллелизмом инструкций EPIC Explicitly Prllel Instruction Computing. Особенности кодирования параграфов позволяют выполнять их разным количеством связанных специальным коммутатором клеток функциональных устройств MCp; потенциально это количество может меняться во и время работы процессора. Ещё одной особенностью MCp является то что процессор вносит изменения в память системы как...
77341. Язык программирования 0xfb.L 65.5 KB
  Близится выход С0x новой расширенной версии С которая может стать тем самым инструментом но стандарт С сам по себе очень сложен синтаксис система типов виртуальные методы не все компиляторы поддерживают все возможности поэтому расширение кажется спорным решением. Концепция является результатом развития идей метапрограммирования Lisp Nemerle и сводится к динамическому выстраиванию окружения состоящего из типов переменных и операторов во время компиляции. В процессе компиляции каждое выражение синтаксическая конструкция...
77342. МАНИПУЛЯТОРЫ ДЛЯ СИСТЕМ НАУЧНОЙ ВИЗУАЛИЗАЦИИ 244.5 KB
  И если для средств вывода уже есть такие мощные средства как системы типа Cve стерео очки стерео мониторы и шлемы виртуальной и расширенной реальности то в области средств ввода или манипуляторов таких решений очень мало и не имеют большого распространения. Нами была поставлена задача разработать интерфейс для работы с виртуальными объектами в котором бы учитывались достоинства и недостатки уже существующих манипуляторов и который был бы максимально прост и естественен в использовании. Обзор существующих решений Был проведён критический...
77343. Манипуляция объектами в системах компьютерной визуализации 38.5 KB
  Серьезной задачей в системах визуализации является обеспечение различных действий с визуальными объектами при работе с трехмерной графикой. Как правило, при реализации методов непосредственного манипулирования с визуальными объектами все операции проводятся в основном окне вывода
77344. Математическая и компьютерная модель стимуляции и использования радиочастотной энергии в почечных артериях на симпатические ганглии и пути 198.5 KB
  Электрод для деструкции симпатических ганглиев и путей. Метод деструкции симпатических ганглиев и проводящих путей Цель. Создать модель воздействия стимуляции и радиочастотной энергии на симпатические ганглии и проводящие пути для прогнозирования результата воздействия и сопоставления с клиническими данными для выработки оптимальной процедуры воздействия и достижения максимального успеха вмешательства Задачи Создать модель почечных артерии и ганглиев и проводящих путей вокруг них Создать модель связи между различными режимами...
77345. Методы манипуляций объектами в трёхмерных визуальных средах 220.5 KB
  Использование средств трехмерной графики в том числе базирующихся на средах виртуальной реальности естественно влечёт поиск новых трехмерны средств ввода и построения на их базе новых систем человеко-компьютерного взаимодействия. Вместе с тем возникают проблемы с применением сложных систем ввода в средах визуализации. Причем сложности возникают как с эксплуатацией и непосредственным использованием техники так и с диалоговыми языками ввода и взаимодействия. Наша цель состоит в разработке простых средств ввода в системах...
77346. МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ 21.5 KB
  Ему необходимо заботиться о распределении вычислительных задач синхронизации обмене данными и так далее. С другой стороны создаются среды для решения определённых классов задач в основном это касается задач для которых применим параллелизм по данным. Методика базируется на понятиях хранилища задач и правил. Задачей называется программа которая во время исполнения считывает данные с определёнными именами из хранилища и в результате своего исполнения формирует новые данные которые записываются в хранилище.