Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операция целочисленного деления и операция - остаток от деления

Логические операции

Операции отношения или сравнения

Арифметические операции с целыми числами и переменными целого типа в языке Паскаль

Арифметические операции с целыми числами. Переменные целого типа. Вещественный тип

Операторы read и readln. Процедуры ввода информации

Операторы write и writeln. Процедуры вывода информации

 

Вы обратили внимание, что в программе были использованы операторы write и writeln. Английское слово write переводится - писать, а слово writeln происходит как сокращение от двух английских слов write - писать и line - строка.

Кроме операторов write и writeln мы говорим о процедурах вывода информации.

Что же такое процедура?

Понятие процедуры - одно из основных понятий Паскаля. Ему подобна подпрограмма на языке Бейсик.

 

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

 

Выше мы говорили об операторах вывода информации, хотя в Паскале, в отличие от Бейсика нет операторов вывода информации, а через служебные слова write и writeln происходит обращение к стандартной или встроенной процедуре вывода информации. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней. Вот почему обращение к write или writeln напоминает оператор PRINT - вывода информации на языке Бейсик.

Разница между оператором вывода и обращением к процедуре вывода состоит в том, что имя процедуры вывода, как и любой другой процедуры Паскаля не является зарезервированным словом, а, следовательно, пользователь может написать свою собственную процедуру с именем write или writeln. Но это очень редко используется на практике.

 

Таким образом, операторы write и writeln являются операторами обращения к встроенным процедурам вывода информации.

 

Обе эти процедуры выводят информацию на экран, если эта информация содержится в виде значений переменных, тогда достаточно в скобках в операторах write или writeln записать имена этих переменных, например: write(a), writeln(f). Если таких переменных несколько, то их записывают через запятую, например: write(a, b, c, d), writeln(e,f, g, h).

Если информацией являются слова, предложения, части слов или символы, тогда она заключается между знаками " ' " - апостроф, например:

write('Введите длину пути'),

writeln('Значение скорости равно')

Возможен одновременный вывод и символьной информации и значений переменных, тогда в операторе write или writeln они разделяются запятыми, например:

write('Значение температуры равно ', t),

writeln('Скорость равна ', v, ' при времени движения ', t).

Заметьте, в конце слов, перед апострофом оставлен пробел.

Для чего это сделано? Конечно, чтобы следующая числовая информация была разделена со словами пробелом.

В чем состоит отличие в работе процедур write и writeln?

 

Процедура write требует от следующих процедур ввода или вывода, информацию вводить или выводить ее на ту же строку (в одну строку).

 

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

 

Например: write('Сегодня и завтра будут ');

write('выходные дни ');

 

На экран выводится:

Сегодня и завтра будут выходные дни

 

Пробел между словом "будут" и "выходные" обеспечивается за счет пробела в конце первой строки. Если его не будет, то вывод произойдет слитно:

write('Сегодня и завтра будут');

write('выходные дни');

Сегодня и завтра будутвыходные дни

 

Еще некоторые примеры: t:=20;

write('Время движения равно ');

write(t);

write(' секунд');

Время движения равно 20 секунд

a:= 18; b:= 12;

write('Сумма чисел равна ');

write(a+b);

write(', а произведение ');

write(a*b);

Сумма чисел равна 30, а произведение 216

 

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

 

В программе:

 

a:= 25;

b:= 17;

writeln('Сумма и разность чисел равны:');

writeln(a + b);

writeln(a - b);

 

На экране:

 

Сумма и разность чисел равны:

 

 

Так же, как и для операторов вывода информации, операторы read и reeadln являются операторами обращения к встроенным процедурам ввода информации.

Операторы read (считывать) и readln, который происходит от двух английских слов read (считывать) и line (строка) используются в программах для ввода информации в память компьютера и " считывания " значений в переменную.

Рассмотрим работу этих операторов и процедур ввода информации.

В нашей программе есть процедура readln(a). При выполнении программы, встретив оператор readln, компьютер приостановит работу в ожидании ввода информации. После того, как мы введем с клавиатуры значение переменной a - 16, компьютер присвоит это значение переменной a, т.е. отправит его в ячейку памяти с именем a и продолжит выполнение программы. Этот процесс мы называем " считыванием " значения в переменную.

 

