Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2017-10-16 | 581 |
5.00
из
|
Заказать работу |
|
|
Разминка
Задание 1. Найдите ошибки в программе. Напишите правильный вариант программы.
Задание 2. Найдите ошибки в программе. Напишите правильный вариант программы.
Все данные, с которыми работает программа, хранятся в виде переменных – областей оперативной памяти, доступ к которым осуществляется по имени.
Оперативную память можно представить как массив ячеек, в каждой из которых может храниться единица информации, называемая байтом. Вся информация, хранимая компьютером, представляется числами, а одна ячейка ОП может содержать одно целое число от 0 до 255. Однако языки программирования высокого уровня предоставляют возможность использования чисел, больших, чем 255, а также символов, строк и еще множества других видов информации. Мы не будем останавливаться на подробностях хранения этих видов информации в памяти, а только заметим, что для хранения разных видов информации необходимо разное количество ячеек памяти.
Для того, чтобы автоматически выполнялось преобразование числовой информации, хранимой в памяти, в нужный вид, при описании переменной компилятору необходимо указать, какого типа информация находится в данной переменной.
Переменные описываются в разделе описания переменных, который начинается с ключевого слова Var. При этом указывается имя переменой и ее тип:
Var <имя переменной>:<тип переменной>;
Существует пять целых типов: Shortint, Integer, Longint, Byte, Word. Они отличаются диапазоном значений, которые могут принимать, а значит, и размером памяти, отводимой для их представления.
Таблица 1
Целочисленные типы данных, их диапазоны значений
Тип | Диапазон значений | Объем памяти |
Byte | 0... 255 | 1 байт, без знака |
Shortint | -128... 127 | 1 байт, со знаком |
Word | 0... 65535 | 2 байта, без знака |
Integer | -32768... 32767 | 2 байта, со знаком |
Longint | -2147483648... 2147483647 | 4 байта, со знаком |
Таблица 2
|
Выражения и операции над величинами целого типа:
Операция | алгебра | Pascal |
Сложение | a+b | a+b |
Вычитание | a-b | a-b |
Умножение | ab, a b, a(b) | a*b |
Деление вещественное | a/b, a:b | a/b |
Целочисленное деление (выделяется только целая часть от деления одного числа на другое) | a div b | |
Деление с остатком по модулю (выделяется только остаток от деления одного числа на другое) | a mod b |
! Переменной целого типа присваивать значение результата обычной операции деления «/» нельзя, даже если деление может быть произведено без остатка. При попытке компиляции такой программы выдается ошибка Type mismatch (несоответствие типов данных), поэтому ошибки такого типа просто обнаружить и исправить. Сложнее с ошибками выхода за пределы диапазона допустимых значений. Такие ошибки являются динамическими, они проявляются в ходе выполнения программы и зависят от хода ее выполнения.
Пример:
Выполнения операций Div и Mod.
19 Div 4 = 4 | 19 Mod 4 = 3 |
-19 Div 4 = -4 | -19 Mod 4 = -3 |
19 Div -4 = -4 | 19 Mod -4 = 3 |
-19 Div -4 = 4 | -19 Mod -4 = -3 |
-19 Mod 4 = -3, т.к. -19: 4 — (-4 * 4) -3
19 Mod -4 = 3, т.к. 19: -4 — (-4 * -4) + 3
19 Mod -4 = -3, т.к. -19: -4 — (4 * -4) - 3
Задние 4. Создать файл delenie.pas. Вызовите окно для просмотра значений переменных. Введите имя переменной, участвующей в программе. Просмотрите, как будет изменятся значение переменной в результате выполнения команд. Выпишите результаты выполнения каждой команды в виде комментариев.
Вещественные типы данных
Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 6 байт. Паскаль допускает представление вещественных значений и с плавающей, и с фиксированной точкой.
Вещественные типы данных
Тип | Диапазон | Мантисса | Требуемая память |
real | -2.9*10-39..1.7*1038 | 11 — 12 | |
single | 1.5*10-45..3.4*1038 | 7 — 8 | |
double | 5.0*10-324..1.7*10308 | 15—16 | |
extended | 3.4*10-4932..1.1*104932 | 19 — 20 | |
comp | -9.2*1018..9.2*1018 | 10 — 20 |
Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т. е. парой чисел вида <мантисса> Е<порядок>.
|
Числа из предыдущего примера в форме с плавающей точкой будут записаны так:7.32Е+00, 4.56721Е+02, I.5E —02.
Совместимость типов
С точки зрения оператора присваивания типы изменяемой переменной и значения переменной считаются соответствующими друг другу, если значение переменной входит в подмножество возможных значений изменяемой переменной.
При использовании арифметических выражений в качестве значений, присваиваемых переменным, необходимо следить за типом результата этих выражений. Например, при сложении двух переменных одного типа, результирующее значение может выходить за пределы множества значений данного типа.
Еще одна особенность вычисления арифметических выражений состоит в том, что, если в нем используется деление, то результат выражения всегда является вещественным числом, то есть тип результата, например, Real, даже если деление может быть произведено без остатка.
Тем не менее, в ТР существуют специальные средства (процедуры), позволяющие преобразовать одни типы данных в другие.
Процедуры Trunc и Round используются для преобразования вещественного типа данных в целочисленный.
Задание 7. Подпишите значения переменных при выполнении каждой команды в программе.
Program tipi;
Var
R1, R2: Real;
T1, T2, T3: Integer;
L: Longint;
Begin
R1:=1.25; | {Переменная R1 типа Real может иметь вещественное значение} |
R2:=2.45; | {Переменная R2 типа Real может иметь вещественное значение} |
R2:=3; | {переменная R2 типа Real может иметь целое значение, хотя в памяти данное значение будет храниться как вещественное: 3.00} |
R2:= R1; | {вещественная переменная R2 может принимать любое значение, хранимое в переменной R1, т.к. это переменные одного типа} |
T1:= 4; | {переменная Т1 типа Integer может иметь целое значение, так как оно входит во множество возможных значений Integer} |
T1:= 5.67; | {переменная Т1 типа Integer не может иметь вещественные значения} |
T2:= Т1; | {переменная Т2 типа Integer может иметь любое значение, хранимое в переменной Т1 того же типа} |
T2:=R2; | {хотя значением переменной R2 является число 3, в памяти оно хранится как 3.00, то есть как вещественное, поэтому переменной Т2 нельзя присвоить данное значение} |
T1:=30000; | |
T2:=30000; | |
T3:=T1+T2; | {попытка некорректного присвоения переменной Т3 значения 60000, выходящего за пределы множества типа Integer} |
T3:=T1/T2; | {попытка некорректного присвоения переменной значения 1.00, выходящего за пределы множества типа Integer, следовательно, тип результата выражения автоматически становится Real} |
L:=105; | |
T:=L; | {хотя пример и корректен, не рекомендуется использовать такого рода присвоения, так как на этапе выполнения программы в переменной типа Longint может оказаться число, выходящее за пределы множества допустимых значений типа изменяемой переменной. Данная ошибка – динамическая}. |
T2:=trunc(R2) | |
T1:=round(R2) |
End.
|
Домашнее задание
а:= 15 Div (16 Mod 7);
b:= 34 Mod а*5 — 29 Mod 5 * 2;
а:= 4*5 Div 3 Mod 2;
b:= 4 * 5 Div (3 Mod 2);
а) Наберите программу в среде TP (все необходимые части программы).
б) Определите оптимальные типы для всех переменных, участвующих в программе.
в) Определить, как меняются значения переменных при выполнении команд (используйте пошаговый режим).
г) Программу сохраните на дискету под именем DZ_7_2.pas
д) В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.
|
Разминка
Задание 1. Найдите ошибки в программе. Напишите правильный вариант программы.
Задание 2. Найдите ошибки в программе. Напишите правильный вариант программы.
Все данные, с которыми работает программа, хранятся в виде переменных – областей оперативной памяти, доступ к которым осуществляется по имени.
Оперативную память можно представить как массив ячеек, в каждой из которых может храниться единица информации, называемая байтом. Вся информация, хранимая компьютером, представляется числами, а одна ячейка ОП может содержать одно целое число от 0 до 255. Однако языки программирования высокого уровня предоставляют возможность использования чисел, больших, чем 255, а также символов, строк и еще множества других видов информации. Мы не будем останавливаться на подробностях хранения этих видов информации в памяти, а только заметим, что для хранения разных видов информации необходимо разное количество ячеек памяти.
Для того, чтобы автоматически выполнялось преобразование числовой информации, хранимой в памяти, в нужный вид, при описании переменной компилятору необходимо указать, какого типа информация находится в данной переменной.
Переменные описываются в разделе описания переменных, который начинается с ключевого слова Var. При этом указывается имя переменой и ее тип:
Var <имя переменной>:<тип переменной>;
Существует пять целых типов: Shortint, Integer, Longint, Byte, Word. Они отличаются диапазоном значений, которые могут принимать, а значит, и размером памяти, отводимой для их представления.
Таблица 1
Целочисленные типы данных, их диапазоны значений
Тип | Диапазон значений | Объем памяти |
Byte | 0... 255 | 1 байт, без знака |
Shortint | -128... 127 | 1 байт, со знаком |
Word | 0... 65535 | 2 байта, без знака |
Integer | -32768... 32767 | 2 байта, со знаком |
Longint | -2147483648... 2147483647 | 4 байта, со знаком |
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!