Автор работы: Пользователь скрыл имя, 22 Сентября 2011 в 14:45, контрольная работа
1. Какова последовательность решения задач на ЭВМ?
2. Что такое алгоритм?
3. Какова структура программы на Pascal?
4. Что такое тип данных? Перечислить стандартные типы данных с их зарезервированными словами.
Следующая группа стандартных функций для аргумента целого типа дает действительный результат:
Sin(X) | Синус угла, заданного в радианах |
Cos(X) | Косинус угла, заданного в радианах |
ArcTan(X) | Арктангенс угла, заданного в радианах |
Ln(X) | Логарифм натуральный числа х |
Exp(X) | Экспонента числа х |
Sqrt(X) | Корень квадратный числа х |
Результат выполнения функции проверки целой величины на нечетность Odd(X) имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный:
Х=5
Odd(X)=TRUE, Х=4 Odd(X) = FALSE.
Для быстрой работы с целыми числами
определены процедуры:
|
ДЕЙСТВИТЕЛЬНЫЕ
типы определяет те данные, которые
реализуются подмножеством
|
Тип Real определен в стандартном ПАСКАЛЕ и математическим сопроцессором не поддерживается.
Остальные действительные типы определены стандартом IEEE 457 и реализованы на всех современных компьютерах.
Для их
использования при наличии
Тип Comp хотя и относится к действительным типам, хранит только длинные целые значения.
Над действительными операндами можно выполнять следующие арифметические операции, дающие действительный результат:
сложение + , вычитание - , умножение * , деление /
К величинам действительного типа применимы все операции отношения, дающие булевский результат.
Один из операндов, участвующих в этих операциях, может быть целым.
К
действительным аргументам применимы
функции, дающие действительный результат:
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 возвращает значение числа Пи действительного типа.
К аргументам действительного типа применимы также функции
Trunc(X) и Round(X),|
дающие целый результат. Первая из них выделяет целую часть действительного аргумента путем отсечения дробной части, вторая округляет аргумент до ближайшего целого.
ЛОГИЧЕСКИЙ тип (Boolean) определяет те данные, которые могут принимать логические значения TRUE и FALSE. К булевским операндам применимы следующие логические операции:
[Not And Or xor.
Логический тип определен таким образом, что FALSE < TRUE. Это позволяет применять к булевским операндам все операции отношения.
СИМВОЛЬНЫЙ ТИП (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора. Символьная константа может записываться в тексте программы тремя способами:
- как один символ, заключенный в апострофы, например:
'А' 'а' 'Ю' 'ю'
- с помощью конструкции вида #К, где К - код соответствующего символа, при этом значение К должно находиться в пределах 0..255;
К величинам символьного типа применимы все операции отношения. Для величин символьного типа определены две функции преобразования
Ord(C) Chr(K)
Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.
К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:
Pred(C) Succ(C) Pred('F') = 'Е' Succ('Y') = 'Z'
При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.
Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит эти литеры в верхний регистр 'A'..'Z'.
АДРЕСНЫЙ ТИП (Pointer) определяет переменные, которые могут содержать значения адресов данных или фрагментов программы. Для хранения адреса требуются два слова (4 байта), одно из них определяет сегмент, второе - смещение.
Типы данных должны быть описаны в блоке Var до их использования. Причем блок Var предшествует ключевому слову Begin. Переменные одного типа отделяются друг от друга запятой
Формат описания: Var Переменная!, Переменная2, .... Переменная1М : ТипДанных;
Примеры описания типов данных:
Var Numberl, I\lumber2, Raznost, Summa : Integer; {Целые числа}
Countl, Count2, Count3 : Word; {Целые числа типа Word}
I : Byte; {Описание целых чисел типа Byte}
Rl, R2, Integral : Real; {Описание вещественных чисел}
Ch, Vvodl : Char; {Описание символьного типа}
Strokal, Family, Age : String {Описание строкового типа}
С, D, E : Boolean; {Описание логического типа}
Массивы представляют собой упорядоченную совокупность величин одного типа. Каждая отдельная величина называется компонентой массива. Тип компонент может быть любым, принятым в языке ПАСКАЛЬ, кроме файлового типа. Тип компонент называется базовым типом. Вся совокупность компонент обозначается одним именем. Для обозначения отдельных компонент используется конструкция, называемая переменной с индексом или с индексами:
А[5]
S[k+1]
В[3,5]
В качестве индекса может быть использовано выражение.
Массивы различают по размерности - количеству индексов. Чаще используют одномерные и двумерные массивы. Одномерные массивы представляют собой последовательно размещенные в памяти величины, а двумерные - таблицу, причем данные хранятся по строкам. Pascal поддерживает массивы размерностью до 63.
Объявление
массива можно произвести в блоке
Var или используя описание типа. Пример
объявления одномерного массива:
Var massl : Array[1..9] Of Real; | ||
Пример объявления двумерного массива: | ||
Varmass2 : Array[1..3, 1..3] Of Integer; |
Пример объявления одномерного массива как типа: Type massiv=Array[1..100] Of Integer; Var a : massiv;
Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.
Первый индекс определяет номер строки, второй - номер столбца.
Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.
Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом END.
Например, записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи:
Type Row=Record
FIO: String[20]; TEL: String[7]; end;
Var str: Row;
Описание записей возможно и без использования имени типа, например:
var str: Record
FIO: String[20];
TEL: String[7]
end;
Обращение к записи в целом допускается только в операторах присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа. Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например: str.FIO, str.TEL
Такое имя называется составным. Компонентой записи может быть так же запись, в таком случае составное имя будет содержать не два, а большее количество имен.
Обращение к компонентам записей можно упростить, если
воспользоваться оператором присоединения WITH.
Он позволяет заменить составные имена, характеризующие каждое поле, просто на имена полей, а имя записи определить в операторе присоединения:
with М do OP;
Здесь М - имя записи, ОР - оператор, простой или составной. Оператор ОР представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена. Иногда содержимое отдельной записи зависит от значения одного из ее полей. В языке ПАСКАЛЬ допускается описание записи, состоящей из общей и вариантной частей. Вариантная часть задается с помощью конструкции case Р of,
где Р - имя поля из общей части записи. Возможные значения, принимаемые этим полем, перечисляются так же, как и в операторе варианта. Однако вместо указания выполняемого действия, как это делается в операторе варианта, указываются поля варианта, заключенные в круглые скобки. Описание вариантной части завершается служебным словом end. Тип поля Р можно указать в заголовке вариантной части, например: case Р: Integer of