Итак, процедуры read и readln "считывают" значения переменных и присваивают их тем переменным, которые записаны в них.

 

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

read(a, b, c, n, g, j, i), readln(e,f, k, p, d) и т.п.

Чем же отличается работа процедур read и readln?

 

Процедура read потребует после себя ввод или вывод информации в одну строку, а процедура readln дает возможность после себя вводить и выводить информацию с начала новой строки.

 

Например:

В программе: write('Введите значения a и b '); read(a, b);

write('Ввод информации в одну строку');

 

При выполнении этой части программы, на экран будет выведено все то, что записано в первом операторе write, затем в той же строке будет находиться курсор, и компьютер будет ждать ввода значений a и b. Введем их значения - 2 и 3, разделяя их пробелом или, иначе говоря, через пробел. После этого, в той же строке будет выдана информация записанная в следующем операторе write.

 

На экране:

Введите значения a и b 2 3 Ввод информации в одну строку

 

В программе:

writeln('Введите значения a, b и c); readln(a, b, c);

writeln('Ввод и вывод информации с начала строки');

 

На экране:

Введите значения a, b и c

2 3 4

Ввод и вывод информации с начала строки

 

 

В языке Паскаль используются целые числа, к которым относятся все натуральные числа, образовавшиеся в процессе подсчета предметов: 1, 2, 3, 4, 5, 6,...; отрицательные числа:..., -6, -5, -4, -3, -2, -1 и число ноль: 0. Целые числа образуют следующий ряд:

 

..., -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,...

 

В Паскале допускается диапазон целых чисел от -32768 до 32767.

 

Переменные, принимающие целые значения, записываются в разделе описаний с указанием типа integer (целый).

 

Например: var a, b, c, a1, b34, nomb: integer;

 

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

 

 

 

Операция Обозначение
Сложение +
Вычитание -
Умножение *
Деление a_div_b

 

Знак "_" означает пробел. Пробелы между именами переменных и названием операции (div) - обязательны. (Происходит от английского division - деление).

 

Остаток от деления a на b. a_mod_b

 

Кроме арифметических операций с целыми числами выполняются:

 

 

Знак Наименование Пример Пояснение
< Меньше a < 6 a меньше 6
<= Меньше или равно b <= 23 b меньше или равно 23
> Больше x > 5 x больше 5
>= Больше или равно y >= 8 y больше или равно 8
= Равно c = 10 c равно 10
<> Не равно d <> 3 d не равно 3

 

Логическая операция Ее значение Примеры записи Значение примера
AND Логическое "И" (x<7) and (x>3) x меньше 7 и x больше 3 (3<x<7)
  OR   Логическое "ИЛИ"   (y>100) or (y<10) y больше 100 или y меньше 10 (y<10, y>100)
NOT Логическое "НЕ" not (x=2) не x равно 2

 

Правила использования операций AND и OR

(Таблица истинности)

a b a and b a or b
истина истина истина истина
истина ложь ложь истина
ложь истина ложь истина
ложь ложь ложь ложь

 

 

Остановимся немного подробнее на операции целочисленного деления (div) и операции, выдающей остаток от деления (mod).

Так, результатом целочисленного деления 17 на 5 будет 3:

17 div 5 = 3, а результатом деления меньшего числа на большее, будет 0:

46 div 200 = 0.

Делаем вывод, что при целочисленном деление дробная часть отбрасывается, сам термин " целочисленное деление " или " деление нацело " говорит сам за себя.

Операция a div b осуществляет целочисленное деление целого a на целое b.

Дробная часть при этом отбрасывается.

 

Еще одна интересная операция - остаток от деления a на b.

Понятно, что остатком от деления 17 на 5 будет число 2:

17 mod 5 = 2,

а вот чему будет равен остаток от деления меньшего числа на большее, например, 46 mod 200?

 

Оказывается, в этом случае, результатом операции будет число 46. Вот другие примеры:

34 mod 125 = 34,

120 mod 6 = 0.

 

Интересно, что остаток от деления любого целого числа на 10 будет равен последней цифре этого числа:

 

543 mod 10 = 3, 45 mod 10 = 5, 7 mod 10 = 7.

 

<== предыдущая лекция | следующая лекция ==>
 | Константы
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 1258; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.042 сек.