|
Урок 28
Программирование линейных алгоритмов Ключевые слова: • вещественный тип данных Программы, реализующие линейные алгоритмы, являются простейшими. Все имеющиеся в них операторы выполняются последовательно, один за другим. 3.3.1. Числовые типы данных Вы уже знакомы с основными числовыми типами данных integer и real. К ним применимы стандартные функции, часть из которых приведена в табл. 3.3. Таблица 3.3 Стандартные функции Паскаля Исследуем работу функций round, int и frас, применив их к некоторому вещественному х. Соответствующая программа будет иметь вид: program n_3; var x: real; begin writeln ('Исследование функций round, int, frac); end. Запустите программу несколько раз для каждого х ∈ {10,2; 10,8; -10,2; -10,8}. Что вы можете сказать о типе результата каждой из этих функций?
Над целыми числами в языке Паскаль выполняются следующие операции: сложение (+), вычитание (-), умножение (*), получение целого частного (div), получение целого остатка деления (mod) и деление (/). Результаты первых пяти операций — целые числа. Результатом операции деления может быть вещественное число. Рассмотрим пример использования операций div и mod, записав на языке Паскаль программу нахождения суммы цифр вводимого с клавиатуры натурального трёхзначного числа. program n_4; var x, a, b, c, s: integer; begin writeln ('Нахождение суммы цифр трёхзначного числа'); end. Определите чему равна сумма цифр числа 123 и числа -123? Совпадают ли ваши результаты с результатами работы программы? Как можно объяснить и исправить ошибку в программе?
Значением символьной величины (тип char) в языке Паскаль является любой из символов, который можно получить на экране нажатием на клавиатуре одной из клавиш или комбинации клавиш, а также некоторых других символов, в том числе и невидимых. Множество таких символов состоит из 256 элементов, каждому из которых согласно используемой кодовой таблице поставлен в соответствие код — число 0 до 255. Символы, соответствующие первым 32 кодам, являются управляющими, а остальные — изображаемыми. К изображаемым символам относится и пробел, имеющий код 32. Знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. Буквам национального алфавита соответствуют коды с номерами 128 и далее. В тексте программы константу символьного типа можно задать, заключив любой изображаемый символ в апострофы: '5', 'В', '*'. Если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов. Чтобы найти код символа, используют функцию ord, где в качестве параметра задают символ. Чтобы по коду узнать символ, используют функцию chr, где в качестве параметра указывают код символа. Значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы. В Паскале (как и в алгоритмическом языке) строки можно сцеплять. Пример. Запишем на языке Паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. Затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной. program n_5; var a: char; kod: integer; b: string; begin writeln ('Код и строка'); end.
Как известно, величины логического типа принимают всего два значения; в Паскале это false и true. Эти константы определены так, что false < true. Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. Поэтому в Паскале логической переменной можно присваивать результат операции сравнения. Пример. Напишем программу, определяющую истинность высказывания «Число п является чётным» для произвольного целого числа п. ans:=n mod 2 = 0 переменной ans будет присвоено значение true при любом чётном п и false в противном случае. program n_6; var n: integer; ans: boolean; begin writeln ('Определение истинности высказывания о чётности числа'); end.
Логическим переменным можно присваивать значения логических выражений, построенных с помощью известных вам логических функций и, или, не, которые в Паскале обозначаются соответственно and, or, not. Пример. Напишем программу, определяющую истинность высказывания «Треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел а, b, с. program n_7; var a, b, с: integer; ans: boolean; begin writeln ('Определение истинности высказывания о равнобедренном треугольнике'); end. Вопросы и задания Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий. |
|