Лекция: Линейная структура и ее свойства. Ввод и вывод данных. Оператор присваивания.

Линейная структура (линейный алгоритм) – основа любой программы, именно она обычно и является центральным стержнем программы. Линейный алгоритм даёт программе указания выполнять все действия по порядку, без отступлений. Она не требует каких-либо служебных слов (в отличие, например, от структуры ветвления), операторы просто записываются один за другим. Также данная структура требует минимум дополнительных команд. Так, для работы достаточно иметь всего лишь целостный текст программы с корректным началом и концом и описанные в блоке «var» переменные.

Вот несколько моментов, которые следует учитывать при составлении линейных алгоритмов:

  1. Любая последовательность операторов должна разделяться точкой с запятой, и в конце всей программы (после заключительного слова end) ставится точка:

write(‘введи количество переменных: ’);

readln(n);

end.

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

a:=f+a*5;

таким образом, здесь вычисляется значение выражения «f+a*5» и затем это значение присваивается переменной a.

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

 

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

 

Program sum;

uses crt;

var

a,b,c,sum:integer; — Перед входом нужно описать переменные -

begin;

write(‘Введи 1 число: ’); — Начинаем с ввода исходных переменных -

readln(a);

write(‘Введи 2 число: ’);

readln(b);

write(‘Введи 3 число: ’);

readln(c); — Теперь у нас есть все исходные данные, можно их суммировать. -

sum:=a+b+c; — Мы записали результат в переменную sum -

writeln(‘Сумма чисел равна: ’, sum); — Самое время вывести результат! -

end. — Конец программы –

 

Попытаемся представить данную программу в виде блок-схемы:

О п е р а т о р п р и с в а и в а н и я:

Тип переменной и тип выражения должны совпадать кроме случая, ког-

да выражение относится к целому типу, а переменная — к действительно-

му. При этом происходит преобразование значения выражения к

действительному типу.{}

Операторы вводаи вывода: Рассмотрим организацию ввода и вывода данных с терминального уст-

ройства. Терминальное устройство — это устройство, с которым работает

пользователь, обычно это экран (дисплей) и клавиатура.

Для ввода и вывода данных используются стандартные процедуры ввода

и вывода Read и Write, оперирующие стандартными последовательными файлами

INPUT и OUTPUT.

Эти файлы разбиваются на строки переменной длины, отделяемые друг

от друга признаком конца строки. Конец строки задается нажатием кла-

виши ENTER.

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

 

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

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

ReadLn;

 

Первый из них реализует чтение К значений исходных данных и прис-

ваивание этих значений переменным А1, А2, ..., АК. Второй оператор

реализует чтение К значений исходных данных, пропуск остальных значе-

ний до начала следующей строки, присваивание считанных значений пере-

менным А1, А2, ..., АК. Третий оператор реализует пропуск строки ис-

ходных данных.

При вводе исходных данных происходит преобразование из внешней

формы представления во внутреннюю, определяемую типом переменных. Пе-

ременные, образующие список ввода, могут принадлежать либо к целому,

либо к действительному, либо к символьному типам. Чтение исходных

данных логического типа в языке ПАСКАЛЬ недопустимо.

Операторы ввода при чтении значений переменных целого и

действительного типа пропускает пробелы, предшествующие числу. В то

же время эти операторы не пропускают пробелов, предшествующих значе-

ниям символьных переменных, так как пробелы являются равноправными

символами строк. Пример записи операторов ввода:

 

var rV, rS: Real;

iW, iJ: Integer;

chC, chD: Char;

................

Read(rV, rS, iW, iJ);

Read(chC, chD);

 

Значения исходных данных могут отделяться друг от друга пробелами

и нажатием клавиш табуляции и Enter.

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

операторы:

 

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

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

WriteLn;

 

Первый из этих операторов реализует вывод значений переменных А1,

А2,..., АК в строку экрана. Второй оператор реализует вывод

значений переменных А1, А2, ..., АК и переход к началу следующей

строки. Третий оператор реализует пропуск строки и переход к началу

следующей строки.

Переменные, составляющие список вывода, могут относиться к целому,

действительному, символьному или булевскому типам. В качестве элемен-

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

и строки.

Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода, определяемой конкретной реализацией

языка.

Форма представления значений в поле вывода соответствует типу пе-

ременных и выражений: величины целого типа выводятся как целые деся-

тичные числа, действительного типа — как действительные десятичные

числа с десятичным порядком, символьного типа и строки — в виде сим-

волов, логического типа — в виде логических констант TRUE и FALSE.

Оператор вывода позволяет задать ширину поля вывода для каждого

элемента списка вывода. В этом случае

элемент списка вывода имеет вид А: К, где

А — выражение или строка, К — выражение либо константа целого типа.

Если выводимое значение занимает в поле вывода меньше позиций, чем К,

то перед этим значением располагаются пробелы. Если выводимое значе-

ние не помещается в ширину поля К, то для этого значения будет отве-

дено необходимое количество позиций. Для величин действительного типа

элемент списка вывода может иметь вид А: К: М, где А — переменная или выраже-

ние действительного типа, К — ширина поля вывода, М — число цифр

дробной части выводимого значения. К и М — выражения или константы

целого типа. В этом случае действительные значения выводятся в форме

десятичного числа с фиксированной точкой.

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

........... .

var rA, rB: Real; iP,iQ:Integer;

bR, bS: Boolean; chT, chV, chU, chW: Char;

........... .

WriteLn(rA, rB:10:2);

WriteLn(iP, iQ:8);

WriteLn(bR, bS:8);

WriteLn(chT, chV, chU, chW);

 

 

еще рефераты
Еще работы по информатике