Операторы Вывода Write/WriteLn

Http://www.pascaler.ru

Pascal

 

Pascal – это язык программирования высокого уровня, отлично подходит для начинающих программистов.

Алфавит Turbo Pascal:

─ латинские буквы от A до Z

─ арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

─ знаки препинания . , : ; ..

─ знаки арифметических операций + – * /

─ знаки логических операций > < = >= <= <>

─ специальные символы ( ) { } [ ] ' := (* *)

─ основные элементы Паскаля

 

Структура программы:

1.  Блок Program <имя>; Заголовок программы (необязателен)

2. Программный блок, состоящий в общем случае из 7 разделов:

─ раздел описания используемых модулей Uses ...;

─ Метки Label ...;

─ Константы Const ...;

─ Типы Type ...;

─ Переменные Var ...;

─ Процедуры Procedure ...;

─ Функции Function ...;

─ Раздел операторов

Begin

<Операторы программы>

End.

 

Идентификатор (имя) - имя какого-либо элемента программы, которое должно удовлетворять следующим требованиям:

• длина имени не должна превышать 63 символа,

• первым символом не может быть цифра,

• переменная не может содержать пробел;

• имя не должно совпадать с зарезервированным (служебным) словом,

• прописные и строчные буквы воспринимаются одинаково.

Зарезервированные (служебные) слова - это слова, использующиеся только по своему прямому назначению. Их нельзя использовать в качестве переменных, так как они выполняют определенную смысловую нагрузку.

Примеры зарезервированных слов: AND, GOTO, PROGRAM, ELSE, IF, RECORD, NOT, ARRAY, REPEAT, UNTIL, BEGIN, IN, SET, END, CASE, CONST, USES, INTERFACE, STRING, LABEL, THEN, OF, DIV, TO, VAR, DO, TYPE, WHILE, DOWNTO, FILE, FUNCTION, PROCEDURE и другие.

 

Раздел Const - вид данных, который является постоянным на всем протяжении выполнения программы, описывают константы после зарезервированного слова Const.

Раздел Var - вид данных, который может изменять свое значение в ходе программы, описывают переменные после зарезервированного слова Var.

Раздел операторов Begin end.

Тело программы. Оператор – это инструкция, которую должен выполнить Pascal. Программа состоит из последовательности операторов.

Операторы. Исполняемые операторы должны заканчиваться – ;

Существует несколько типов операторов:

Оператор присваивания – это последовательность из переменной, знака присваивания ( := ) и арифметического выражения. Например, x:=x+1;

Пустой оператор – оператор ; не выполняющий никакого действия.


Комментарии – это пояснения, вставляемые в текст программы. Комментарий - любой текст, заключённый в {} или (* *) или //. Комментарии не выполняются программой.

 

Типы данных

Для временного хранения информации в операторах памяти машины в языке Паскаль используются константы и переменные. Они могут быть различных типов:

─ целых чисел (Byte, ShortInt, Word, Integer, LongInt);

─ действительных чисел (real);

─ символьный тип (char);

─ строковый (string);

─ логический (boolean);

─ сложные (комбинированный (record), множественный (set) и другие).

 

Целые типы:

Название Длина в байтах Диапазон значений
Byte 1 0 ... 255
ShortInt 1 -128 ... 127
Word 2 0 ... 65535
Integer 2 -32768 ... 32767
LongInt 4 -2147483648 ... 2147483647

Над целыми типами определены такие операции:

  1. "+" - сложение;
  2. " * " - умножение;
  3. " - " вычитание;
  4. div - целочисленное деление;
  5. mod - получение остатка от целочисленного деления.

 

Вещественные типы (real):

Вещественные типы представляются с некоторой точностью, которая зависит от компьютера. Вам необходимо знать, что вещественный тип разделяется на несколько типов, но использовать мы будем вещественные данные только типа Real, которые занимают 6 байт, имеют диапазон возможных значений модуля от 2.9Е-39 до 1.7Е+38 и точность представления данных - 11...12 значащих цифр.

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

1. с фиксированной точкой и

