Приложение Lazarus

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 08.06.2015
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Теоретический аспект понятия алгоритмических структур в среде Lazarus

2. Операторы ввода/вывода и типы данных в среды Lazarus

3. Реализации основных алгоритмических структур и примеры решение задач

Заключение

Список использованных источников

Введение

Язык Pascal, изобретенный в начале 70 - х годов 20 - го века Н. Виртом и названный в честь французского математика и философа Блеза Паскаля, является одним из наиболее распространенных языков программирования для обучения. Что вполне естественно, так как является структурированным, логичным, легко читаемым и понимаемым. Программа на языке Pascal состоит из двух частей: описание действий, которые должны быть выполнены и описание данных, над которыми они выполняются. В тексте программы описание данных предшествует описанию действий. В этом выражается общее правило языка - каждый встречающийся в программе объект должен быть предварительно описан.

Для того чтобы писать и выполнять программы, необходимы компилятор и среда разработки. Существует довольно много компиляторов для языка Pascal. Основным компилятором является Borland Pascal 7. 0. Он применяется в основном для консольных приложений. Его логичным продолжением является визуальная среда разработки Borland Delphi. Данный инструмент предназначен для визуального проектирования и создания различных оконных приложений. Методы, подходы, принципы, применяемые в Delphi, сокращают в разы время разработки и поднимают на новый уровень качество разработки. Для того чтобы создать простое окно не надо писать строчки кода, нужно просто нажать на кнопку создания окна. То же самое можно сказать и про множество компонентов, используемых Delphi.

В последние 15 лет велась активная разработка альтернативы компилятору Borland Pascal. Она получила название Free Pascal. Free Pascal Compiler (FPC) это свободно распространяемый компилятор языка Pascal с открытыми исходными кодами, распространяется на условиях GNU General Public License (GNU GPL). Он совместим с Borland Pascal 7. 0 и Object Pascal Delphi, но при этом обладает рядом дополнительных возможностей, например, поддерживает перегрузку операторов. Free Pascal Compiler имеет свою собственную интегрированную среду разработки. Применяется также аббревиатура IDE (Integrated Development Environment). Среда имеет текстовый интерфейс очень похожий на интерфейс Turbo Pascal 7. 0.

Однако со временем текстовые интерфейсы были практически полностью вытеснены так называемыми графическими интерфейсами, работать в которых значительно удобнее. В 1999 г. Клифф Байзмент, Шейн Миллер и Майкл А. Гесса написали графическую среду для бесплатного компилятора FPC. Проект получал название Lazarus. На сегодняшний день следует признать, что идея оказалась весьма плодотворной потому, что среда существует и развивается и поныне. Она нашла свое место в учебном процессе и ее освоение позволит ученику осваивать язык Pascal, решать с его помощью различные задачи, что и определяет актуальность курсовой работы.

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

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

Цель курсовой работы - изучение технологии реализации основных алгоритмических структур в среде Lazarus.

Объект исследования - приложение Lazarus.

Предмет исследования - технология реализации алгоритмических структур в среде Lazarus.

Для достижения указанной цели потребуется решить ряд задач:

1. Изучить понятие алгоритмических структур.

2. Охарактеризовать реализация основных алгоритмических структур

3. Решить задач которой реализует методы в среде Lazarus.

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

Теоретическая значимость работы заключается в научном обосновании имеющихся понятий в исследовании.

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

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

1. Теоретический аспект понятия алгоритмических структур в среде Lazarus

Понятие алгоритма является одним из центральных в программировании. Существует множество его определений, данных известными учеными в разные времена. Слово «алгоритм» происходит от имени математика Аль Хорезми, разработавшего в IX веке правила (алгоритм) для выполнения четырех арифметических действий над десятичными числами. Впоследствии это слово стало собирательным названием для отдельных правил (последовательности действий) определенного вида, причем не только арифметических. В течение длительного времени его употребляли только математики, обозначая словом «алгоритм» пошаговые правила решения различных задач.

Алгоритм - это строго определенная последовательность действий для некоторого исполнителя, приводящая к конкретному результату за конечное число шагов.

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

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

Ниже представлены свойства алгоритмов:

