- •Д.С.Ситкин
- •Информатика.
- •Программированиевdelphi
- •Лабораторныйпрактикум
- •Содержание
- •Введение
- •Основныепонятияпрограммирования
- •Этапыпрограммирования
- •Средаdelphi.Созданиепростейшегопроекта
- •Формаиеёсвойства
- •Компонентыформыиихсвойства
- •КомпонентLabeledEdit
- •Событиеипроцедураобработкисобытия
- •Пример1.1
- •Компиляцияизапускпроектанаисполнение
- •Структураисохранениепроекта
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Линейныйалгоритм
- •Типыданных
- •Константыипеременные
- •Арифметическиеоперации
- •Правилазаписитиповыхдействий
- •Структурапроцедурыобработкисобытия
- •Пример2.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Подпрограммы
- •Классификацияиструктураподпрограмм
- •Механизмработыподпрограммыиобменапараметрами
- •Пример3.1
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Структурамодуля
- •Созданиеиподключениемодуля
- •Пример4.1
- •Условныйоператор.Неполнаяформа
- •Условныйоператор.Полнаяформа
- •IfусловиеthenоператорS1elseоператорS2
- •Пример5.1
- •Пример5.2
- •Операторвыбора
- •Пример5.3
- •Содержаниеотчёта
- •Контрольныевопросы
- •Контрольсинтаксисавводимыхданных
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Алгоритмыповторений
- •Операторцикласпредварительнымусловием
- •Пример7.1
- •Операторцикласпараметром(сосчётчиком)
- •Пример7.2
- •Пример7.3
- •Операторцикласпоследующимусловием
- •Пример7.4
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Массивы
- •Объявлениемассива
- •Обработкамассивов
- •Пример8.1
- •Динамическиемассивы
- •Подпрограммасоткрытымпараметром-массивом
- •Пример8.2
- •Целесообразностьвыделенияпамятиподмассивы
- •Контрольсинтаксисаэлементовмассива
- •Задание
- •Обработкамногомерныхмассивов
- •Пример9.1
- •КомпонентStringGrid
- •Пример9.2
- •Сортировкамассивов
- •Пример9.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Внешниефайлы
- •Физическиеилогическиефайлы
- •Классификациялогическихфайлов
- •Процедурыифункцииобработкифайлов
- •Пример 10.1
- •КомпонентыOpenDialog иSaveDialog
- •Пример 10.2
- •Пример 10.3
- •Задание
- •Содержаниеотчёта
- •Контрольныевопросы
- •Олабораторнойработе
- •Информатика. Программированиев delphi
Задание
Разработатьпроектдлявводасформыэлементовпрямоуголь-нойматрицызадаваемогопользователемразмераи
Умножитьэлементы1-ойстрокии1-гостолбцанакоэффициент.
Найтисуммыэлементовкаждойстрокиивсехэлементов.
Найтисуммыэлементовкаждогостолбцаивсехэлементов.
Найтистолбецснаименьшейсуммойэлементов.
Найтистрокуснаибольшейсуммойэлементов.
Определитьестьлизаданныйэлемент,указатьегоположения.
Определитьчислоположительныхэлементоввкаждойстроке.
Определитьчислонечётныхэлементоввкаждомстолбце.
Найтинаибольшийэлемент,указатьегоположение.
Содержаниеотчёта
цельработыизадание;
блок-схемыалгоритмовформированияиобработкиматрицы;
текстмодуляпроекта;
примерработыприложениясуказаниемкомпонентовформы;
выводыпоработе.
Контрольныевопросы
Приведитепримерыописанийдвумерных массивов, почему дляихобработкитребуютсякон-струкциисвложеннымициклами?
Каквыделитьпамятьподне-прямоугольныйдвумерныйдина-мическиймассив?
Какое значение получитk?var i,j,k: byte;
i:=1;k:=0;
whilei<3 dobegin
inc(i);
for j:=1 to i do inc(k);end;
Лабораторнаяработа№10
Внешниефайлы
Цель работыприобретение умений организации обмена дан-нымимеждуприложениемивнешними файлами.
Во всех предыдущих проектах результаты работы приложенийпредставлялись на форме и были доступны только до момента закры-тия формы. В случае необходимости последующего использованияполученных результатов или их долговременного хранения, эти ре-зультаты в виде данных приложение должно записать в файл, сохра-няемый на диске компьютера. Само приложение для своей работытакже может получать исходные данные из файла, который был со-зданзаранее.Такиефайлы будемназывать внешними.
Физическиеилогическиефайлы
Файлименованный набор данных одного типа практическипроизвольной длины, хранящихся на внешнем носителе данных в об-ластях памяти, разделённых на кластеры. Размер файла ограничивает-ся только ёмкостью носителя данных. Организация хранения зависитот конкретного носителя. Файл в таком понимании называют физиче-скимфайлом.Дляорганизацииработысфизическимифайламивязыкахпрограммированияпредусмотреныспециальныеструктурыданныхтип данных файл. Файл в таком понимании называют логи-ческимфайлом(файловойпеременной),таккаквэтомслучаеонпредставляет собой лишь логическую модель хранения данных, не за-висящуюоторганизацииконкретногофизическогофайла.
Классификациялогическихфайлов
Логические файлы делятся на три вида: текстовые, типизован-ныеинетипизованныевзависимостиотспособаобработкифайла.
В любой момент времени программе доступен только один эле-мент файла, на который ссылается указатель текущей позиции (указа-тель чтения/записи). При открытии или создании файла указатель по-мещаетсявегоначало(нулеваяпозиция).Чтение/записьэлементаданных файла приводит к автоматическому перемещению указателя вследующуюпозицию.Заканчиваетсяфайлспецсимволомeof.
Текстовыйфайлсостоитизпоследовательностисимволов,сгруппированных в строки. Каждая строка заканчивается спецсимво-ломeoln. С текстовыми файлами можно работать только последова-тельным продвижением по файлу, считывая/записывая одну строку задругой.Это файлыпоследовательного доступа.
Типизованный файл состоит из последовательности элементоводного типа и имеет длину. Все элементы типизованного файла име-ют одинаковую длину (под каждый выделено одинаковое число байтпамяти),поэтомупозициякаждогоэлементалегковычисляется,иуказатель чтения/записи может быть перемещён на любой элементфайла.Этопрямойдоступкфайлу.Этофайлыпрямогодоступа.
Нетипизованные файлы в основном используют для быстрогопрямого доступа к любому файлу на диске, когда структура файла не-известна или не имеет значения(например, при выполнении копиро-вания). Любой текстовый или типизованный файл можно открыть иработатькакснетипизованнымнаборомданныхпрямогодоступа.
Перед использованием в программе физический файл долженбытьсвязан слогическимфайлом,т.е.сфайловойпеременной,кото-
раядолжнабытьобъявленавразделеописаний:
длятекстовыхлогическихфайлов
varимя_файловой_переменной:textfile;
длятипизованныхлогическихфайлов
varимя_файловой_переменной:fileofтипфайла;
длянетипизованныхлогическихфайлов
varимя_файловой_переменной:file;.
Примеробъявлений
varg:textfile;//текстовый файл
f:file ofbyte; //файлцелых чисел (типизованный файл)f1, f2file ofreal; //два файла вещественных чиселmy_file:file; //нетипизованныйфайл
