Учебный курс Программирование на Delphi. Модуль 3
Учебный курс Программирование на Delphi. Модуль 3
Содержание
Типы данных Delphi
Целый тип
Язык Delphi поддерживает семь целых типов данных, описание которых приведено в табл. 1. Таблица 1. Целые типы
Тип | Диапазон | Формат | |
---|---|---|---|
Shortint | -128 - 127 | 8 битов | |
Smallint | -32768 - 32767 | 16 битов | |
Longint | -2147483648 - 2147483647 | 32 бита | |
Int64 | -263 -2 63-1 | 64 бита | |
Byte | 0 - 255 | 8 битов | |
Word | 0 - 65535 | 16 битов | |
Longword | 0 - 4294967295 | 32 бита |
Object Pascal поддерживает и наиболее универсальный целый тип - Integer, который эквивалентен Longint.
Вещественный тип
Язык Delphi поддерживает шесть вещественных типов. Типы различаются между собой диапазоном допустимых значений, количеством значащих цифр и количеством байтов, необходимых для хранения данных в памяти компьютера (табл. 2).
Таблица 2. Вещественные (дробные) типы
Тип | Диапазон | Значащих цифр | Байтов | |
---|---|---|---|---|
Real48 | 2.9 x 10 -39 - 1.7 x 1038 | 11 – 12 | 6 | |
Single | 1.5 x 10 -45 - 3.4 x 1038 | 7 – 8 | 4 | |
Double | 5.0 x 10 -324 - 1.7 x 10308 | 15 – 16 | 8 | |
Extended | 3.6 x 10 -4951 - 1.1 x 104932 | 19 – 20 | 10 | |
Comp | -2 63 +1 - 2 63 -1 | 19 – 20 | 8 | |
Currency | -9223372036854775808 - 9223372036854775807 | 19 –20 | 8 |
Язык Delphi поддерживает и наиболее универсальный вещественный тип - Real, который эквивалентен Double.
Символьный тип
Язык Delphi поддерживает два символьных типа: Ansichar и Widechar:
- тип Ansichar — это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;
- тип widechar — это символы в кодировке Unicode, им соответствуют числа от 0 до 65535.
Object Pascal поддерживает и наиболее универсальный символьный тип - Char, который эквивалентен Ansichar.
Строковый тип
Язык Delphi поддерживает три строковых типа: shortstring, Longstring и WideString:
- тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;
- тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;
- тип WideString представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти. Каждый символ строки типа WideString является Unicode-символом.
В языке Delphi для обозначения строкового типа допускается использование идентификатора string. Тип string эквивалентен типу shortstring.
Логический тип
Логическая величина может принимать одно из двух значений True (истина) или False (ложь). В языке Delphi логические величины относят к типу Boolean.
Линейный алгоритм
Алгоритм решения любой задачи на ЭВМ можно получить, используя и комбинируя только три структуры: последовательную, структуру ветвления и структуру цикла.
Последовательная структура, которую называют также линейным процессом, состоит в последовательном выполнении одного оператора (блоков операторов) за другим без каких – либо переходов.
При написании сложных программ их алгоритм сначала всегда представляют линейным: ввод данных – обработка их – вывод. Затем детализируется каждый блок программы, алгоритм и программа усложняются. При структурном программировании работа (и программа) каждого блока не зависит от других блоков. Нужно только знать входные и выходные данные. Такой принцип позволяет писать отдельные блоки разным программистам (т.е. сложную программу может писать коллектив программистов), уменьшает количество ошибок в программах, ускоряет процесс их отладки.
Инструкция присваивания
Инструкция присваивания является основной вычислительной инструкцией. Если в программе надо выполнить вычисление, то нужно использовать инструкцию присваивания. В результате выполнения инструкции присваивания значение переменной меняется, ей присваивается значение. Общий вид инструкции присваивания: Имя переменной : = Выражение; Выражение состоит из операндов и операторов. Операторы находятся между операндами и обозначают действия, которые выполняются над операндами. В качестве операндов выражения можно использовать: переменную, константу, функцию или другое выражение. Основные алгебраические операторы приведены в табл. 3.
Таблица 3. Алгебраические операторы
Оператор | Действие | |
---|---|---|
- | Вычитание | |
* | Умножение | |
/ | Деление | |
DIV | Деление нацело | |
MOD | Вычисление остатка от деления |
Стандартные функции
Математические функции указаны в таблице 4.
Таблица 4. Математические функции
Функция | Значение | |
---|---|---|
Abs(x) | Модуль x | |
Sqrt(x) | Квадратный корень из x | |
Sqr(x) | Квадрат x | |
Sin(x) | Синус x | |
Cos(x) | Косинус x | |
Arctan(x) | Арктангенс x | |
Exp(x) | Экспонента x | |
Ln(x) | Натуральный логарифм x | |
Random(x) | Случайное целое число в диапазоне от 0 до x-1 |
Функции преобразования
Функции преобразования (табл. 5) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Таблица 5. Функции преобразования
Функция | Значение функции | |
---|---|---|
Chr(x) | Символ, код которого равен x | |
IntToStr(x) | Строка, являющаяся изображением целого x | |
FloatToStr(x) | Строка, являющаяся изображением вещественного x | |
FloatToStrF(x, f, k,m) | Строка, являющаяся изображением вещественного x. f — формат; k — общее количество цифр; m — количество цифр после десятичной точки | |
StrToInt(s) | Целое, изображением которого является строка s | |
StrToFloat (s) | Целое, изображением которого является строка s | |
Round(x) | Целое, полученное путем округления x | |
Trunc(x) | Целое, полученное путем отбрасывания дробной части x | |
Frac(x) | Дробное, представляющее собой дробную часть вещественного x | |
Int(x) | Дробное, представляющее собой целую часть вещественного x |
Пример
- Условие. Найти сопротивление цепи из двух последовательно соединенных проводников.
- Использованные компоненты
Edit1 – ввод R1 Edit1 – ввод R2 - вывод результирующего сопротивления
- Программный код
- Форма с результатом работы программы
Задание
Таблица 6
Номер варианта | Условие | Исходные данные | |
---|---|---|---|
1 | Определить расстояние d между двумя точками на плоскости | х1, у1, x2, y2 | |
2 | Заданы 4 числа. Вычислить среднее арифметическое и среднее геометрическое их модулей | a, в, c, d | |
3 | Найти радиус окружности, описанной вокруг треугольника по формуле:
<math> </math> где р - полупериметр |
а, в, с | |
4 | Найти радиус круга, вписанного в треугольник со сторонами а, в, с по формуле:
, где р - полупериметр |
а, в, с | |
5 | Определить площадь треугольника по трем углам и высоте: | A, B, C, h | |
6 | Определить площадь треугольника по заданной стороне и углам:
, где р - полупериметр |
A, B, C, a | |
7 | Вычислить сопротивление цепи: | R1, R2, R3 | |
8 | Вычислить сопротивление цепи:
где р - полупериметр |
R1, R2, R3 | |
9 | По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону.
|
A, B, * | |
11 | Найти площадь ромба по стороне и острому углу:
, где а - сторона , *-угол |
а, * | |
12 | В арифметической прогрессии известны 1-й член и разность. Найти 30-й член этой прогрессии и сумму первых 40 членовгде р - полупериметр | а1, d | |
13 | Найти координаты центра отрезка, заданного координатами его концов. | x1, y1, x2, y2 | |
14 | Найти сумму всех натуральных чисел от 1 до m, используя формулу суммы членов арифметической прогрессии. | m |
Таблица 7
Номер варианта | Условие | Исходные данные | |
---|---|---|---|
1 | Найти произведение цифр заданного четырехзначного числа | n | |
2 | Найти площадь кольца с внутренним радиусом r и внешним радиусом R (r< R) | r, R | |
3 | Не используя никаких функций и никаких операций, кроме умножения, получить a8 за три операции. | a |
Таблица 8
Номер варианта | Условие | Исходные данные | |
---|---|---|---|
Треугольник со сторонами a, b, c является равнобедренным | |||
Данное четырехзначное число читается одинаково слева направо и справа налево | |||
Данное целое число является четным | |||
Сумма двух первых цифр заданного четырехзначного числа равна сумме двух его последних цифр | |||
Треугольник со сторонами a, b, c является равносторонним | |||
Данное целое число a кратно числу b | |||
Число с является средним арифметическим чисел a и b | |||
Сумма цифр данного четырехзначного числа является четным числом | |||
Числа x и y являются координатами точки, лежащей в третьей координатной четверти | |||
Произведение чисел a и b кратно числу c | |||
Данная тройка натуральных чисел a, b, c является тройкой Пифагора, т.е. c2 = a2 + b2 | |||
Сумма цифр данного трехзначного числа является нечетным числом | |||
Сумма двух натуральных чисел кратна трем | |||
Периметр треугольника со сторонами a, b, c больше числа d |
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.