* Дискретность - алгоритм представляет собой последовательность отдельных шагов, каждый из которых называется командой. Каждая команда начинает выполняться только после завершения выполнения предыдущей команды.

* Понятность - каждая команда алгоритма должна быть понятна тому, кто его исполняет (исполнителю). Необходимо знать, какие команды исполнителю известны, а какие нет. Полный список команд, которые может выполнить исполнитель, называется системой команд исполнителя. При составлении алгоритма для определенного исполнителя можно использовать лишь те команды , которые имеются в его системе команд.

* Определенность (детерминированность) - каждая команда алгоритма должна быть точно и однозначно определена, также должно быть однозначно определено, какая команда будет выполняться на следующем шаге. Результат выполнения команды не должен зависеть от какой-либо дополнительной информации. Алгоритм не должен оставлять места для произвола исполнителя.

* Конечность (результативность) - алгоритм всегда должен заканчиваться после выполнения конечного числа шагов, при этом должен быть получен результат.

* Массовость - один и тот же алгоритм может применяться к разным наборам входных данных. Разработка алгоритма - один из основных этапов решения различных задач на компьютере. Общие свойства и закономерности алгоритмов, их разработку и анализ, формальные модели их представления изучает теория алгоритмов.

Исполнителями алгоритма могут быть живые существа или технические устройства:

* машины: станки, роботы, бытовые приборы, компьютеры;

* животные: дрессированная собака, тигры и медведи в цирке;

* люди: ученик, токарь, кассир и т.д.

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

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

К формальным исполнителям относят автоматы, роботы и другие технические устройства, исполняющие инструкции (алгоритмы). На уроках информатики изучают формальные исполнители «Черепашка», «Паркетчик», «Робот», «Вычислитель» и другие. При записи алгоритмов для формального исполнителя используют команды, входящие в систему команд данного исполнителя.

Система команд формального исполнителя (СКИ) - это совокупность команд, понятных и выполнимых конкретным исполнителем.

Среда - это «место обитания» исполнителя. Например, исполнитель Робот имеет клеточное поле. Расположение стен и закрашенных клеток, положение самого Робота задают конкретное состояние среды.

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

Компьютер тоже можно считать формальным исполнителем, он имеет систему команд и может исполнять алгоритмы, записанные на языке программирования - программы.

Основные формы записи алгоритма:

- словесная, на естественном языке;

- графическая, например, в виде блок-схем;

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

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

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

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

Lazarus -- свободная среда разработки программного обеспечения для компилятора Free Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.

Позволяет достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows. Начиная с Delphi XE2 в самом Delphi имеется возможность компиляции программ для Mac OS X и iOS.

Lazarus основан на библиотеке визуальных компонентов Lazarus Component Library (LCL). В настоящее время практически полностью поддерживает виджеты Win32, GTK1, GTK2, Carbon. В разработке находятся виджеты Qt и WinCE. Поддерживает преобразование проектов Delphi. Реализован основной набор элементов управления. Редактор форм и инспектор объектов максимально приближены к Delphi.

Lazarus имеет интерфейс отладки (используется внешний отладчик GDB) и простой переход для Delphi программистов благодаря близости LCL к VCL.

Пакет имеет полностью юникодный (UTF-8) интерфейс и редактор, поэтому отсутствуют проблемы с импортом кода, содержащего национальные символы. В Lazarus имеется мощный редактор кода, включающий систему подсказок, гипертекстовую навигацию по исходным текстам, автозавершение кода и рефакторинг, а также форматирование кода “из коробки” использованием механизмов Jedi Code Format. В нем осуществлена поддержка двух стилей ассемблера: Intel и AT&T (поддерживаются со стороны компилятора).

В Lazarus осуществлена поддержка множества типов синтаксиса Pascal: Object Pascal, Turbo Pascal, Mac Pascal, Delphi, поддерживаемых со стороны компилятора. Он имеет собственный формат управления пакетами.

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

Lazarus создавался по образу и подобию Delphi и поэтому они так похожи.

Рисунок 1. Вид Рабочего окна Lazarus

