- •Глава 7. Задачи по программированию для индивидуального решения
- •Предисловие
- •Введение
- •Глава 1. Работа в среде текстового редактора Word
- •§ 2 Манипуляции с Windows-окнами
- •8. Измените состав панелей инструментов в окне Word.
- •§ 3 Создание и сохранение простейшего документа
- •Заявление
- •§ 4 Загрузка документа в среду Word
- •§ 5 Пересылка в среде Word документа, хранящегося в одной папке (или диске) в другую папку (или на другой диск)
- •§ 6 Понятие абзаца
- •3.Это абзац, который состоит из одной строки.
- •§ 7 Копирование, перенос и удаление выделенных участков текста
- •§ 8 Перенос и копирование выделенных участков документа путем их «перетаскивания» с помощью мыши
- •§ 9 Установка параметров страницы. Элементы макетирования четырехстраничного текста
- •§ 10 Установка ориентации страницы и необходимых размеров страницы и ее полей
- •§ 11 Создание таблиц
- •Глава 1. Операционная система Windows
- •§ 1 Введение
- •§ 2 Графическая операционная система windows
- •§ 3 Первоначальное знакомство с Windows
- •§ 4 Основные операции в Windows
- •§ 5 Окна Windows
- •§ 6 Файловая система Windows
- •§ 7 Программа Проводник
- •§ 8 Операции с файлами и папками
- •§ 9 Пересылка файлов (папок) из одного места в другое
- •§ 10 Удаление файла (папки)
- •§ 11 Выбор нескольких файлов (папок)
- •§ 12 Создание папок
- •Глава 3. Работа в среде табличного процессора
- •§ 1 Вид окна Excel 2000
- •§ 2 Выделение ячеек, редактирование информации в ячейках
- •§ 3 Перемещение и копирование информации, содержащейся в ячейках
- •§ 4 Выполнение арифметических операций средствами Excel 2000
- •§ 5 Создание прогрессий
- •§ 6 Форматы ячеек
- •§ 7 Расчёты с использованием функций Excel 2000
- •§ 8 Формулы массива
- •§ 9 Индикация ошибок при использовании формул
- •§ 10 Решение уравнений с одним неизвестным с использованием функций Excel 2000
- •§ 11 Графическое представление данных с помощью диаграмм
- •§ 12 Использование Excel 2000 для управления базами данных
- •§ 13 Одновременное использование Excel 2000 и Word 2000
- •Литература
- •Глава 4. База данных и системы управления базами данных. Введение в систему управления базами данных ms Access
- •§ 1 Введение
- •§ 2 Проектирование базы данных (постановка задачи)
- •§ 3 Создание базы данных
- •§ 4 Установка и исправление свойств полей
- •§ 5 Определение структурной связи между таблицами
- •§ 6 Ввод, просмотр и корректировка данных. Использование свойств "Подстановки"
- •§ 7 Создание форм для ввода/редактирования данных в таблицах
- •§ 8 Вывод на печать характеристик и содержимого таблиц
- •§ 9 Сортировка, фильтрация и организация выборки данных (запросов)
- •§ 10 Построение и выполнение запросов на выборку данных
- •§ 11 Создание отчетов
- •Глава 5. Основы работы в Интернете
- •§ 1 Введение
- •§ 2 История Интернета
- •§ 3 Интернет в России
- •§ 4 Адреса и имена серверов
- •§ 5 Виды доступа в Интернет
- •§ 6 World Wide Web — «Всемирная паутина»
- •§ 7 Url и протоколы доступа к ресурсам Интернета
- •§ 8 Http- и ftp-серверы
- •§ 9 Броузер Internet Explorer 5
- •§ 10 Поисковые системы Интернета
- •§ 12 Почтовая программа Outlook Express 5
- •§ 13 Почтовая система Mail.Ru
- •§ 14 Программа архивации и разархивации WinZip
- •§ 15 Редактор Word 2000 и Интернет
- •§ 16 Расстановка гиперссылок
- •§ 17 Мастер Web-страниц редактора Word 2000
- •§ 18 Вставка графических объектов в документ Word 2000
- •§ 19 Работа со вставленными графическими объектами
- •§ 20 Размещение набора Web-страниц на сайте Narod.Ru
- •§ 21 Создание Web-страницы средствами сайта Narod.Ru
- •§ 22 Личный сайт и поисковые системы
- •§ 23 Чат и чат-серверы
- •§ 24 Интернет-магазины и интернет-услуги
- •Приложение 1. Темы рекомендуемых лабораторных работ
- •1. Виртуальное посещение музеев (2 часа)
- •2. Поиск необходимой информации (4 часа)
- •3. Организация почтового ящика, отправка и получение электронных писем (4 часа)
- •4. Отправка и получение электронных писем с помощью программы Outlook Express (4 часа)
- •5. Создание набора Web-страниц и размещение его на сайте (4 часа)
- •6. Создание Web-страницы средствами сайта (4 часа)
- •Библиографический список
- •Глава 6. Программирование в среде Delphi
- •§ 1 Введение
- •§ 2 Работа со средой Delphi
- •§ 3 Особенности программ, работающих под управлением ос Windows
- •§ 4 Реализация линейных алгоритмов на языке Object Pascal
- •§ 5 Общая структура программы
- •§ 6 Система типов языка Object Pascal
- •§ 7 Стандартные функции языка Object Pascal для работы с числовыми и символьными типами
- •§ 8 Ввод и вывод данных
- •§ 9 Реализация разветвляющихся алгоритмов
- •§ 10 Использование массивов и циклов
- •§ 11 Компонент Memo и его использование для ввода элементов массивов
- •§ 12 Использование таблицы для вывода двумерных массивов на экран
- •§ 13 Использование процедур и функций пользователя
- •§ 14 Обращение к внешним устройствам
- •§ 15 Вывод информации на бумагу
- •§ 16 Особенности переноса информации между жёстким диском некоторыми компонентами Delphi
- •§ 17 Консольное приложение
- •Глава 7. Задачи по программированию для индивидуального решения
- •§ 1 Линейная программа
- •§ 2 Библиотечные функции в линейных программах
- •Угол — количество гр., количество минут мин., количество секунд сек.
- •Примечание
- •§ 3 Разветвляющиеся программы
- •Примечание
- •Прямые перпендикулярны
- •§ 4 Циклические программы. Использование массивов в программах
- •§5 Внешние файлы. Использование массивов в программах
- •§ 6 Использование внешних процедур и функций в программах
- •Получить:
- •§ 7 Задачи на применение изученных алгоритмических структур
- •§ 8 Задачи на обработку матриц
- •Оглавление
- •§10 Решение уравнений с одним неизвестным с использованием функций Excel 2000……………………………………
- •Глава 5. Основы работы в Интернете…………………………
- •§3 Интернет в России……………………………… ...……….
- •Приложение 1. Темы рекомендуемых лабораторных работ……
- •Глава 6. Программирование в среде Delphi… …………………..
- •Глава 7. Задачи по программированию для индивидуального решения
- •§ 6 Использование внешних процедур и функций в программах
§ 6 Система типов языка Object Pascal
Object Pascal является языком строгой типизации. Это значит, что переменным, объявленным с некоторым конкретным типом, могут присваиваться значения только этого типа и, следовательно, выделяется необходимое количество памяти для их хранения и определены действия, выполняемые над ними. Количество стандартных типов Object Pascal больше, чем в TurboPascal, однако, между системами типов указанных языков нет противоречий. Кроме того, на основе стандартных типов пользователь имеет возможность создавать собственные типы. Для работы с числами используются две стандартных группы типов. Названия и характеристики некоторых числовых типов приведены в таблице 1.
Табл. 1
Тип |
Диапазон |
К-во цифр |
Формат, к-во байт |
ЦЕЛЫЕ |
|||
shortint |
-127…128 |
|
Знаковый, 1 |
smallint |
-32768…32767 |
|
Знаковый, 2 |
integer |
-32768…32767 |
|
Знаковый, 2 |
longint |
-2147483648…2147483647 |
|
Знаковый, 4 |
byte |
0…255 |
|
Беззнаковый, 2 |
word |
0…65535 |
|
Беззнаковый, 4 |
ВЕЩЕСТВЕННЫЕ |
|||
real |
2.9*10-39 …1.7*10+38 |
11-12 |
6 |
single |
1.5*10-45…3.4*10+38 |
7-8 |
4 |
double |
5*10-324… 1.7*10+308 |
15-16 |
8 |
extended |
3.4*10-4932… 1.1*10+4932 |
19-20 |
10 |
Значения целых типов в программе могут изображаться двумя способами: в десятичном виде и в шестнадцатеричном виде. В последнем случае цифры старше 9 обозначаются латинскими буквами от A до F, а перед числом ставится знак “$”. Пример $F1 241.
Действительные числа могут быть представлены двумя формами записи:
-
17.384 или 0.5 – с фиксированной точкой;
-
-
6Е-33.6х10-3 – с плавающей точкой.
Синтаксическая диаграмма вещественного числа с фиксированной или плавающей точкой
ВЕЩЕСТВЕННОЕ
ЧИСЛО
ПОРЯДОК
Над целыми и вещественными значениями допустимы операции сравнения и следующие арифметические операции:
-
4 арифметические действия, имеющие привычный смысл и обозначаемые следующими символами:
-
+ сложение;
-
- вычитание;
-
* умножение;
-
/ деление;
-
-
две дополнительные операции «типа деления», обозначаемые служебными словами:
-
div деление нацело (с отбрасыванием дробной части);
-
mod взятие остатка от целочисленного деления.
-
При применении к целым значениям все перечисленные операции (кроме деления) дают целый результат. Если хотя бы один операнд вещественный, результат всех перечисленных операций (кроме целочисленного деления) вещественный. Для выражения присваивания некоторой величине заданного значения используется символ «:=». Например, А:=5, В:=А, С:=А+В.
Язык программирования Object Pascal поддерживает три символьных типа ansichar, widechar и char. Типы ansichar и char используется для описания печатаемых и служебных символов, которые кодируются числами от 0 до 255. Символы типа widechar кодируются числами от 0 до 65535, причём первые 256 символов этого типа совпадают с символами ansichar и char.
Последовательности символов (символьные массивы), называемые строками, могут быть описаны с использованием какого-либо из трёх стандартных строковых типов shortstring, longstring, widestring. Тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов. Тип longstring представляет собой динамически размещаемые в памяти компьютера строки длина которых ограничена только объёмом свободной памяти. Тип widestring представляет собой динамически размещаемые в памяти компьютера строки длина которых ограничена только объёмом свободной памяти, однако, в отличие от строки типа longstring каждый символ кодируется 16 битами. Допускается для обозначения типа shortstring использование идентификатора string, который определён в языке TurboPascal. Для обозначения величин символьных и строковых типов используются символы или последовательности символов, заключённые между двух апострофов (‘x’ – символ, ‘xyz’ - строка). Пустая строка обозначается следующим образом ‘’. Если символ не имеет графического представления, его можно представить в виде решётки, за которой следует код нужного символа. Пример: #7 - подача звукового сигнала. Переход к новому параграфу в Windows имеет код 13.
Для символов и строк допускаются операции сравнения. Из двух сравниваемых символов большим считается тот, который имеет большее значение числового кода. Например, ‘1’<’2’; ‘5’>’4’; ‘a’<’b’; ‘d’>’c’. При сравнении строк в языке Pascal действуют следующие правила:
-
Более короткая строка всегда меньше более длинной.
-
Если длины сравниваемых строк равны, то происходит поэлементное сравнение символов этих строк слева направо по правилам сравнения символов.
Для строк, кроме того, допускается операция конкатенации, обозначаемая знаком «+». Смысл конкатенации заключается в формировании новой строки в виде строк-операндов, расположенных последовательно. В отличие от сложения чисел, порядок следования операндов влияет на результат конкатенации. Например, ‘город’ + ‘ Москва ’ ‘город Москва’, но ‘ Москва ’ + ‘город’ ‘Москва город’.
Булевский (логический) тип. В разделе описаний X, Y, Z: boolean;. Значения булевского типа (истина/ложь) обозначаются стандартными идентификаторами true(истина) и false(ложь) и занимают 1 байт памяти. Над значениями булевского типа допустимы операции сравнения, причём считается, что true > false. Кроме того, в Паскале имеются 4 стандартные логические операции, обозначаемые служебными словами:
-
Not (Not A = Ā;)– логическое отрицание;
-
And (A and B; ) – логическое умножение (конъюнкция);
-
Or (A or B;) – логическое сложение (дизъюнкция);
-
Xor (A xor B;)- исключающее «или» (сложение по модулю 2).
Операция |
A |
B |
Результат |
Not A |
1 (true) |
- |
0 (false) |
0 (false) |
- |
1 (true) |
|
A and B |
0 (false) |
0 (false) |
0 (false) |
0 (false) |
1 (true) |
1 (true) |
|
1 (true) |
0 (false) |
0 (false) |
|
1 (true) |
1 (true) |
1 (true) |
|
A or B |
0 (false) |
0 (false) |
0 (false) |
0 (false) |
1 (true) |
1 (true) |
|
1 (true) |
0 (false) |
1 (true) |
|
1 (true) |
1 (true) |
1 (true) |
|
A хor B |
0 (false) |
0 (false) |
0 (false) |
0 (false) |
1 (true) |
1 (true) |
|
1 (true) |
0 (false) |
1 (true) |
|
1 (true) |
1 (true) |
0 (false) |
Результатом каждой из логических операций является логическая величина. Для представления операций сравнения используются следующие символы:
= равно;
> больше;
< меньше;
>= больше или равно;
<= меньше или равно;
<> не равно.
Пример A<B+1; C<=’B’ X<>true.
В зависимости от типа используемых операций выражения могут быть арифметическими, логическими (булевскими), строковыми. Реальные выражения могут включать как арифметические операции, так и операции сравнения и логические операции. Приоритеты выполнения операций каждого типа следующие.
Not
* / Mod Div And
+ - Or
= < > <= >= <>
Чем выше строка, тем выше приоритет операции. Операции, стоящие в одной строке, имеют одинаковый приоритет и выполняются в порядке следования. Для изменения «естественного» порядка выполнения операций используются круглые скобки ().
Пример. Имеются 3 числа А, В, С. Проверить, можно ли построить треугольник, длины сторон которого равны указанным числам. Условия существования треугольника имеют вид A+B>C и A+C>B и C+B>A. Логические выражения, отражающие этот факт, будут иметь вид:
-
(A+B>C) AND (A+C>B) AND (C+B>A)
-
var A,B,C: real;
L1,L2,L3: boolean;
……………………
L1:=A+B>C;
L2:=A+C>B;
L3:=B+C>A;
L1 AND L2 AND L3; {выражение равно true , все три условия выполнены, и false, если не выполнено хотя бы одно из них}
……………………..
Выполнение операций в выражениях или операций сравнения требует, чтобы операнды имели совместимые типы. Типы совместимы, если выполняется хотя бы одно из следующих условий:
-
Два типа эквивалентны, т.е. имеют один и тот же идентификатор.
-
Оба типа являются либо целыми, либо вещественными.
-
Один тип является базовым типом второго или оба типа имеют один и тот же базовый тип.
Важный частный случай – совместимость типов двух величин, стоящих в левой и в правой частях оператора присваивания (совместимость по присваиванию).
-
Оба типа совместимыми дискретными или вещественными типами, и значения левой части попадают в диапазон возможных значений типа левой части.
-
Тип левой части является вещественным, а тип правой части – целым.
Если в операторе присваивания не выполняется ни одно из перечисленных условий, то на этапе компиляции будет выдано сообщение об ошибке.
Приведенная выше информация о системе типов языка Object Pascal, очевидно, не является исчерпывающей. Рассматривались только стандартные скалярные типы данных (за исключением строк), т.е. значения данных определяются единственной величиной. Однако, этой информации достаточно для описания переменных, которые будут использованы при решении простых задач на языке Object Pascal.
Задание: Получить у преподавателя 1-ю индивидуальную задачу и создать программу её решения. Ввод исходных данных и вывод результата выполнить с использованием окон ввода и окон редактирования.
Отчёт по данной работе должен включать перечень использованных визуальных компонентов, описание свойств компонентов, изменённых при создании формы или изменяемых в процессе выполнения программы, описание событий, изменяющих ход выполнения программы, описание использованных в программе констант и переменных (указать их типы и диапазоны изменения), распечатку процедуры обработки каждого из указанных событий.