Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Студентам_программирование / Реализация базовых алгоритмических структур с помощью FREE PASCAL и IDE LAZARUS

.pdf
Скачиваний:
183
Добавлен:
18.03.2015
Размер:
1.62 Mб
Скачать

Министерство образования и наук Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

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

РЕАЛИЗАЦИЯ БАЗОВЫХ АЛГОРИТМИЧЕСКИХ СТРУКТУР

СПОМОЩЬЮ FREE PASCAL

ИIDE LAZARUS

Лабораторный практикум по дисциплине «Информатика»

Уфа 2012

3

Министерство образования и наук Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

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

Кафедра информатики

РЕАЛИЗАЦИЯ БАЗОВЫХ АЛГОРИТМИЧЕСКИХ СТРУКТУР

СПОМОЩЬЮ FREE PASCAL

ИIDE LAZARUS

Лабораторный практикум по дисциплине «Информатика»

Уфа 2012

4

Составители: М. П. Карчевская, О. Л. Рамбургер

УДК 004.43(07)

ББК 32.973.26-018.2(Я7)

Реализация базовых алгоритмических структур с помощью FREE PASCAL и IDE LAZARUS: Лабораторный практикум по дисциплине «Информатика». /Уфимск. гос. авиац. техн. ун-т; Сост.: М. П. Карчевская, О. Л. Рамбургер – Уфа: УГАТУ, 2012. – 103с.

В лабораторном практикуме излагаются особенности использования свободно распространяемой кросс-платформенной среды разработки приложений Lazarus и языка программирования Free Pascal для решения задач с помощью базовых алгоритмических конструкций. Особое внимание уделено работе с визуальными компонентами, их свойствами и методами.

Предназначен для студентов первого и второго курсов технических специальностей и направлений подготовки, в том числе, по направлению подготовки (специальности) 220402 «Специальные орга- низационно-технические системы», напрвления подготовки бакалавров 230700 «Прикладная информатика», направления подготовки бакалавров 210700 – «Инфокоммуникационные технологии и системы связи», а также для всех студентов технических вузов, изучающих дисциплину «Информатика» и дисциплину «Программирование и основы алгоритмизации» в рамках базового курса и всех тех, кто изучает программирование на Free Pascal и Lazarus.

Библиогр.: 2 назв.

Рецензенты: к. т. н. Е. А. Кузьмина д-р .т. наук, проф. Султанов А.Х.

© Уфимский государственный авиационный технический университет, 2012

5

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ...............................................................................................

6

ВВЕДЕНИЕ ....................................................................................................

9

ЛАБОРАТОРНАЯ РАБОТА №2. ПРОГРАММИРОВАНИЕ

 

АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ........................................

11

1.

ЦЕЛЬ РАБОТЫ .........................................................................................

11

2.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ..................................................

11

 

2.1. Основные типы данных в языке Free Pascal .............................

11

 

2.2. Оператор присваивания ..............................................................

13

3.

ПРАКТИЧЕСКАЯ ЧАСТЬ ..........................................................................

18

 

3.1. Cоздание, компиляция и отладка простого приложения

 

 

линейной структуры....................................................................

18

 

3.2. Компоненты Lazarus, используемые для наглядности и

 

 

украшения окон............................................................................

22

4.

ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №2 ..............................................

25

 

4.1. Первый уровень сложности........................................................

25

 

4.2. Второй уровень сложности........................................................

27

 

4.3. Третий уровень сложности.........................................................

28

5.

КОНТРОЛЬНЫЕ ВОПРОСЫ ......................................................................

32

ЛАБОРАТОРНАЯ РАБОТА №3. ПРОГРАММИРОВАНИЕ

 

АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ ....................

33

1.

ЦЕЛЬ РАБОТЫ .........................................................................................

33

2.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ..................................................

33

 

2.1. Составной оператор.....................................................................

33

 

2.2. Условный Оператор.....................................................................

33

 