Lazarus - это плод труда большого общества программистов со всего мира. Российские программисты занимают одно из ключевых мест. Любой может участвовать в этом проекте и безвозмездно пользоваться им, без опаски стать нелегалом в компьютерном мире.

Для того чтобы установить компонент Lazarus нужно перекомпилировать всю визуальную систему программирования. Компонент плотно интегрируется в среду, становится непосредственной ее частью.

В Lazarus полная интеграция среды и компилятора FreePascal позволяет создавать кроссплатформенные приложения, т.е. приложения, которые могут выполняться на различных платформах. К их числу относятся Mac, Linux, Windows. Разработав программу для одной операционной системы, ее можно с легкостью перекомпилировать для другой, тем самым рынок реализации программы увеличивается. алгоритм lazarus программный

Рассмотрим основные элементы среды разработки Lazarus. На рисунке 2 показано окно, которое появится после запуска Lazarus. В верхней части этого окна размещается главное меню и панель инструментов. Слева расположено окно инспектора объектов, а справа - окно редактора исходного кода и окно формы.

Рисунок 2. Вид рабочего окна Lazarus

Если свернуть или сдвинуть окно редактора, то станет доступным окно формы (рисунок 3).

Рисунок 3. Окно формы

На рисунке 4 показан интерфейс Главного окна Lazarus.

Рисунок 4. Главное окно IDE Lazarus

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

Главное меню показано на рисунке 5. В нем расположены команды управления файлами, команды управления компиляцией и свойствами всего приложения, команды управления окнами и настройками среды и многое другое. Меню располагается в верхней части основного окна.

Рисунок 5. Главное меню

Панель инструментов предоставляет быстрый доступ к основным командам главного меню. Она расположена в левой части главного окна, под главным меню (рисунок 6).

Рисунок 6. Панель инструментов

Панель компонентов предоставляет доступ к основным компонентам среды разработки, например: поле ввода, надпись, меню, кнопка и т.п (рисунок 7).

Рисунок 7- Панель компонентов

Инспектор объектов показан на рисунке 8.

Рисунок 8. Инспектор объектов

В верхней части окна показывается иерархия объектов, а снизу, расположены три вкладки: «Свойства», «События», «Избранное». Назначение инспектора объекта - это просмотр всех свойств и методов объектов. На вкладке «Свойства» перечисляются все свойства выбранного объекта. На вкладке «События» перечисляются все события для объекта. На вкладке «Избранное» избранные свойства и методы

В окне редактора исходного кода набирается тексты программ (рисунок 9).

Рисунок 9. Редактор исходного кода

Многие функции и возможности этого редактора совпадают с возможностями обычных текстовых редакторов, например Блокнота. Текст в редакторе можно выделять, копировать, вырезать, вставлять. Кроме того, в редакторе можно осуществлять поиск заданного фрагмента текста, выполнять вставку и замену. Но, конечно, этот редактор исходных текстов Lazarus обладает еще рядом дополнительных возможностей для комфортной работы применительно к разработке программ. Основное преимущество редактора заключается в том, что он обладает возможностями подсветки синтаксиса, причем не только Pascal, но и других языков, а также рядом других удобств. В частности, выделенный фрагмент текста можно сдвигать вправо или влево на количество позиций, указанных в настройках Окружение->Параметры…->Редактор -> Общие ->

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

Все возможные операции в редакторе собраны в меню «Правка» и «Поиск» главного меню Lazarus.

Рисунок 10. Меню «Правка»

Рисунок 11. -Меню «Поиск»

На этом можно закончить обзор среды Lazarus. В параграфе описаны далеко не все виды окон Lazarus. Однако этого достаточно чтобы получить первое представление о среде.

2. Операторы ввода/вывода и типы данных в среды Lazarus

Ввод информации с клавиатуры осуществляется с помощью оператора read. Он может иметь один из следующих форматов:

read ( x1 , x2 , . . . , xn ) ;

или

readln ( x1 , x2 , . . . , xn ) ;

где x1, x2,. . . , xn - список вводимых переменных. При вводе вещественных значений, целую и дробную часть числа следует разделять точкой.

