Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2017-10-16 | 580 |
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 байта, со знаком |
|
|
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!