- •Программирование на Delphi Методические указания
- •230700.62 - “Прикладная информатика”
- •Организация и методические указания по выполнению лабораторных работ
- •Тема № 1 среда программирования delphi
- •1.1. Теоретическая часть
- •1.2. Контрольные вопросы
- •1.3. Задания
- •Тема № 2 компоненты delphi
- •2.1. Теоретическая часть
- •2.2. Контрольные вопросы
- •2.3. Задания
- •3.1. Теоретическая часть
- •3.2. Контрольные вопросы
- •3.3. Задания
- •Лабораторная работа № 4 типы данных delphi
- •4.1. Теоретическая часть
- •4.2. Контрольные вопросы
- •4.3. Задания
- •Лабораторная работа № 5 процедуры и функции
- •5.1. Теоретическая часть
- •5.2. Контрольные вопросы.
- •Лабораторная работа № 6
- •6.1. Теоретическая часть
- •6.2. Контрольные вопросы
- •6.3. Задания
- •Литература
- •Рекомендуемая литература
3.2. Контрольные вопросы
1. Какие бывают зарезервированные слова?
2. Что такое идентификатор? Какие ограничения накладываются на идентификатор?
3. Как определить значение переменной?
4. Для чего предназначен условный оператор? Какая форма записи условного оператора?
5. Инструкция выбора?
6. Как и когда применяется составной оператор?
7. Перечислите элементы языка Делфи.
3.3. Задания
1. Напишите программу вычисления высот треугольника р=(a+b+c)/2, S=sqrt(p*(p-a)*(p-b)*(p-c)).
2. Написать программу «Угадай число». Программа загадывает число от 1 до 1000 с помощью генератора случайных чисел (randomize), пользователю дается 10 попыток чтобы отгадать число (программа указывает больше или меньше введенное пользователем число, чем задуманное).
3. Написать программу тестирования знаний пользователя (5 вопросов) с выставлением соответствующей оценки.
4. Написать программу, вычисляющую значения переменной:
5. Написать программу, вычисляющую значения переменных:
значения b и m задаются.
6. Написать программу, вычисляющую значения переменных:
значения k и a задаются.
7. Заданы три стороны треугольника a, b и с. Определить является ли этот треугольник прямоугольным, и какая сторона служит гипотенузой.
8. Создать программу, вычисляющую проценты от введенного пользователем числа.
9. Написать программу, которая во введенной с клавиатуры строке перед символами "!" вставит подстроку "Лето".
10. Написать программу, вычисляющую значения переменных:
значения a вводится с клавиатуры.
Лабораторная работа № 4 типы данных delphi
Цель работы: изучение свойств и событий компонентов; переменных и констант; типов данных Delphi.
4.1. Теоретическая часть
Типы данных
Таблица 2. Целочисленные типы
Тип |
Диапазон |
Integer |
-2147483648 .. +2147483647 |
Cardinal |
0 .. 4294967295 |
Shortint |
-128 .. +127 |
Smallint |
-32768 .. +32767 |
Longint |
-2147483648 .. +2147483647 |
Int64 |
-263 .. +263-1 |
Byte |
0 .. +255 |
Word |
0 .. +65535 |
Longword |
0..4294967295 |
Логические типы
Существуют следующие логические типы: Boolean, ByteBool, WordBool и LongBool. Использовать рекомендуется тип Boolean. Тип Boolean принимает значения True и False.
Символьные типы
Символьные типы обеспечивают хранение отдельных символов. Основной тип данных - Char, который содержит символы с кодами 0..255. Существуют ещё типы AnsiChar и WideChar. Тип AnsiChar эквивалентен типу Char. Занимает в памяти 1 байт. Для кодирования символов используется код ANSI (American National Standards Institute).
Вещественные (действительные) типы
Эти типы используются для хранения вещественных, т.е. действительных чисел. Отличаются они границами допустимых значений и точностью, т.е. числом цифр после запятой. Ниже приведены стандартные типы дробных чисел и соответствующие им диапазоны допустимых значений.
Таблица 3. Вещественные типы данных
Тип |
Диапазон |
Количество значащих цифр |
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.6·10-4951 .. 1.1·104932 |
19-20 |
Comp |
-263+1 .. 263-1 |
19-20 |
Currency |
-922337203685477.5808 .. 922337203685477.5807 |
19-20 |
Строковые типы
В выражениях Delphi поддерживает три физических строковых формата: короткий (ShortString), длинный (LongString) и широкий (WideString). Их можно комбинировать в операторах присваивания и выражениях (все необходимые преобразования Delphi выполняет автоматически).
Переменные типов AnsiString и WideString - это динамически распределяемые массивы символов, максимальная длина которых ограничивается только наличием памяти. Разница между ними состоит в том, что в AnsiString знаки записываются в формате char, а в WideString- в формате WideChar. Тип ShortString-это, по существу, массив Array [0..255] of char. Символы, составляющие строку, занимают места от 1 до 255.
Структурные типы данных
Массив – это структура данных, доступ к элементам которой осуществляется по номеру (или индексу). Все элементы в массиве имеют одинаковый тип. Индекс элемента массива может быть вычисляемым, что позволяет организовывать компактную и эффективную обработку больших наборов данных. Описание массива имеет вид:
имя-массива : array[диапазон] of тип-элемента;
Слова array (массив) и of - ключевые. Диапазон определяет нижнюю и верхнюю границы массива и, соответственно, число элементов в нем. Тип элемента определяет тип каждого элемента массива. Массив А, состоящий из 5 столбцов и 10 строк целого типа описывается в программе так: А : array [1..5,1..10] of integer;
Множество - это группа элементов, объединённая под одним именем, и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Количество элементов в одном множестве не может превышать 256. Множество описывается так:
type имя_множества = set of диапазон_значений_множества;
Конкретные значения множества задаются в программе с помощью перечисления элементов, заключённых в квадратные скобки. Допускается использовать и диапазоны: MySet:=[1, 3 .. 7, 9];
Таблица 4. Основные арифметические операции
Оператор |
Операция |
Типы операндов |
Тип результата |
Пример |
+ |
сложение |
integer, real |
integer, real |
2 + 1 = 3 |
- |
разность |
integer, real |
integer, real |
7 – 1 = 6 |
* |
умножение |
integer, real |
integer, real |
2 * 4 = 8 |
/ |
деление |
integer, real |
real |
10 / 2 = 5 |
div |
целая часть результата деления |
Integer |
integer |
10 div 3 = 3 |
mod |
остаток от деления |
integer |
integer |
10 mod 3 = 1 |
Таблица 5. Операции сравнения
-
Оператор
Значение
=
Равно
<>
Не равно
>
Больше
<
Меньше
>=
Больше или равно
<=
Меньше или равно
Таблица 6. Логические операции
-
Оператор
Значение
Результат
not
НЕ
отрицание
and
И
равен true, если оба операнда равны true
or
ИЛИ
равен true, если хотя бы один из операндов равен true
xor
исключающее ИЛИ
равен true, если операнды не равны друг другу
Для некоторых типов данных есть дополнительные операции. Например, для множеств - оператор in проверяет, входит ли некоторое значение в множество. Например: X := [2, 4, 8, 10]; Выражение 2 in X истинно (имеет значение true); Выражение 6 in X ложно (имеет значение false).