Учебный курс Программирование на Delphi. Модуль 3

Материал из НГПУ им. К.Минина
Перейти к: навигация, поиск

Учебный курс Программирование на Delphi. Модуль 3

Программирование на Delphi линейных алгоритмов

Типы данных 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

Таблица 7

Таблица 8

Литература

  1. Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
  2. Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
  3. Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.


Ссылки

Учебный курс Программирование на Delphi

Учебный план курса Программирование на Delphi