ТОП 10:

Операторы ввода/вывода данных



Для выполнения операций ввода-вывода служат четыре оператора:

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

Формат: Read (X1, Х2, .. , Хn), где X1, Х2, .. , Хn – переменные допустимых типов данных.

Значения X1, Х2, .. , Хn набираются минимум через один пробел на клавиатуре пользователем и высвечиваются на экране. Значения переменных должны вводиться в строгом соответствии с синтаксисом языка. Если в программе имеется несколько операторов Read, данные для них вводятся потоком, т. е. после считывания значений переменных для одного оператора Read данные для следующего оператора Read – набираются на той же строке, что и для предыдущего до окончания строки, затем происходит переход на следующую строку. Оператор чтения ReadLn аналогичен оператору Read, единственное отличие заключается в том, что после считывания последнего в списке значения для одного оператора ReadLn данные для следующего оператора ReadLn будут считываться с начала новой строки.

Оператор записи (Write) производит вывод данных.

Формат: Write (X1, Х2, .. , Хn), где X1, Х2, .. , Хn - выражения типа integer, byte, real, char, Boolean и т.д.

Пример: Write (125); (выражение представлено значением) Write (А+В–С); {выводится результат выражения).

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

1. Вывод десятичного представления величины I начиная с позиции расположения курсора (I):

Значение I Выражение Результат
Write(I)
Write(I)
Write(I, I, I)
Write('Значение I = ', I) Значение I = 318

 

2. Вывод десятичного представления величины I в крайние правые позиции поля шириной р (I:р):

Значение I   Выражение Write(I:6) Write(I:10)   Результат ַַַ134 ַַַַַַַַַ5  
Write(I+I:7) ַַַַ624

Где ַ – пробел.

 

3. Вывод десятичного представления величины I в крайние правые позиции поля шириной р и дробной части числа шириной q (I:р:q):

Значение I   Выражение   Результат  
511.04   Write(I:8:4)   511.0400  
-46.78   Write(I:7:2)   ַ-46.78  
-46.78   Write(I:9:4)   ַ-46.7800  

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

При недостатке количества позиций для вывода число или текст выводятся полностью, а формат игнорируется, кроме формата вывода дробной части числа. Если формат вывода не задавать, то значения целых и строковых переменных выводятся полностью, а вещественных – с количеством цифр, соответствующих типу переменной, например,

a:=5.12345678912345678912345; Writeln('а=', a); выведет на экран надпись:

a:=5.12345678912346.

Стандартные типы данных

К стандартным относятся целочисленные, действительные, логический и другие типы.

Целочисленные типы определяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ.

 

Тип Диапазон значений Требуемая память
Shortint -128 .. 127 1 байт
Integer -32768 .. 32767 2 байта
Longint -2147483648.. 2147483647 4 байта
Byte 0 .. 255 1 байт
Word 0 .. 65535 2 байта

Пример описания:

VAR n1, n2: Integer ; n3, n4 : Word; n5, n5 : Byte;

 

Над целыми операндами можно выполнять следующие операции:

сложение, вычитание, умножение, деление, целочисленное деление, получение остатка от деления и др. Знаки этих операций:

 

+ – * / div mod

 

Результат данных операций над целыми операндами есть величина целого типа, кроме операции деления /. Результат деления всегда имеет вещественный тип. Результат выполнения операции целочисленного деления div целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления mod – остаток от деления чисел. Например:

 

17 div 2 = 8, 3 div 5 = 0

17 mod 2 = 1, 3 mod 5 = 3 .

 

Операции сдвига влево shl и сдвига вправо shr:

I shl N; I shr N.

Эти операции сдвигают двоичную последовательность значения I влево или вправо на N двоичных разрядов. При этом биты, уходящие за пределы разрядной сетки, теряются, а освободившиеся двоичные разряды заполняются нулями. При сдвиге вправо отрицательных значений освободившиеся разряды заполняются единицами.

 

Операции отношения, примененные к целым операндам, дают результат логического типа TRUE или FALSE (истина или ложь).

В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =, неравенство <>, больше или равно >=, меньше или равно <=, больше >, меньше < .

К аргументам целого типа применимы следующие стандартные (встроенные) функции, результат выполнения которых имеет целый тип:

 

Abs(X) – абсолютное значение, модуль Х;

Sqr(X) – Х в квадрате;

Succ(X) – следующее значение (X+1);

Pred(X) – Х–1.

 

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

 

Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).

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

Результат выполнения функции проверки целой величины на нечетность Odd(X) имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный:

 

X=5 Odd(X)=TRUE ; X=4 Odd(X)=FALSE.

 

Для быстрой работы с целыми числами определены процедуры:

Inc(X) X:=X+1

Inc(X,N) X:=X+N

Dec(X) X:=X–1

Dec(X,N) X:=X–N

 

Вещественные типы определяет те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.

 

Тип Диапазон значений Количество цифр Требуемая память (байт)
Real 2.9e-39 .. 1.7e+38 (10-39..+38)
Single 1.5e-45 .. 3.4e+38
Double 5.0e-324 .. 1.7e+308
Extended 3.4e-4932 .. 1.1e+4932
Comp -9.2e+18 .. 9.2e+18