Когда в программе встречается оператор read, её действие приостанавливается до тех пор, пока не будут введены исходные данные. При вводе числовых значений два числа считаются разделёнными, если между ними есть хотя бы один пробел, символ табуляции или конца строки (Enter). После ввода последнего значения следует нажать Enter.

Оператор readln аналогичен оператору read, разница заключается в том, что после считывания последнего в списке значения для одного оператора readln данные для следующего оператора readln будут считываться с начала новой строки. Но следует помнить, что Enter переведёт курсор на новую строку независимо от того, как именно происходит считывание данных.

Для вывода информации на экран служат операторы write и writeln. В общем случае эти операторы имеют вид:

write ( x1 , x2 , . . . , xn ) ;

или

writeln ( x1 , x2 , . . . , xn ) ;

где x1, x2,. . . , xn представляют собой список выводимых переменных, констант, выражений. Если элемент списка - текстовая информация, её необходимо взять в кавычки.

Операторы write и writeln последовательно выводят все переменные. Если используется оператор writeln, то после вывода информации курсор перемещается в новую строку. Итак, в нашем примере оператор write('gradus='); выводит на экран символы gradus=, которые подсказывают пользователю, что он должен ввести значение переменной gradus, а оператор readln(gradus); предназначен для ввода значения переменной gradus. Оператор writeln('radian=', radian); выводит на экран два значения: строку radian= и значение переменной radian.

Для решения задачи в любой программе выполняется обработка каких-либо данных. Данные хранятся в памяти компьютера и могут быть самых различных типов: целые и вещественные числа, символы, строки, массивы. Типы данных определяют способ хранения чисел или символов в памяти компьютера. Они задают размер ячейки, в которую будет записано то или иное значение, определяя тем самым его максимальную величину или точность задания. Участок памяти (ячейка), в котором хранится значение определённого типа, называется переменной. У переменной есть имя (идентификатор), тип и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменить. Перед использованием любая переменная должна быть описана. Описание переменной на языке Free Pascal осуществляется с помощью служебного слова var:

var имя_переменной : тип_переменной ;

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

var переменная_1, переменная_2,..., переменная_N: тип_переменных ;

var

ha: integer; //Объявлена целочисленная переменная.

hb, c: real; //Объявлены две вещественные переменные.

Константа - это величина, которая не изменяет своего значения в процессе выполнения программы. Описание константы имеет вид:

const имя_константы = значение ;

Рисунок 12 - Пример ввода константы в код программы

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

Описывают символьный тип с помощью служебного слова char. Например:

var c : char ;

В тексте программы значения переменных и константы символьного типа должны быть заключены в апострофы: 'а', 'b', '+'.

Целочисленный тип данных.

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

Таблица 1. Целочисленные типы данных

Тип

Диапазон

Размер, байт

Byte

0. . . 255

1

Word

0. . . 65535

2

LongWord

0. . . 4294967295

4

ShortInt

?128. . . 127

1

Integer

?2147483648.. . 2147483647

4

LongInt

?2147483648. . . 2147483647

4

Smallint

?32768. . . 32767

2

Int64

?2^63. . .2^63

8

Cardinal

0. . . 4294967295

4

Описание целочисленных переменных в программе может быть таким:

var

b: byte; i, j: integer; W: word; L_1, L_2: longint

Вещественный тип данных.

Внутреннее представление вещественного числа в памяти компьютера отличается от представления целого числа. Оно представлено в экспоненциальной форме mE ± p, где m - мантисса (целое или дробное число с десятичной точкой), p - порядок (целое число)2. Чтобы перейти от экспоненциальной формы к обычному представлению числа3, необходимо мантиссу умножить на десять в степени порядок. Например:

?36.142E + 2 = ?36.142* = 3614.2;

7.25E ? 5 = 7.25*= 0.0000725.

Вещественное число в Pascal может занимать от четырёх до десяти байтов. Диапазоны значений вещественного типа представлены в таблице 2.

Таблица 2. Вещественные типы данных

Тип

Диапазон

Кол-во знач-х цифр

Размер, байт

Single

1.5E45. . .3.4E + 38

7-8

4

Real

2.9E ? 39. . .1.7E + 38

15-16

8

Double