2. с плавающей запятой.

Числа с фиксированной точкой изображаются десятичным числом с дробной частью, которая может быть и нулевой. Например: 27.9, 5.00

Такие большие числа как 137.000.000 можно записать в виде чисел с десятичным порядком 1.37·108. Такие числа имеют вид mEp. Здесь m - мантисса; E - признак записи числа с десятичным порядком; p - степень числа 10. Получится 1.37Е+8. Такие числа, представленные с десятичным порядком и называются числами с плавающей точкой.

Например:

Математическая запись Запись на Паскале
4·10-4 4E -4
0,62·105 0.62E+5
-10,88·1012 -10.88E12

 

Компьютер, по умолчанию, представляет действительные числа в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:

R:m:n

где R - действительное число, m - количество позиций, отводимых для целой части, n - количество позиций, отводимых для дробной части.

Например, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода целой части этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:

Write (Chislo:7:2)

 

Символьный тип (char):

Значениями данного типа является множество всех символов компьютера: русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, "+", "-", "*", "/", "", "=" и др.) или пробел " ". Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа или символьная переменная - любой символ языка, заключённый в апострофы. Например:

Var Simvol : char;

Строковый тип (string):

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

Var Stroka : string;

 

Логический тип (boolean):

Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя математической логики. В языке Паскаль имеются две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolean. Для сравнения данных предусмотрены следующие операции отношений: <, <=, =, <>, >, >=. А также существуют специфичные для этого типа логические операции OR - или; AND - и; NOT - не.

При проверке некоторых условий результат операции может быть истинным или ложным. Например:  3>5 ложь.

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

 

Program TipDann; Var Chislo1 : Integer; Chislo2 : Real; Simvol : Char; Stroka : String; Logika : Boolean; Begin ClrScr; Chislo1:=12; Chislo2:=Chislo1*2; Chislo2:=Chislo2/5; Simvol:=‘d’; Stroka:=‘Строчка’; Logika:= Chislo1> Chislo2; WriteLn (‘Вывод значений:’); WriteLn (‘Значение переменной Chislo1 : ’,Chislo1); WriteLn (‘Значение переменной Chislo2 :’,Chislo2:5:2); WriteLn (‘Значение переменной Simvol : ’,Simvol); WriteLn (‘Значение переменной Stroka : ’,Stroka); WriteLn (‘Значение переменной Logika : ’,Logika); End.

 

Внимательно рассмотрите каждую строчку программы. Обратите особое внимание на описание переменных: Chislo1 - переменная целого типа, Chislo2 - действительного, Simvol - символьного, Stroka - строкового, Logika - логического. Далее в основной программе идет присвоение переменной Chislo1 целого числа 12, переменной Chislo2 - целого числа 24. Обратим внимание, что переменной действительного типа Chislo2 присвоено целое число; никакой ошибки нет, т. к. множество целых чисел является подмножеством множества действительных чисел. Следующая строчка еще более интересная: переменной Chislo2 присваивается значение той же переменной, только деленной на 5.

Такое присваивание используют в программах, если предыдущее значение этой переменной уже не понадобится и для более рационального использования описанных переменных. Для того чтобы переменной символьного типа присвоить какой-либо символ (например, d), надо этот символ записать в апострофах (знак «’»). Аналогично поступают с переменными строкового типа (смотри следующую строку программы). А про переменные логического типа мы знаем, что им можно присваивать только два значения: True и False. В этой программе мы присвоим значение результата сравнения двух переменных, здесь оно будет равно True. А теперь выведем присвоенные значения на экран.

 

Операторы Вывода Write/WriteLn

 

Мы уже использовали операторы Write и WriteLn, но нам необходимо подробнее остановиться на правилах применения этих операторов.

Write (англ. писать) - оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln (line - англ. линия, строка), то после вывода на экран нужного сообщения, он дополнительно переводит курсор на следующую строчку.

Общий вид:
                            Write (список выражений)
                            WriteLn (список выражений)

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

Например, при выполнении процедуры

