Кафедра биологической и химической технологии 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кафедра биологической и химической технологии



ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ КУРСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ МИНИСТЕРСТВА ЗДРАВООХРАНЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

(ГБОУ ВПО КГМУ МИНЗДРАВА РОССИИ)

Кафедра биологической и химической технологии

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ

ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»

для студентов биотехнологического факультета заочной формы обучения

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ

КУРСК - 2012

Одобрено решением Методического Совета биотехнологического факультета.

 

Лазурина Л.П., Секерина И.Ю., Методические рекомендации к выполнению лабораторных работ по дисциплине «Информатика» для студентов биотехнологического факультета.

 

 

Методические рекомендации отражают общий порядок в организации и выполнении лабораторных работ по дисциплине «Информатика» для студентов биотехнологического факультета, обучающихся по специальности «Биотехнология»


Введение

Delphi – чрезвычайно мощная система разработки прикладных программ для Windows. Она все увереннее завоевывает ведущие позиции в нашей стране как среди профессиональных программистов, так и среди людей, никогда не занимающихся профессиональным программированием. Профессионалы используют Delphi для построения сложных приложений с распределенными базами данных и для многих других целей. Специалисты самых разных специальностей (не программисты) создают с помощью Delphi небольшие прикладные программы для решения своих профессиональных задач. При этом, владея только основами программирования, они могут создавать интерфейс, неотличимый от привычного интерфейса Windows. Следует отметить универсальность данного программного продукта, имеющего широкие возможности для решения разных классов задач: инженерных и экономических расчетов, графических задач, работы с базами данных.

Данное методическое пособие предназначено для студентов 1 курса биотехнологического факультета КГМУ. Оно рассчитано на 16 часов лабораторно-практических занятий по дисциплине «Программирование на языке высокого уровня». Целью данного пособия является практическое решение задач в среде Delphi по следующим вопросам:

- программирование алгоритмов линейной структуры;

- программирование алгоритмов разветвленной структуры;

- программирование алгоритмов циклической структуры;

- обработка массивов и матриц;

- обработка списков;

- использование компонентов генерации главного меню и диалога открытия и сохранения файлов.

Пособие поможет студентам освоить основы среды Delphi и использовать данный программный продукт для выполнения курсовых работ по специальным дисциплинам, изучаемым на старших курсах, а также в своей дальнейшей профессиональной деятельности.

Лабораторная работа №1

ИНТЕРФЕЙС СРЕДЫ DELPHI

Цель работы:

Краткое теоретическое ознакомление с интерфейсом Delphi, изучение назначения окон и основных команд интегрированной среды.

 

Интегрированная среда

После запуска Delphi на экране открывается четыре окна интегрированной среды разработки приложений (сокращенно IDE – Integrated Development Environment): главное окно, окно проектировщика форм, окно редактора кода и инспектора объектов.

Главное окно

В верхней части экрана расположено главное окно, в котором находятся строка главного меню, панели инструментов (Standard, View, Debug, Custome, Desktops, Internet) и палитра компонентов. В строке заголовка главного окна отображается имя открытого в данный момент проекта: Project1. По его заголовку можно определить, в каком режиме открыт проект: проектирования или выполнения. Во время выполнения проекта после надписи Delphi - Project следует пометка [Running]. Строка меню содержит команды, необходимые для разработки и тестирования приложений. Панель инструментов содержит кнопки, которые соответствуют определенным командам меню. Кнопки панели инструментов снабжены всплывающими подсказками. Можно изменить конфигурацию панели инструментов, используя окно Customize (его можно открыть, выполнив щелчок правой кнопкой мыши на панели инструментов).

Палитра компонентов содержит компоненты, с помощью которых пользователь создает свои приложения. Пиктограммы разделяют на группы, каждая из которых расположена на отдельной странице. Компоненты можно переименовывать, удалять, добавлять новые и изменять их расположение на странице. Изменение производится при помощи диалогового окна Palette Properties. Его можно открыть двумя способами:

- выполнить щелчок правой кнопкой мыши в любом месте палитры компонентов и выбрать в контекстном меню команду Properties;

- выбрать команду Configure Palette меню Component.

Элементы главного окна располагаются на специальных панельках, в левой части имеются кнопки управления, позволяющие с помощью мыши перетаскивать панельки.

Проектировщик форм