5.0E ? 324. . .1.7E + 308

15-16

8

Extended

3.4E ? 4932. . .3.4E + 4932

19-20

10

Comp

?2^63. . .2^63

19-20

8

Currency

?922337203685477.5808. ……. .922337203685477.5807

19-20

8

Примеры описания вещественных переменных:

var

r1 , r 2 : real ; D: double ;

Логический тип данных.Данные логического типа могут принимать только два значения: истина (true) или ложь (false). В стандартном языке Pascal был определён лишь один логический тип данных - boolean. Логические типы данных, определённые в языке Free Pascal, представлены в таблице 3.

Таблица 3. Логические типы данных

Тип

Размер, байт

Boolean

1

ByteBool

1

WordBool

2

LongBool

4

Пример объявления логической переменной:

var FL: boolean;

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

type новый_тип_данных = определение_типа ;

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

var список_переменных: новый_тип_данных ;

Применение этого механизма мы рассмотрим в следующих параграфах.Перечислимый тип данных.

Перечислимый тип задаётся непосредственным перечислением значений, которые он может принимать:

var имя_переменной: (значение_1, значение_2,. . . , значение_N) ;

Такой тип может быть полезен, если необходимо описать данное, которое принимает ограниченное число значений. Например:

var

animal : ( fox , rabbit) ;

color: ( yellow, blue, green ) ;

Применение перечислимых типов делает программу нагляднее:

type //Создание нового типа данных - времена года.

ye a r_ se a s on s = ( winter , spring , summer , autumn ) ;

var //Описание соответствующей переменной.

yt : yea r_ seasons;

Интервальный тип.

Интервальный тип задаётся границами своих значений внутри базового типа:

var

имя_переменной: минимальное_значение .. максимальное_значение ;

Обратите внимание, что в данной записи два символа точки рассматриваются как один, поэтому пробел между ними не допускается. Кроме того, левая граница диапазона не должна превышать правую. Например: var date: 1 . . 31 ; symb : ' a ' . . ' h ' ;

Применим механизм создания нового типа данных:

type

//Создание перечислимого типа данных - дни недели.

Week_days = (Mo, Tu, We, Th, Fr , Sa , Su ) ;

//Создание интервального типа данных - рабочие дни.

Working_days = Mo . . Fr ;

var //Описание соответствующей переменной days - рабочие дни.

days : Working_days ;

Структурированные типы.

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

Массив - совокупность данных одного и того же типа. Число элементов массива фиксируется при описании типа и в процессе выполнения программы не изменяется.

Для описания массива используют ключевые слова array...of: имя_массива: array [ список_индексов ] of тип_данных ;

где: * имя_массива - любой допустимый идентификатор;

* тип_данных - любой тип языка.

* список_индексов - перечисление диапазонов изменения номеров элементов массива; количество диапазонов совпадает с количеством измерений массива; диапазоны отделяются друг от друга запятой, а границы диапазона, представляющие собой интервальный тип данных, отделяют друг от друга двумя символами точки:

[ индекс1_нач . . индекс1_кон , индекс2_нач . . индекс2_кон , . . . ]

Например:

var

//Одномерный массив из 10 целых чисел.

a : array [ 1 . . 1 0 ] o f byte ;

//Двумерный массив вещественных чисел (3 строки, 3 столбца).

b : array [ 1 . . 3 , 1 . . 3 ] o f rea l ;

Еще один способ описать массив - создать новый тип данных. Например, так:

type

//Объявляется новый тип данных - трёхмерный массив целых чисел.

massiv=array [ 0 . . 4 , 1 . . 2 , 3 . . 5 ] o f word;

var //Описывается переменная соответствующего типа.

M: massiv ;Для доступа к элементу массива достаточно указать его порядковый номер, а если массив многомерный (например таблица), то несколько номеров:

имя_массива[номер_элемента]

Например: a[5], b[2, 1], M[3, 2, 4].

Строка - последовательность символов. В Lazarus строка трактуется как массив символов, то есть каждый символ строки пронумерован, начиная с единицы.

При использовании в выражениях строка заключается в апострофы. Описывают переменные строкового типа так:

имя_переменной : str ing ;