WriteLn(‘Найденное число‘,а), будет напечатана строчка, заключенная в апострофы, а затем выведено значение переменной а.

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

Операторы Ввода Read/ReadLn

 

Вспомним, что основное назначение ЭВМ - сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.

Общий вид:
                            Read(переменная, переменная...)
                             ReadLn(переменная, переменная...)

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

Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a,b) переменной а будет присвоено число 53, а переменной Х - буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае а:integer, а b:char.

Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу <Enter> результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.

Примечание. Когда Вы ставите задержку экрана, обратите внимание на предыдущий ввод. Если данные запрашивались процедурой Read задержки не будет.

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

Пример:  Найти среднее значение трех чисел.

Примечание. Чтобы найти среднее значение нескольких чисел, нужно сложить эти числа и сумму разделить на количество этих чисел.

Program Srednee; Var First, Second, Third : integer; Sum : real; Begin ClrScr; Write (‘Введите первое число ‘); ReadLn(First); Write (‘Введите второе и третье числа через пробел ‘); ReadLn(Second, Third); Sum := First + Second + Third; Sum := Sum/3; Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2); ReadLn; End.

Внимательно рассмотрите каждую строчку. Имя программы Srednee отражает содержание задачи. Кстати, договоримся о том, чтобы имя программы и имя файла, который содержит эту программу, совпадали. Далее идет подключение модуля Crt. В разделе Var описаны First, Second, Third как переменные целого типа, а Sum - действительного типа. Раздел операторов начинается со стандартной процедуры очистки экрана ClrScr (Clear Screen), которая находится в модуле Crt. Далее оператором Write мы выводим на экран сообщение ‘Введите первое число ‘, получив которое пользователь должен ввести число.

Теперь компьютер должен считать введенные символы и занести их в переменную First, это произойдет при выполнении следующего оператора ReadLn(First). Затем с помощью оператора Write запрашиваем значения еще двух чисел и считываем их в переменные Second и Third. Затем вычисляем их сумму и присваиваем полученное число переменной Sum. Чтобы найти среднее, нужно теперь полученное число разделить на 3 и сохранить результат в какой-либо переменной.

Совсем не обязательно описывать еще одну переменную для сохранения результата. Можно, как в нашей программе, значение переменной Sum разделить на 3 и результат опять присвоить той же переменной Sum. Теперь можно вывести результат вычислений на экран с помощью процедуры Write. И, наконец, последняя процедура ReadLn задержит наш вывод на экране до нажатия на клавишу.

При значениях переменных 5, 7 и 12, на экране увидите следующее:

Среднее значение 5, 7 и 12 равно 8.00

Оператор условия if:

if a>b then  Write(‘a больше b’) Else  Write(‘а меньше b’);   if  (если) – ключевое слово a>b – условие then  (то) – ключевое слово Else (иначе) – ключевое слово Если переменная «а» больше переменной «b» мы увидим на экрана сообщение «а больше b», в ином случае «а меньше b»

 

Циклы

Цикл с предусловием while do:

a:=10; while a>b do  begin i:= i + 1; b:=i; writeln(b)  end; while do (делай… пока) – ключевые слова a>b – условие begin end – операторные скобки Цикл будет выполняться до того момента, пока условие не будет ложным(false). При запуске, этого цикла, мы увидим на экране числа от 1 до 10.

Цикл с пост условием repeat until:

a:=10; repeat  begin i:= i + 1; b:=i; writeln(b)  end; until a<=b repeat until  (повторяй до тех пор пока)– ключевые слова a<=b – условие begin end – операторные скобки. Цикл будет выполняться до того момента, пока условие не будет ложным, даже если условие сразу ложное, цикл хотя бы один раз все равно исполниться.

 

Цикл со счетчиком for do:

a:=10; for i:=1 to a do  begin b:=i; writeln(b) end; for to do – ключевые слова i:=1 – начальное значение a – конечное значение begin end операторные скобки Цикл будет выполняться до того момента, пока условие не будет ложным. На экране мы увидим числа от 1 до 10.

 


Дата добавления: 2018-02-28; просмотров: 771; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!