Для каждого нового проекта в IDE автоматически отображается окно проектировщика форм, которое представляет собой главное окно приложения и по умолчанию имеет имя Form1. В форме размещаются компоненты. Чтобы разместить компоненты на форме, необходимо сначала выполнить щелчок на пиктограмме нужного компонента, а затем в том месте проектировщика формы, где должен быть расположен компонент.

Окно редактора кода

Оно предназначено для создания и редактирования текста программы. Имеет заголовок Unit1.pas. Редактор кода и проектировщик форм тесно связаны между собой. В левой части окна редактора кода располагается окно проводника кода (Code Explorer) (oткрыть его можно при помощи команды Code Explorer меню View). В нижней части окна редактора кода расположена строка состояния. В ней содержится информация о позиции курсора в тексте если были произведены изменения после последнего сохранения в тексте. Имеются две вкладки: Code и Diagram. Щелчок по последней активизирует страницу диаграмм. Переключение между окном формы и окном кода по F12.

Модуль Unit – программная единица, предназначенная для обработки информации, содержащейся в объектах программы (компонентах). С помощью содержащегося в нем программного кода реализуется цель программы.

Структура модуля

Unit Unit1;

Interface

Uses

Windows, Messages, SysUtils, Variantes, Classes, Graphics, Controls, Forms, Dialogs;

Type

Tform1 = class(Tform)

private

{private declarations}

public

{public declarations}

end;

Var // раздел описания переменных

form1: Tform1;

Implementation

{$R*. DFM}

{Здесь размещается программный код, реализующий алгоритм приложения}

end.

 

Окно дерева объектов

Предназначено для наглядного отображения связей между отдельными компонентами, размещенными на активной форме или в активном модуле данных. Щелчок по компоненту в этом окне активизирует соответствующий компонент в окне формы и отображает свойства этого компонента в окне инспектора объектов.

Окно браузера объектов

Активизируется вместе с окном кода, облегчает поиск нужных элементов в случае, когда в окне набрано много строк. Двойной щелчок мышью на элементе в окне браузера приводит к позиционированию текстового указателя в окне кода на описание соответствующего объекта. Закрыть окно браузера можно кнопкой 'х'. Восстановить окно можно после щелчка правой кнопкой мыши по окну кода и выбора опции View Explorer.

 

Меню интегрированной среды

Основные функции меню реализуются кнопками палитры компонентов. Главное меню содержит большое число опций. Ниже приведены наиболее часто используемые.

File

New - при ее выборе раскрывается подменю со следующими опциями:

Application - создание нового проекта;

Form - создание новой формы;

Other - открывает окно на страницах которого расположены пиктограммы для выбора прототипов форм, модулей, проектов.

Open - открывает ранее созданную форму;

Open Project - открывает ранее созданный проект;

Save - сохраняет активную форму;

Save As - сохраняет активную форму под другим именем;

Save Project As - сохраняет файл проекта под другим именем.

View

Project Manager - показывает окно менеджера проекта;

Object Inspector - показывает окно инспектора объектов;

Object Tree View - показывает окно дерева объектов;

Browser - показывает окно браузера объектов;

Code Explorer - показывает спрятанное ранее окно навигатора кода;

Debug Windows - отладочные окна;

Desktops - управляет конфигурациями основных окон.

При выборе Менеджера проекта в его окне присутствует список всех связанных с проектом форм. Кнопка New позволяет добавить новый модуль к проекту. Remove удаляет модуль из проекта.

Run

Компилирует и затем запускает на выполнение созданный EXE - файл приложения (то же по F9).

 

Лабораторная работа № 2

ОБРАБОТЧИК СОБЫТИЯ

Цель работы:

Разработать программу, которая по щелчку кнопки выводит на форму надпись: «Это мое первое приложение»

Последовательность выполнения работы:

1. Перенести на форму компоненты Label (строка вывода) и

Button (кнопка) со страницы Standart, в свойстве Caption компонента Button напишите Ok, а надпись в свойстве Caption компонента Label1 сотрите.

2. Произвести щелчок по кнопке, после чего в программном модуле появится текст:

Procedure Tform1.Button1Click (Sender: TObject);

begin

 

end;

end.

 

3. Между операторами begin и end ввести оператор:

Label1.Caption:= ' Это мое первое приложение '

 

4. С помощью команды Save Project As сохранить проект в специально созданном каталоге Lab2, который создать в папке Projects, находящейся в папке Delphi. Предлагаемые средой имена можно не менять.