или:

имя_переменной : str ing [ длина_строки ] ;

Например:

const S='СТРОКА ' ;

var

S t r 1 : str ing ;

S t r 2 : str ing [ 2 5 5 ] ;

S t r ok a : str ing [ 1 0 0 ] ;

Если при описании строковой переменной длина строки не указывается, это означает, что она составляет 255 символов. В приведённом примере строки Str1и Str2 одинаковой длины.

Запись - это структура данных, состоящая из фиксированного количества компонентов, называемых полями записи. В отличие от массива поля записи могут быть разного типа. При объявлении типа записи используют ключевые слова record..end:

имя_записи = record список_полей end;

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

//Описана структура записи.

//Каждая запись содержит информацию о студенте и

//состоит из двух полей - имя и возраст.

type

student = record

name : string ;

age : byte ;

end;

var

//Объявлены соответствующие переменные - три объекта типа запись.

a, b, c: student;

Доступ к полям записи осуществляется с помощью составного имени:

имя_записи.имя_поля

Например:

a . name := ' Ivanov Ivan ' ;

a . age := 18;

b . name :=a . name ;

Оператор присоединения with имя_записи do упрощает доступ к полям записи:

with a do

begin

name:= ' Petrov Petr' ;

age := 19;

end;

Множество - это набор логически связанных друг с другом объектов. Количество элементов множества может изменяться от 0 до 255. Множество, не содержащее элементов, называется пустым. Для описания множества используют ключевые слова set of:

имя_множества = set of базовый_тип_данных ;

Например:

type

TwoNumbers = set o f 0 . . 1 ;

var

Num1, Num2, Num3: TwoNumbers ;

Файл - это именованная область внешней памяти компьютера. Файл содержит компоненты одного типа (любого типа, кроме файлов). Длина созданного файла не оговаривается при его объявлении и ограничивается только ёмкостью диска, на котором он хранится. В Lazarus можно объявить типизированный файл:

имя_файловой_переменой = f i l e o f тип_данных ;

нетипизированный файл:

имя_файловой_переменой = f i l e ;

и текстовый файл:

имя_файловой_переменой = TextFile ;

Например:

var

f 1 : f i l e o f byte ;

f 2 : f i l e ;

f 3 : TextFile ;

3. Реализации основных алгоритмических структур и примеры решение задач

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

Задача 1

Известны длины сторон треугольника a, b и c. Вычислить площадь S, периметр P и величины углов б, в и г треугольника.

Решение задачи можно разбить на следующие этапы:

1) Определение значений a, b и c (ввод величин a, b и c в память компьютера).

2) Расчёт значений S, P, б, в и г по приведённым выше формулам.

3) Вывод значений S, P, б, в и г.

Далее необходимо сформировать внешний вид программы (рисунок 13). При помощи панели инструментов помещаем на форму следующие компоненты: Button1,Label1, Label2, Label3, Label4, Label5, Label6,Edit1, Edit2, Edit3.

Рисунок 13 - Проект формы к задаче.

Итак, проект формы готов. В окне программного кода среды Lazarus автоматически сформировал структуру модуля, перечислив названия основных разделов. Двойной щелчок по кнопке Рассчитать приведёт к созданию процедуры TForm1.Button1Click в разделе implementation: procedure TForm1 . Bu t t on 1Click ( Sender : TObject ) ;

begin

end;

Преобразуем процедуру TForm1.Button1Click в следующий вид:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, math;

type

{ TForm1 }

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