Пример описания:

VAR n1, n2, n3, n4 : Real;

 

Над вещественными операндами можно выполнять следующие арифметические операции, дающие вещественный результат:

 

сложение+ , вычитание , умножение * , деление / .

 

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

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

К вещественным аргументам применимы функции, дающие вещественный результат:

 

Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X), Ln(X),Exp(X), Sqrt(X), Frac(X), Int(X), Pi.

 

Функция Frac(X) возвращает дробную часть X, функция Int(X) – целую часть X.

Безаргументная функция Pi возвращает значение числа Пи = 3,1415926... вещественного типа.

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

 

Логический тип (Boolean) определяет те данные, которые могут принимать логические значения: False (ложь) или True (истина).

 

Примеры описания:

VAR

b1, b2, b3, b4 : boolean;

 

Примеры присвоения значения:

b1 := True; b2 := False; b3 := not b1;

 

К булевским операндам применимы следующие логические операции:

not and or xor.

 

Логический тип определен таким образом, что FALSE < TRUE. Это позволяет применять к булевским операндам все операции отношения.

 

ТЕМА 5. Программирование линейных алгоритмов

 

 

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

Понятие линейного алгоритма. Примеры написания программ.

 

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

 

 

Задача 5.1.1. Получить от пользователя данные, обработать их и вывести на экран.

1. Описание переменных: a,b,c,d,sum – целое, mult – длинное целое.

2. Ввод значений переменных a и b, вычисление их суммы и присвоение полученного значения переменной sum, вывод значения sum на экран.

3. Ввод значений переменных c и d, вычисление их произведения и присвоение полученного значения переменной mult, вывод значения mult на экран.

 

 

Программа Результат на экране
var a,b,c,d,sum: integer; mult: longint; begin write('Введите значение a: '); readln(a); write('Введите значение b: '); readln(b); sum:= a+b; writeln('Сумма чисел ',a,' и ',b,' = ',sum); writeln; writeln('Введите значения c и d: '); read(c,d); mult:= c*d; writeln('Результат умножения ',c,' на ',d,' = ',mult); end.     Введите значение a: 3 Введите значение b: 5 Сумма чисел 3 и 5 = 8   Введите значения c и d: 7 9 Результат умножения 7 на 9 = 63    

 

 

Задача 5.1.2. Обменять значения двух переменных, используя третью (буферную) переменную.

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

x – первая переменная;

y – вторая переменная;

b – буферная переменная (для временного хранения значения переменной).

Алгоритм решения задачи:

в буферной переменной сохраняется значение первой переменной.

первой переменной присваивается значение второй.

второй переменной присваивается значение буферной переменной, это значение равно старому значению первой переменной.

 

 

Программа Результат на экране
var x, y, b: integer; begin write ('Введите первую переменную: '); readln (x); write ('Введите первую переменную: '); readln (y); writeln ('x = ', x, ', y = ', y); writeln ('Полученные значения'); b := x; x := y; y := b; writeln ('x = ', x, ', y = ', y); end.   Введите первую переменную: 12 Введите первую переменную: 56 x = 12, y = 56 Полученные значения x = 56, y = 12  

 

 


ТЕМА 6. Программирование с помощью операторов условного и безусловного перехода

Цель лабораторной работы: изучить условный оператор If и оператор безусловного перехода GoTo, применять их в программировании для решения задач на разветвляющиеся алгоритмы.

.

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

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

Структура условного оператора имеет следующий вид:

If <условие> then <оператор 1> else <оператор 2>;

If<условие> then <оператор>;

где If, then, else – зарезервированные слова (если, то, иначе);

<условие> – произвольное выражение логического типа. Оно может быть простым или сложным. Сложные условия образуются с помощью логических операций AND, OR, XOR, NOT. При записи условий могут использоваться все возможные операции отношения;

<оператор> – простой или составной оператор. Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, ограниченную операторными скобками – зарезервированные слова Begin и End.

Формат:

Begin <оператор 1>; < оператор 2>; ... <оператор N> End.

 

На рис.5.1 представлены блок-схемы разветвляющегося алгоритма с использованием условного оператора If.

Рис. 5.1 Блок-схема разветвляющегося алгоритма с использованием оператора условного перехода.

 

Примеры использования оператора If.

Простое условие.

 

If x> Max then Y:= Max else Y:=x;

 

Переменная Y получит значение переменной X, если только это значение не превышает Max, в противном случае Y станет равно max.

 

If x> Max then Max:=X;

Y:=x;

 

Переменная Y всегда будет иметь значение переменной X, а в Max запоминается максимальное значение X.

 

Примечание. После оператора, стоящего перед зарезервированным словом ELSE, символ точка с запятой» (;) не ставится.

 

С использованием сложного условия:

If (n>=0) and (n<=15) then

Begin

WriteLn('значение n лежит в диапазоне 0..15')

Else

WriteLn ('значение n меньше 0 или больше 15').

 







Последнее изменение этой страницы: 2016-04-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.30.155 (0.018 с.)