
- •Глава 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 Использование внешних процедур и функций в программах
§ 11 Компонент Memo и его использование для ввода элементов массивов
Рассмотрим решение более сложной задачи, в которой расчёт площади треугольника является лишь одним из нескольких шагов алгоритма, одной из нескольких процедур. Пусть имеется многоугольник. Количество его вершин равно (n+1), начиная с 0-й, кончая n-й. 0-я вершина совмещена с началом координат. Координаты остальных вершин известны. Требуется найти площадь многоугольника.
Y X 0 1 2 3 4 Рис.6-7
Ai1=√((Хi-Х0)2+(Yi-Y0)2);
Ai2=√((Хi+1-Хi)2+(Yi+1-Yi)2);
Ai3=√((Хi+1-Х0)2+(Yi+1-Y0)2).
Площадь треугольника Si можно рассчитать по формуле Герона. Программа расчёта площади при известных длинах сторон описана выше. При переходе к следующему треугольнику расчёт повторяется. Расчётные формулы могут быть упрощены, если учесть, что Х0= Y0=0. Кроме того, Ai3= A(i+1)1. Таким образом, для решения задачи необходимо объявить 3 массива:
-
Двумерный массив координат точек X[1:n,1:2].
-
Двумерный массив длин сторон треугольников A[1:(n-1),1:3].
-
Одномерный массив площадей треугольников S[1:(n-1)].
Алгоритм решения задачи реализуется с использованием операторов цикла. Ввод данных можно осуществить с использованием окон редактирования. Однако, при большом количестве вершин количество полей редактирования может превысить разумные пределы. Количество полей редактирования может быть уменьшено за счёт ввода нескольких данных в каждое поле. В таком случае необходимо производить расшифровку информации, содержащейся в поле редактирования, с использованием специальной программы. Поэтому для ввода информации целесообразно использовать новый компонент – Memo, который находится на вкладке стандартных визуальных компонентов и может быть установлен в форму точно также, как поля редактирования и кнопки, создание которых рассматривалось выше. Этот компонент может содержать несколько строк. Информация в них может быть внесена также как в поле редактирования и воспринимается как строка символов. Доступ к информации осуществляется либо через свойство Text, либо через свойство Lines. Свойство Text используется для доступа ко всей информации целиком, а свойство Lines – для построчного доступа. В последнем случае следует указать номер строки. Например, Edit1.Text:=Memo1.Lines[1] . Нумерация строк начинается с 0. На каждой строке должно находиться не более одного числа. В противном случае необходима программа преобразования строки в последовательность чисел. Ввод и редактирование данных осуществляется либо через компонент Memo , либо через редактор String List Editor, доступ к которому возможен через окно инспектора объектов. Для вызова String List Editor следует : 1) Выбрать свойство Lines компонента Memo; 2) Щёлкнуть мышью по многоточию в правой части соответствующей строки в окне инспектора объектов. Если все данные не могут быть размещены в видимой части поля Memo, то пользователь с целью упрощения процедуры просмотра имеет возможность ввести одну или две полосы прокрутки, выбрав одно из возможных значений свойства ScrollBars (ssVertical, ssHorizontal, ssBoth, ssNone), пользователь вводит вертикальную полосу прокрутки. При считывании информации, представленной в таком виде, необходимо использовать вложенные циклы, т.е. конструкцию в которой один оператор цикла находится внутри другого. Других новых конструкций языка программа не содержит. После считывания информации и преобразования строковых данных в числовые, производится расчёт длин сторон и диагоналей многоугольника по, приведенным выше, формулам. Далее следует расчёт площадей отдельных треугольников. Общая площадь фигуры равна сумме площадей составляющих. Ниже приведен фрагмент программы расчёта площади многоугольника по координатам его вершин.
begin
n:= StrToInt(Edit1.Text);
n:=n-1;
m:=0;
for i:=1 to n do
for j:=1 to 2 do
begin
m:=m+1;
x[i,j]:=StrToInt(Memo1.Lines[m])
end;
for i:=1 to (n-1) do
begin
a[i,1]:=sqrt(sqr(x[i,1])+sqr(x[i,2]));
a[i,2]:=sqrt(sqr(x[i,1]-x[i+1,1])+sqr(x[i,2]-x[i+1,2]));
a[i,3]:=sqrt(sqr(x[i+1,1])+sqr(x[i+1,2]))
end;
for i:=1 to n-1 do
begin
p:=0;
for j:=1 to 3 do p:=p+a[i,j];
p:=p/2;
s1:=p;
for j:=1 to 3 do s1:=s1*(p-a[i,j]);
s[i]:=sqrt(s1);
{ShowMessage(FloatToStr(s[i]));}
end;
Stot:=0;
for i:=1 to n-1 do Stot:=Stot+s[i];
ShowMessage('ПЛОЩАДЬ ФИГУРЫ РАВНА' + #13 + FloatToStrF(Stot/10000,ffFixed,5,3)+' га')
end;
П
Рис.
8
Рис. 6-8