5. По клавише F9 произвести запуск программы на исполнение и поверить работу кнопки ОК.

Pис 1. Вид формы в лабораторной работе №2

Лабораторная работа № 3

Цель работы:

 

Разработать программу, которая выполняет расчет по формулам:

y=x3+2x2+ln(x+10)

z=x+y+cos(2x)

Последовательность выполнения работы:

 

1. Перенесите на форму 3 компоненты Label и расположите их с левой стороны формы в столбец. В свойстве Caption компонента Label1 запишите «Введи X»; компонента Label2 «Значение Y=»; компонента Label3 «Значение Z=»;

2. Напротив данных компонент с правой стороны формы разместите соответственно компоненту Edit и 2 компонента Label. Компонент Edit (строка ввода) выбирается со страницы Standard. Надписи в свойствах Caption компонент Label4 и Label5 и Text компонента Edit сотрите.

3. Перенесите на форму компонент Button1, в свойстве Caption напишите Ok.

4. Произвести щелчок по кнопке, после чего в программном модуле появится текст:

Procedure Tform1.Button1Click (Sender: TObject);

begin

 

end;

end.

 

5. Между операторами begin и end наберите текст программы:

X:=StrToFloat(Edit1.Text);

Y:=sqr(x)*x+2*sqr (x)+ln(x+10);

Z:=x+y+cos(2*x);

Label4.Caption:=FloatToStr(Y);

Label5.Caption:=FloatToStr(Z);

6. Между строкой

Procedure Tform1.Button1Click (Sender: TObject);

и словом begin объявите переменные:

Var

X, Y, Z: real;

7. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

8. По клавише F9 произвести запуск программы на исполнение, выполнить программу при x=5.

9. Допишите фрагмент программы, реализующий расчет

F= z2 +5z+

Pис 2. Вид формы в лабораторной работе №3

Лабораторная работа № 4

Цель работы:

Разработать программу, реализующую решение квадратного уравнения вида: аx2+вx+с=0.

 

Последовательность выполнения работы:

1. Перенесите на форму 6 компонент Label и расположите их с левой стороны формы в столбец. В свойстве Caption данных компонент соответственно занесите надписи:

Label1 – Программа решения квадратного уравнения

Label2 - Введи коэффициент а

Label3 - Введи коэффициент в

Label4 - Введи коэффициент с

Label5 – Результаты решения

Label6 – Сотрите надпись и ничего не вводите, здесь в процессе выполнения программы происходит вывод результатов решения.

2. Перенесите на форму 3 компоненты Edit и расположите их с правой стороны формы напротив компонент Label2, Label3, Label4 соответственно. Здесь происходит ввод коэффициентов квадратного уравнения.

3. Перенесите на форму компонент Button1, в свойстве Caption напишите Ok.

4. Произвести щелчок по кнопке, после чего в программном модуле появится текст:

Procedure Tform1.Button1Click (Sender: TObject);

begin

 

end;

end.

5. Между операторами begin и end наберите текст программы:

a:= StrToFloat(Edit1.Text);

b:= StrToFloat(Edit2.Text);

c:=StrToFloat(Edit3.Text);

d:=sqr(b)-4*a*c;

Далее запишите в 1 строку:

If d<0 then Label6.Caption:=' Нет решения ' else Label6.Caption:= ' x1:='

+FloatToStr((-b-sqrt(d))/(2*a))+' x2:= '+FloatToStr((-b+sqrt(d))/(2*a));

 

7. Между строкой

Procedure Tform1.Button1Click (Sender: TObject);

и словом begin объявите переменные:

Var

a,b,c,d: real;

 

7. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

8. По клавише F9 произвести запуск программы на исполнение и проверить ее работу при 2-x вариантах a=2 b=5 c=2 и a=1 b=1 c=1.

Во втором варианте программа должна выдать заключение о невозможности решения квадратного уравнения (на множестве действительных чисел).

9. Доработайте программу таким образом, чтобы проверялось условие d=0, и в случае выполнения условия выдавалось сообщение «уравнение имеет одно решение х =… ».

10. С помощью команд Save All сохранить изменения в проекте и затем проверить работу программы.

Рис3. Вид формы в лабораторной работе №4

Лабораторная работа № 5

Цель работы:

Разработать программу, которая имитирует работу калькулятора по 4-м основным действиям: сложение чисел, вычитание чисел, умножение чисел, деление чисел.

 

Последовательность выполнения работы:

1. Перенесите на форму 5 компонент Label и расположите их с левой стороны формы в столбец. В свойстве Caption данных компонент соответственно занесите надписи:

Label1 – Калькулятор

Label2 - Первое число

Label3 - Знак действия

Label4 - Второе число

Label5 – Результат

2. С правой стороны формы напротив компонент Label2 – Label5 разместите компоненты Edit1, ComboBox, Edit2, Panel1. Компонент Panel находится на странице Standard и также как и Label может служить для вывода информации. В свойстве Caption компонента Panel и в свойстве Text компонента Edit сотрите надписи. Компонент ComboBox находится на панели Standard.

Этот компонент в нашей программе работает в режиме выбора действий калькулятора. В свойстве Items данного компонента откройте диалоговое окно и запишите туда в столбик знаки действий калькулятора: + - * /.

3. Перенесите на форму компонент Button1, в свойстве Caption напишите Расчет.

4. Произвести щелчок по кнопке, после чего в программном модуле появится текст:

Procedure Tform1.Button1Click (Sender: TObject);

begin

 

end;

end.

 

5. Между операторами begin и end наберите текст программы:

case CоmboBоx1.ItemIndex of

0: Panel1.Caption:=FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));

1: Panel1.Caption:=FloatToStr(StrToFloat(Edit1.Text)-StrToFloat(Edit2.Text));

2: Panel1.Caption:=FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text));

3: Panel1.Caption:=FloatToStr(StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text));

end;

6. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

7. По клавише F9 произвести запуск программы на исполнение, выполнить программу при нескольких вариантах исходных данных.

8. Самостоятельно допишите фрагменты программы, предназначенные для взятия квадратного корня из числа и возведения числа в степень. Для возведения числа х в степень n можно в цикле n раз перемножить число х или воспользоваться формулами: xn=en ln(x) при х>0

xn=-en ln (- x) при х<0

9. C помощью операторов try..except..end; (монография [3], стр. 229) организуйте блок защиты для обработки исключительной ситуации в случае деления на ноль. Должен выдаваться результат, показывающий бесконечность (например 1.1E+38).

10. С помощью команд Save All сохранить сделанные изменения в проекте.

 

 

Рис 4. Вид формы в лабораторной работе № 5

Лабораторная работа № 6

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ

Цель работы:

Разработать программу, которая рассчитывает в цикле значение функции:

Y=ax2 +5x +7 при a>3

Y=3ax3+15 при a=3

Y=ax+2 при a<3

x=1…10, c шагом 1

Последовательность выполнения работы:

1. Перенести на форму 2 компонента Label (строки вывода) и разместите их в столбец с левой стороны формы. В свойстве Сaption сделайте надписи:

Label1 – Введи параметр a;

Label2 – Результат.

2. Напротив данных компонент перенесите на форму компоненты Edit и Memo, находящиеся на странице Standard. В свойстве Text компонента Edit сотрите надпись. Компонент Мемо представляет собой многострочный текстовый редактор и в данной программе он служит для вывода результатов.

3. Перенесите на форму компонент Button1, в свойстве Caption напишите Расчет.

4. Произвести щелчок по кнопке, после чего в программном модуле появится текст:

Procedure Tform1.Button1Click (Sender: TObject);

begin

 

end;

end.

 

5. Между операторами begin и end наберите текст программы:

a:=StrToFloat(Edit1.Text);

for x:=1 to 10 do

begin

if a>3 then y:=a*sqr(x) +5*x+7;

if a=3 then y:=3*a*sqr(x)*x+15;

if a<3 then y:=a*x+2;

Memo1.Lines.add(FloatToStr(Y));

end;

 

6. Между строкой

Procedure Tform1.Button1Click (Sender: TObject);

и словом begin объявите переменные:

Var

x: integer;

a,y: real;

7. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

8. По клавише F9 произвести запуск программы на исполнение, выполнить программу при a=1, a=3, a=5.

9. Изменить программу таким образом, чтобы шаг цикла по переменной х был равен не 1, а 0,5.

10. С помощью команд Save All сохранить сделанные изменения в проекте.

Рис 5. Вид формы в лабораторной работе № 6

 

Лабораторная работа № 7

Цель работы:

Разработать программу, предназначенную для просмотра и сохранения графических файлов.

Последовательность выполнения работы:

1. В подкаталоге Projects каталога Delphi создайте две папки с именами Graf1 и Graf2. В папке Graf1 создайте графический файл в редакторе Paint (рисунок на произвольную тему).

2. Запустите Delphi.

2. Перенесите на форму компонент MainMenu со страницы Standard. Этот компонент служит для организации главного меню. Основное свойство этого компонента Items. Для заполнения этого свойства сделайте двойной щелчок по компоненту. Далее в открывшемся диалоговом окне спроектируйте главное меню следующего вида.

Рис 6. Главное меню в лабораторной работе №7.

 

Для этого соответствующий пункт меню необходимо заносить в свойство Caption.

3. Перенесите на форму компоненты OpenPictureDialog и SavePictureDialog со страницы Dialogs. Это диалоги открытия и сохранения графических файлов. В свойстве Filter данных компонент должен быть указан тип файлов с расширением bmp. Все 3 компонента расположите в строку в верхней части формы.

4. Перенесите на форму компонент Image со страницы Additional. C помощью данного компонента мы будем просматривать рисунок графического файла. Чтобы изображение располагалось по центру окна в свойстве Center запишите True.

5. Щелкните по пункту меню открыть и в редакторе кода между операторами begin и end наберите в одну строку следующий оператор:

 

if (OpenPictureDialog1.Execute) then Image1.Picture.LoadFromFile

(OpenPictureDialog1.Filename);

6. Щелкните по пункту меню сохранить и в редакторе кода между операторами begin и end наберите в одну строку следующий оператор:

if (SavePictureDialog1.Execute) then Image1.Picture.SaveToFile

(SavePictureDialog1.Filename);

7. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

8. По клавише F9 произвести запуск программы на исполнение, открыть графический файл из папки graf1 и сохраните его в папку graf2.

Лабораторная работа № 8

ОБРАБОТКА МАССИВОВ В DELPHI

Цель работы:

Дан массив натуральных чисел А(N), значения которых принадлежат диапазону [X,Y). Разработать программу, которая находит среднее арифметическое элементов массива, кратных 3.


Рис. 7. Внешний вид окна приложения.

Компонент TStringGrid

При работе с массивами ввод и вывод информации на экран удобно организовывать в виде таблиц, используя компонент класса TStringGrid. Он предназначен для отображения информации в виде двумерной таблицы, каждая ячейка которой представляет собой окно однострочного редактора (аналогично окну TEdit).

Доступ к информации осуществляется с помощью свойства:

Cells[ACol, Arow: Integer]: string;

Здесь ACol, Arow – индексы элементов двумерного массива.

Свойства ColCount и RowCount устанавливают количество столбцов и строк в таблице соответственно. Свойства FixedCols и FixedRows задают количество столбцов и строк фиксированной зоны. Фиксированная зона выделена другим цветом, и в нее запрещен ввод информации с клавиатуры.

Следует обратить внимание на то, что при обращении к ячейке компонента класса TStringGrid сначала указывается номер столбца, а затем номер строки.

Последовательность выполнения работы:

1. Настройка компонента TSstringGrid

Для установки компонента TStringGrid на форму необходимо на странице Additional палитры компонентов щелкнуть мышью по пиктограмме . После этого щелкнуть мышью в нужном месте формы. Захватывая кромки компонента, отрегулировать его размер. Так как этот компонент должен иметь только одну строку, то в инспекторе объектов задать значения свойств FixedCols=1 и RowCount=1. По умолчанию в компонент TStringGrid запрещен ввод информации с клавиатуры, поэтому необходимо свойство Options\goEditing установить в положение True. Задать ширину столбцов таблицы DefaultColWidth=40.

2. Объявить переменные после строки implementation:

3. Обрабатываемые события:

OnCreate – событие создания формы – обрабатывается для задания значений по умолчанию. Создать данный обработчик можно, выполнив двойной щелчок на пустом месте формы.

Тест обработчика:

OnClick – события нажатия кнопок – для ввода массива и нахождения среднего арифметического элементов массива, кратных 3.

Текст обработчика нажатия кнопки «Ввод массива»:

Текст обработчика нажатия кнопки «Расчет массива»:

Примечание. Идея алгоритма:

Среднее арифметическое S вычисляется как сумма требуемых элементов, деленная на их количество. Поэтому нужно сначала найти сумму S и количество Kol элементов, кратных 3. Для этого каждый элемент массива (for i:=1 to N do...) проверим на соответствие условию. Если элемент удовлетворяет ему, то добавляем его к сумме и увеличиваем на 1 количество. После завершения проверки элементов выведем в компонент класса TLabel результат деления суммы S на количество Kol.

4. С помощью команды Save Project As сохранить проект в специально созданной папке по аналогии с предыдущей работой.

5. По клавише F9 произвести запуск программы на исполнение и проверить работу при разных значениях элементов массива. Для этого задать значения N, X, Y. Затем нажать кнопку «Ввод массива». В StringGrid будет выведена последовательность чисел. Теперь можно нажать кнопку «Расчет массива». В нижней части формы будет выведен ответ. Проверить ответ и повторить нажатия кнопок.

 

Лабораторная работа № 9

Обработка матриц в Delphi

Цель работы:

Создать приложение, позволяющее выполнять действия:

1. Заполнение матрицы случайными целыми числами с ее выводом на экран;

2. Нахождение максимального элемент в получившейся матрице (анализ);

3. Очистка матрицы.

Внешний вид окна программы представлен на рис. 8.

Рис. 8. Внешний вид окна приложения

Лабораторная работа № 10

Обработка списков в Delphi

Цель работы:

Разработать программу, которая формирует два списка, в которых записаны символы и соответствующие им коды. Один список необходимо отсортировать в алфавитном порядке по символу, а другой по коду символа. Списки необходимо вывести в многострочное редактируемое поле Memo.

 

Указания к работе

1. Перенесите на форму кнопку и компонент Memo.

2. Запишите обработчик события кнопки.

procedure TForm1.Button1Click(Sender: TObject);

var

k: Byte;

List1, List2: TStringList;

S: String;

Begin // создаем 2 списка

List1:=TStringList.Create;

List1.Sorted:=True;

List2:=TStringList.Create;

for k:=32 to 255 do // цикл наполнения списков кодами

begin

S:=IntToStr(k); // код символа

if k<100 then

s:='0'+s; // двузначное число дополняется ведущим нулем