procedure Button1Click(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,alfa,beta,gamma,S,r:real;

begin

a:=strToFloat(edit1.Text);

b:=strToFloat(edit2.Text);

c:=strToFloat(edit3.Text);

r:=(a+b+c)/2;

S:=sqrt(r*(r-a)*(r-b)*(r-c));

alfa:=arccos((sqr(b)+sqr(c)-sqr(a))/2/b/c);

beta:=arcsin(b/a*sin(alfa));

gamma:=pi-(alfa+beta);

alfa:=alfa*180/pi;

beta:=beta*180/pi;

gamma:=gamma*180/pi;

Label1.Caption:='alfa: '+FloatToStrF(alfa,ffFixed,3,0);

Label2.Caption:='beta: '+FloatToStrF(beta,ffFixed,3,0);

Label3.Caption:='gamma: '+FloatToStrF(gamma,ffFixed,3,0);

Label4.Caption:='Периметр: '+FloatToStrF(2*r,ffFixed,5,2);

Label5.Caption:='Площадь: '+FloatToStrF(S,ffFixed,5,2);

end;

Рисунок 14 - Результат работы программы

Задача 2

Даны вещественные числа x и y. Определить, принадлежит ли точка с координатами (x;y) заштрихованной части плоскости.

Рисунок 15 - Графическое предсталение задачи

Как показано на рисунке 15, область ограничена линиями x = ?1, x = 3, y = ?2 и y = 4. Значит, точка с координатами (x;y) будет принадлежать этой области, если будут выполняться следующие условия: x > ?1, x 6 3, y > ?2 и y 6 4. Иначе точка лежит за пределами области.

Текст программы к задаче 2 будет иметь следующий вид:

procedure TForm1.Button1Click(Sender: TObject);

var x , y : real ;

begin

x:= StrToInt(Edit1.Text);

y:= StrToInt(Edit2.Text);

if (x>=-1) and (x<=3) and (y>=-2) and (y<=4) then

Label3.Caption:= 'Good'

else

Label3.Caption:= 'Bad';

end;

Рисунок 16 - Тест программы к задаче 2

Заключение

Алгоритм - это строго определенная последовательность действий для некоторого исполнителя, приводящая к конкретному результату за конечное число шагов.

Свойства алгоритмов:

- Дискретность.

- Понятность.

- Определенность (детерминированность).

- Конечность (результативность).

- Массовость.

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

Lazarus -- свободная среда разработки программного обеспечения для компилятора Free Pascal. Позволяет достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, Mac OS X, Microsoft Windows. Начиная с Delphi XE2 в самом Delphi имеется возможность компиляции программ для Mac OS X и iOS.

Была определена и установлена версия Lazarus и проведено ее изучение. Мной была проделана работа по анализу учебной литературы по программированию и Интернет-источников, связанные с программированием в Lazarus. Разработаны и реализованы в виде приложений алгоритмы, демонстрирующие возможности Lazarus.

Для достижения цели курсовой работы мною были решены следующие задачи:

1) был изучен и подробно описан интерфейс визуальной среды программирования Lazarus, представлено описание основных составляющих интерфейса;

2) рассмотрены типы данных языка программирования Free Pascal, указаны основные особенности; изучены и описаны операторы вводы/вывода, правила применения операций и составления выражений в языке программирования Free Pascal;

3) изучено и показано на примерах применение операторов Free Pascal для управления вычислительным процессом;

4) показана технология реализации основных алгоритмических конструкций с использованием операторов управления Free Pascal.

Таким образом, все задачи курсовой работы были решены, а ее цель достигнута.

Список использованных источников

1. Алексеев, Е. Р. Самоучитель попрограммированию на Free Pascal и Lazarus [Текст] / Е. Р. Алексеев, О. В. Чеснокова, Т. В. Кучер. - Донецк.: ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2009. - 503 с.

2. Вирт, Н. Алгоритмы и структуры данных [Текст] / Н. Вирт. - М. : Мир, 1989. - 360 с.

3. Ершов, А. П. Введение в теоретическое программирование: Беседы о методе [Текст] / А. П. Ершов. - М.: Книга по Требованию, 2012. - 288 с.

4. Знакомство с Lazarus / Free Pascal Project: Lazarus [Электронный ресурс]. - Режим доступа: http://flash-library.narod.ru/UMK/Lazarus/Cnsl- 01.html

5. История / Lazarus [Электронный ресурс]. - Режим доступа : http://lazarus.freepascal.org.

6. Консольный режим Pascal/ Lazarus Documentation [Электронный ресурс]. - Режимдоступа: http://wiki.freepascal.org/Console_Mode_Pascal

7. Кулагин, И.Т. Алгоритмизация [Текст] / И.Т. Кулагин. - М: Бином, 2011. - 322 с.

