КОМАНДЫ ПРИСВАИВАНИЯ, ВВОДА И ВЫВОДА
Краткие теоретические сведения
При выполнении программы происходит обработка данных. Данные в програм- мировании называют величинами. Величины, значения которых могут изменяться в процессе выполнения программы, называют переменными. Значение каждой перемен- ной хранится в определенном участке памяти компьютера.
Каждая переменная характеризуется именем, типом и значением.
Имя переменной (идентификатор) всегда должно начинаться с латинской буквы, после которой могут следовать несколько латинских букв, цифр либо символ подчер- кивания «_», записанных без пробелов. Например: A, B1, sum, Name, Pr_3.
Тип переменной определяет диапазон допустимых значений.
Все переменные, используемые в программе, должны быть описаны в разделе описаний. Например:
Var
A, B: integer; X:real;
Text: string;
Переменная не имеет какого-либо конкретного значения до тех пор, пока компь- ютеру не будет дано точное предписание, поместить что-либо определенное в соот- ветствующую ячейку памяти.
На Паскале такого рода предписание обычно выражается командой присваивания, имеющей вид:
имя_переменной:=выражение_или_значение
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменная и выражение должны быть совместимы по типу.
Оператор присваивания выполняется следующим образом: сначала вычисляется выражение в правой части присваивания, а затем его значение присваивается пере- менной, указанной в левой части оператора.
Например, для оператора
Rezult:=A div В;
сначала выполняется целочисленное деление значения переменной А на значение переменной В, а затем результат присваивается переменной Rezult.
Примеры применения оператора присваивания: A:=22;
B:=A+6; X:=a/10;
text:=’Privet!’;
Пример, демонстрирующий работу команды присваивания. program primer;
var a:integer; begin
a:=5; {переменной А присваивается значение 5 – исходное значение} writeln(‘a=’,a); {вывод на экран монитора значения переменной а} a:=2*a; {значение переменной А увеличивается в 2 раза}
writeln(‘a=’,a); {вывод на экран монитора промежуточного значения перемен- ной а}
a:=a+1; {значение переменной А увеличивается на 1}
writeln(‘a=’,a); {вывод на экран монитора значения переменной а - результат}
end.
В результате выполнения программы на экране в «окне вывода» появится следу- ющая информация об изменении значений переменной А:
a=5 a=10 a=11
Важно помнить: в результате выполнения команды присваивания предыдущее значе- ние переменной стирается.
Для выполнения операций ввода-вывода служат четыре процедуры: Read, Readln, Write, WriteLn.
Процедура чтения Read обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой.
Формат процедуры Read: Read (x1, x2, …, xn);
где x1, x2, …, xn- переменные допустимых типов данных.
Значения x1, x2, …, xn набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одной процедуры Read нажимает- ся клавиша ввода Enter.
Значения переменных должны вводится в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушено (например, х1 имеет тип Integer, а при вводе набирается значение типа Char), то возникают ошибки ввода-вывода. Сообще- ние об ошибке имеет вид: I/O error XX, где ХХ - код ошибки.
Процедура чтения ReadLn аналогична процедуре Read, единственное отличие за- ключается в том, что ее выполнения курсор автоматически перейдет на новую строку.
Процедура записи Write производит вывод числовых данных, символов, строк, булевских значений.
Формат процедуры Write: Write (<список вывода>);
где <список вывода>- последовательность переменных, констант, математиче- ских выражений, перечисляемых через запятую.
Процедура записи WriteLn аналогична процедуре Write, единственное отличие заключается в том, что после вывода последнего в списке значения для одной проце- дуры WriteLn данные для следующей процедуры WriteLn будут выводиться с начала новой строки.
Процедуры вывода допускают использование указания о ширине поля, отводи- мого под значение в явном виде:
WRITE (Y:m:n,X:k:l,...);
WRITELN (Y:m:n:,X:k: I,...);
где m и k- количество позиций, отведенных под запись значения переменных Y и X соответственно;
n и I - количество позиций, отведенных под запись дробной части чисел Y и X.
Пример 1. Найти сумму двух вещественных чисел.
Используемые переменные: x, y –вводимые числа (исходные данные), z – их сумма (результат)
Program primer; var
X, Y, Z: Real;
begin
Writeln(‘Введите два числа X и Y:'); {вывод строки подсказки}
Readln(X,Y); {ввод чисел x и y}
Z := X + Y; {вычисление суммы x и y}
Writeln(' X + Y=’, Z); {вывод результата}
end.
Результат
Введите два числа X и Y:
15 22
X + Y=37
Пример 2.
Составить программу расчета значения функции.
Z = |cos х4 – 3 tg х2 |+0.8 sin yх2+ 10 при любых значениях х и у. Результат вывести в виде: при х= и у=… z=…
Используемые переменные: x, y -аргументы, z – значение функции Program pr1;
Var x,y,z: real;
Begin
writeln('введите X Y'); {вывод строки подсказки}
readln (x,y); {ввод аргументов x и y}
z:=abs(cos(sqr(x)*sqr(x)-3*sin(sqr(x))/cos(sqr(x))))+0.8*sin(y*sqr(x))+10;
writeln('при x=',x:8:2,' y=',y:8:2,' z=',z:8:2); {вывод результата}
End.
Результат введите X Y 1 2
при x=1.00 y=2.00 z=11.59
Пример 3.
Вводится вещественное число а. Не пользуясь никакими арифметическими опе- рациями, кроме сложения, получить 7а за четыре операции.
Используемые переменные: а –вводимое число,
b, c, d – вспомогательные переменные
Program pr2;
Var a,b,c,d:real;
Begin write('введите a ');
readln (a); {ввод исходного числа}
b:=a+a; {2a}
c:=b+b; {4a}
d:=b+c; {6a}
a:=d+a; {7a}
writeln('7a=',a:8:2); {вывод результата}
End.
Результат
введите a 2
7а= 14.00
Пример 4.
Найти площадь круга и длину окружности.
Используемые переменные: r - радиус, d – длина окружности,
s – площадь круга
Program pr3; Var d,r,s:real;
Begin
write('введите радиус окружности ');
readln (r); {ввод радиуса}
d:= 2*Pi*r; {вычисление длины окружности}
s:=Pi*sqr(r); { вычисление площади круга} writeln('длина окружности= ',d:4:2); {вывод результата} writeln('площадь окружности= ',s:4:2);
End.
Результат
введите радиус окружности 5 длина окружности=31.42 площадь окружности=78.54
Пример 5.
Вычисление суммы цифр введенного натурального двузначного числа.
Используемые переменные: n - двузначное число, a, b – цифры числа Program pr4;
Var n, a, b: integer;
Begin
write('n= '); readln(n); {ввод исходного двузначного числа}
a:=n div 10; {1-я цифра}
b:=n mod 10; {2-я цифра}
writeln('сумма = ', a+b); {вывод результата}
End.
Результат
n=48
сумма=12
Пример 6.
Введенное натуральное 4-значное число изменить так, чтобы 2 и 3 цифры поме- нялись местами.
Четырехзначное число N можно представить в виде суммы разрядных слагае- мых: N=n1*1000+n2*100+n3*10+n4, где n1, n2, n3, n4 – цифры соответствующих раз- рядов. Например, 3562=3*1000+5*100+6*10+2
Чтобы во введенном числе N поменять цифры местами, нужно выделить каждую цифру и записать число в виде N=n1*1000+n3*100+n2*10+n4
Используемые переменные: N – вводимое четырехзначное число,
n1, n2, n3, n4 – цифры
Program pr5;
Var N, n1, n2, n3, n4:integer;
Begin write('введите n ');
readln (n); {ввод исходного 4-значного числа}
n1=N div 1000; {1-я цифра числа}
n2:=N div 100 mod 10; {2-я цифра числа }
n3:=N div 10 mod 10; {3-я цифра числа }
n4:=N mod 10; {4-я цифра числа}
n:= n1*1000+n3*100+n2*10+n4; {получение числа в виде суммы разрядных
слагаемых}
writeln('результат ', n); {вывод результата}
End.
Результат:
введите n 1234
результат 1324
Пример 7.
Обмен значениями переменных X и Y.
Для того, чтобы переменные X и Y поменялись своими значениями, можно ис- пользовать вспомогательную переменную, например, T. Вспомогательная переменная нужна для того, чтобы сохранить временно значение переменной X. После этого в пе- ременную X можно занести значение переменной Y, а Y - присвоить значение X. Используемые переменные: X, Y – вводимые числа,
T – вспомогательная переменная
Program pr6;
Var X, Y, T: integer; begin
write('Введите X Y ');
readln(X, Y); {ввод исходных чисел}
T:=X;
X:=Y;
end.
Y:=T;
writeln('X=', X, 'Y=',Y); {вывод результата}
Результат:
Введите X Y 3 7 X=7 Y=3
Контрольные вопросы
1. Понятие переменной.
2. Команда присваивания. Формат, примеры.
3. Общие сведения о вводе-выводе данных.
4. Процедуры ввода данных. Read. Формат, примеры.
5. Процедура ReadLn. Формат, примеры.
6. Процедуры вывода данных. Write, WriteLn. Форматы, примеры.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.