2.3. Оператор выбора Case .................................................................

35

3.

ПРАКТИЧЕСКАЯ ЧАСТЬ ..........................................................................

36

 

3.1. Примеры приложений разветвляющей структуры ..................

36

 

3.2. Ввод информации ........................................................................

38

 

6

 

 

3.3. Компоненты Lazarus, используемые для построения

 

 

управляющих конструкций ........................................................

39

 

3.4. Обработка ошибок. Вывод сообщений в Lazarus....................

47

4.

ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №3 ..............................................

51

 

4.1. Первый уровень сложности........................................................

51

 

4.2. Второй уровень сложности........................................................

52

 

4.3. Третий уровень сложности.........................................................

56

5.

КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ...................................................

58

ЛАБОРАТОРНАЯ РАБОТА №4. ПРОГРАММИРОВАНИЕ

 

АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ................................

59

1.

ЦЕЛЬ РАБОТЫ .........................................................................................

59

2.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ..................................................

59

 

2.1. Циклы с параметром....................................................................

59

 

2.2. Циклы с условием........................................................................

59

 

2.3. Ввод данных из диалогового окна с помощью функции

 

 

INPUTBOX ...................................................................................

64

3.

ПРАКТИЧЕСКАЯ ЧАСТЬ ..........................................................................

65

 

3.1. Примеры приложений циклической структуры.......................

65

 

3.2. Компоненты Lazarus, используемые в приложениях с

 

 

циклическими конструкциями...................................................

71

4.

ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ №4 ..............................................

77

 

4.1. Первый уровень сложности........................................................

77

 

4.2. Второй уровень сложности.........................................................

80

 

4.3. Третий уровень сложности.........................................................

84

5.

КОНТРОЛЬНЫЕ ВОПРОСЫ ......................................................................

88

ПРИЛОЖЕНИЕ 1. ОПИСАНИЕ КОМПОНЕНТОВ, НАИБОЛЕЕ ЧАСТО

 

ИСПОЛЬЗУЕМЫХ ПРИ ПРОЕКТИРОВАНИИ ПРИЛОЖЕНИЙ .........................

89

ПРИЛОЖЕНИЕ 2. ОСНОВНЫЕ ОБЩИЕ СВОЙСТВА КОМПОНЕНТОВ LAZARUS

....................................................................................................................

 

92

ПРИЛОЖЕНИЕ 3. ОСНОВНЫЕ МЕТОДЫ КОМПОНЕНТОВ LAZARUS ...........

94

ПРИЛОЖЕНИЕ 4. ПЕРЕЧЕНЬ СОБЫТИЙ ......................................................

95

7

ПРИЛОЖЕНИЕ 5. СТАНДАРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

..................... 98

МАТЕМАТИЧЕСКИЕ ФУНКЦИИ .....................................................

98

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ ДАННЫХ .........................

100

ПРОЦЕДУРЫ ОБЩЕГО НАЗНАЧЕНИЯ...........................................

101

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

102

8

ВВЕДЕНИЕ

Процесс создания программ и их реализация (ввод исходного текста, редактирование, компиляция, выполнение и отладка) происходит в среде разработчика Lazarus под управлением операционной системы Windows 98 и выше.

Требования к выполнению лабораторных работ

1.Перед началом лабораторной работы повторить лекционный материал по данной теме;

2.Получить у преподавателя вариант для выполнения индивидуальных заданий;

3.В порядке, описанном в практикуме, изучить разобранные задачи лабораторной работы;

4.Выполнить индивидуальные задания, приведенные в конце лабораторной работы;

5.Сохранить результаты работы на личном носителе;

6.Ответить на контрольные вопросы и задания, приведенные в конце лабораторной работы;

7.Оформить отчет в текстовом процессоре MS Word в соответствии с требованиями ГОСТ 2.105-95 ЕСКД, ГОСТ Р 7.0.5-2008;

8.Продемонстрировать выполненную работу преподавателю, ответить на поставленные вопросы, уметь внести изменения в созданный проект;