8. Куликов, А. Алгоритмы [Текст] / А. Куликов. - М.: Астрель, 2014. - 320 с.

9. Мансуров, К.Т. Основы программирования в среде Lazarus [Текст] / К.Т. Мансуров. - М.: Бином, 2010. - 127 с.

10. Михайлов, Т.Ю. Характеристика среды Lazarus [Текст] / Т.Ю. Михайлов. - М.: Наука, 2009. - 211 с.

11. Обзор Free Pascal и Lazarus / Free Pascal Project: Lazarus [Электронный ресурс]. - Режим доступа: http://wiki.freepascal.org/Overview_of_Free_Pascal_and_Lazarus

12. Объектно-ориентированное программирование на Free Pascal и Lazarus / Object Oriented Programming with FreePascal and Lazarus [Электронный ресурс]. - Режим доступа : http://wiki.freepascal.org/ Object_Oriented_Programming_with_FreePascal_and_Lazarus/ru

13. Окулов, С. Программирование в алгоритмах [Текст] / С. Окулов. - М.: Бином, 2013. - 384 с.

14. Паскаль, Б. Мысли [Текст] / Б. Паскаль. - М.: Астрель, 2009. - 256 с.

15. Селиванова, Д.М. Основы программирования в алгоритмической среде [Текст] / Д.М. Селиванова. - М.: Бином, 2010. - 139 с.

Размещено на Allbest.ru


Подобные документы

  • Бесплатная среда разработки программного обеспечения с открытым исходным кодом для компилятора Free Pascal. Почему Lazarus такой популярный. Корректность введенных данных. Использование основных методов визуализации в среде программирования Lazarus.

    курсовая работа [695,5 K], добавлен 19.04.2013

  • Форма программы для ввода и вывода массива в программной среде Lazarus. Характеристика главных недостатков Lazarus. Цикл для пропуска пробелов между словами. Результат обработки текстового редактора memo.text. Листинг и экранные формы заданной программы.

    контрольная работа [799,2 K], добавлен 15.01.2011

  • Интегрированная среда разработки Lazarus. Среда программных продуктов Lazarus, объекты программных компонентов. Палитра компонентов Standard, Additional. Разработка справочной системы: структура проекта, интерфейс программы, компоненты приложения.

    курсовая работа [695,2 K], добавлен 08.01.2023

  • Засоби доступу до БД в середовищі Lazarus. Створення і робота з таблицями за допомогою DBase. Набір візуальних компонентів LCL в Lazarus. Основні переваги останньої версії InterBase. Основи створення нової таблиці бази даних програмного забезпечення.

    курсовая работа [49,5 K], добавлен 23.11.2010

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

  • Методы, подходы, принципы, интерфейс Lazarus и Delphi. Технические различия, ход установки и коммерческий доступ к продуктам среды визуального программирования. Установление дополнительных компонент программы, их совместимость с операционными системами.

    курсовая работа [4,1 M], добавлен 14.03.2012

  • Проектирование концептуальной, логической и физической модели базы данных. Формирование сущностей и связей между ними. Создание форм с функциями добавления, редактирования, удаления, поиска, печати. Разработка клиентской части БД с помощью среды Lazarus.

    курсовая работа [1,3 M], добавлен 05.04.2015

  • Характеристика графических возможностей среды программирования Lazarus. Анализ свойств Canvas, Pen, Brush. Сущность методов рисования эллипса и прямоугольника. Возможности компонентов Image и PaintBox. Реализации программы "Графический редактор".

    курсовая работа [2,8 M], добавлен 30.03.2015

  • Вибір стратегії розв`язування задачі. Загальна характеристика середовища програмування Lazarus. Робота з текстовими файлами для збереження навчального матеріалу і результатів тестування. Авторизація викладача. Підпрограми редагування навчання та тестів.

    курсовая работа [1,6 M], добавлен 10.09.2012

  • Язык программирования Pascal и его турбооболочка. Аналитический обзор игрового программного обеспечения. Функции модуля Crt. Постановка задачи создания несложной игровой программы "Турбозмей", алгоритм реализации и описание пользовательского интерфейса.

    курсовая работа [100,4 K], добавлен 15.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.