List1.add(Char(k)+ #9 + S); // формируем списки

List2.add(s+#9+Char(k));

end;

List1.Sorted:=False; // отключаем сортировку списка List1

for k:=0 to list1.Count-1 do

list1[k]:=list1[k]+#9+List2[k]; // объединяем 2 списка

Memo1.Lines.Assign(List1);

List1.Free; // уничтожаем списки

List2.Free;

end;

3. Запустите программу на исполнение (F9). Проанализируйте соответствие обоих списков.

Лабораторная работа №11.
Файлы, записи

Цели работы:

изучить принципы и средства работы с файлами в Паскале,

научиться использовать файлы в своих программах;

изучить тип данных «запись» и его использование на примере работы с файлами.

Примеры разработки программ

Пример 1. При нажатии на кнопку Button1 из текстового файла считываются все строки и выводятся на экран. Перед этим происходит анализ того, существует ли файл на диске. Имя файла вводится в компонент Edit1, вывод файла осуществляется в компонент Memo1.

Фрагмент программы

procedure TForm1.Button1Click(Sender: TObject);

var f:TextFile;

i:integer;

FileName,s: string;

Begin

Memo1.Clear;

FileName:=Edit1.Text;

AssignFile(f,FileName);

{$I-}

reset(f);

{$I+}

if IOResult=0

Then

Begin

while not eof(f) do

Begin

readln(f,s);

Memo1.Lines.Add(s);

end;

CloseFile(f);

End

else ShowMessage('Такого файла нет');

end;

Примечание. Директива компилятора {$I-} отключает проверку выполнения операций ввода/вывода. Функция IOResult возвращает значение 0, если последняя операция ввода/вывода прошла успешно, в противном случае она возвращает код ошибки.

Пример 2. Создать файл целых чисел. Найти в нем наибольшее число, принадлежащее интервалу [-10, 10]. Примерный внешний вид окна приложения при запуске и после обработки файла приведены на рис. 22.

Пояснения к интерфейсу: Числа вводятся в компонент Memo1. После этого при нажатии кнопки Запись в файл происходит их запись в файл и вывод в компонент Label1 их количества. При нажатии кнопки Обработка файла в компонент Memo2 происходит вывод чисел, принадлежащих [-10,10] и максимального из них.

Рис. 22. Вид приложения при запуске и после обработки файла

Решение

var //---------- Описание глобальных переменных--------

Form1: TForm1;

f: file of integer; // описание файловой переменной

 

Implementation

{$R *.dfm}

Обработчик нажатия кнопки «Запись в файл»:

Обработчик нажатия кнопки «Обработка файла»:

Пример 3. Отсортировать числа в файле по возрастанию. Вид окна и интерфейс такой же, как в примере 2.

Решение

Обработчик кнопки «Обработка файла»

Пример 4

Создать приложение, имеющее удобный интерфейс для создания и просмотра файла со сведениями о студентах вуза: фамилия (15 знаков), имя (10 знаков), отчество (10 знаков), год рождения, пол (1 – мужской, 0 – женский). Примерный вид интерфейса показан на рис. 23.

Пояснения к интерфейсу: При запуске приложения на форма присутствует только кнопка Создать файл. При нажатии на эту кнопку появляется компонент GroupBox1, содержащий необходимые компоненты для ввода данных студента. После ввода данных каждого студента нужно нажимать кнопу Запись для вывода в файл этой информации и очистки компонентов перед следующим вводом. Нажатие кнопки Закончить запись в файл приводит к закрытию файла и появлению кнопки Вывод файла и компонента Memo1, предназначенных для просмотра содержимого файла.

Рис. 23. Примерный вид окна приложения при запуске и после вывода созданного файла

Решение

Объявление переменных (перед словом implementation):

Type

stud= record //пользовательский тип запись для хранения

fam: string [15]; //сведений об одном студента

name: string [10];

pat: string [10];

year:integer;

sex:integer;

end;

Var

f: file of stud; //типизированный файл из компонентов

//типа запись stud

Обработчик кнопки «Создать файл»:

Обработчик кнопки «Закончить запись в файл»:

Обработчик кнопки «Записать»:

Обработчик кнопки «Вывод файла»:

Обработчик события создания формы:

procedure TForm1.FormCreate(Sender: TObject);

Begin

Form1.Width:=200;

end;


СПИСОК КОНТРОЛЬНЫХ ВОПРОСОВ

1. Назначение и возможности Delphi. Особенности версии Delphi 7.

2. Назначение окон в Delphi (главное окно, окно формы, окно кода программы, окно дерева объектов, окно инспектора объектов, окно браузера кода, окно дерева объектов).

3. Основные команды главного меню. Инструментальные кнопки.

4. Структура проекта, структура модуля Delphi.

5. Принцип объектно-ориентированного программирования. Взаимодействие формы и модуля. Обработчик события OnClick (щелчок по кнопке). Реакция на события мыши и клавиатуры.

6. Назначение компонент вкладки Standart.

7. Назначение компонент вкладки Additional.

8. Назначение компонент вкладок System, Dialogs.

9. Назначение компонент вкладок Samples, Activex.

10. Массивы в Delphi.

11. Записи в Delphi.

12. Строки в Delphi.

13. Операции с файлами в Delphi.

14. Оператор присваивания, составной оператор, условный оператор в Delphi.

15. Операторы, предназначенные для организации циклов в Delphi.

16. Процедуры и функции в Delphi. Локальные и глобальные переменные. Понятие рекурсии.

 

CПИСОК ЛИТЕРАТУРЫ

1) Бобровский С. И. «Delphi 7. Учебный курс» - СПб.: Питер, 2005 г.

2) Культин Н.Б. Программирование на Object Pascal.

3) Фаронов В. В. «Delphi 6. Учебный курс». Москва, 2001 г.

4) Фаронов В. В. «Delphi 6. Программирование на языке высокого уровня: Учебник для вузов» - СПб.: Питер, 2005г.

5) Писарев Т. В. «Программирование в Delphi6».

М.: ДМК Пресс 2002 г.

6) Архангельский А. Я. «Интегрированная среда разработки Delphi

от версии 1 до версии 5». М.: Изд. БИНОМ, 1999 г.

 

 


 

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ КУРСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ МИНИСТЕРСТВА ЗДРАВООХРАНЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

(ГБОУ ВПО КГМУ МИНЗДРАВА РОССИИ)

Кафедра биологической и химической технологии

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 231; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.77.114 (0.286 с.)