9.Хранить файлы проектов до завершения семестра на личном носителе.

Отчетность

Отчет по лабораторной работе – это сохраненные файлы проекта, результаты решения и отчет в текстовом процессоре MS Word.

Защита лабораторных работ

При защите работы студент должен уметь объяснить алгоритм решения задач, используемые операторы языка программирования и

9

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

Компетенции, формируемые в результате выполнения лабо- раторной работы

В результате выполнения данной лабораторной работы формируются следующие компетенции:

-способность выбирать методы решения задач, разрабатывать алгоритмы их реализации,

-способность использовать инструментальные средства и системы программирования для решения профессиональных задач,

-способность иметь навыки работы с компьютером как средством управления информацией,

-способность оформлять, представлять и докладывать результаты выполненной работы.

Перечисленные компетенции формируются через умения

-самостоятельной работы на компьютере,

-использования языков и систем программирования для решения задач,

-разрабатывать программные приложения на одном из объектноориентированных языков программирования;

-оформления отчета о лабораторной работе в офисных приложениях,

а также через владения:

- навыками работы с офисными приложениями,

-навыками разработки приложений для решения типовых прикладных задач на основе объектно-ориентированного подхода,

-навыками работы в интегрированной среде разработки приложений,

-навыками составления и отладки программ на языке программирования высокого уровня.

10

ЛАБОРАТОРНАЯ РАБОТА №2. ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ

1. ЦЕЛЬ РАБОТЫ

Целью лабораторной работы является приобретение умений и навыков практического освоения современных технологий визуального объектно-ориентированного программирования в свободно распространяемой среде разработки приложений Lazarus на примере реализации способов ввода и вывода данных при создании простых приложений линейной структуры с помощью языка программирова-

ния FREE Pascal.

2.КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

2.1.ОСНОВНЫЕ ТИПЫ ДАННЫХ В ЯЗЫКЕ FREE PASCAL

Основные простые типы данных представлены в таблице

Тип

Диапазон значений

 

 

 

Целые типы

 

 

ShortInt

-128 . . 127

 

 

SmallInt

-32 768 . . 32 767

 

 

Integer

-2 147 483 648 . . 2 147 483 647

 

 

LongInt

-2 147 483 648 . . 2 147 483 647

 

 

Byte

0 . . 255

 

 

Word

0 . . 65 535

 

 

LongWord

0 . . 4 294 967 295

 

 

 

Вещественные типы

Real

2.9e-39 . . 1.7e38

Single

1.5e-45 . . 3.4e38

Double

5.0e-324 . . 1.7e308

Extended

3.4e-4932 . . 1.1e4932

Comp

-263. . 263

 

Логический тип

Boolean

True, False

 

 

 

Символьный тип

Char

Полный набор ASCII-символов

 

 

 

Строковый тип

String

Строки, состоящие из алфавитно-цифровых символов

 

 

11

Описываются переменные с помощью ключевого слова Var, например:

Var

а,b: real; i,j,k: integer; letter: char; Flag: Boolean;

Несмотря на достаточно мощную структуру встроенных типов данных, в среде Lazarus предусмотрен механизм создания новых типов. Для этого используют служебное слово Type:

Type <новый тип данных> = <определение типа>;

 

Формат определения

 

Описание

 

 

 

пользовательского типа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перечислимый тип данных

Задается перечислением значений, кото- (Знач_1, Знач_2,,Знач_N) рые он может принимать. Значения яв-

ляются константами

Интервальный (Тип-диапазон)

Задает границы диапазона возможных

значений внутри базового типа. Констан- Константа_1..Константа_2; ты должны принадлежать одному и тому

же типу.

Когда новый тип данных создан, объявляются соответствующие ему переменные:

Var <список переменных>: <новый тип данных>;

Например,

Type

Days = 1..31;

Var

RabDay,BolnDay: Days;

12