Советы и лайфхаки

Lazarus обучение – Урок 1. Система программирования LAZARUS

Содержание

Урок 1. Система программирования LAZARUS

Урок из серии «Программирование в среде Lazarus для школьников»

Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.

Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.

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

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

Скачать последнюю версию Lazarus вы можете по ссылке -http://sourceforge.net/projects/lazarus/files/

Краткая справочная информация

Lazarus – среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичная Delphi.

Данный проект базируется на оригинальной кроссплатформенной библиотеке визуальных компонентов Lazarus Component Library (LCL).

Кроссплатформенное программное обеспечение – это программное обеспечение, работающее более чем на одной аппаратной платформе и/или операционной системе.

Free Pascal – это компилятор языков Pascal и Object Pascal, работающий под Windows, Linux, Mac OS X, FreeBSD, и другими ОС.

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

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

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

Процесс создания приложения можно разделить на следующие этапы:

1. Создание проекта. В результате на экране появляется пустая форма (окно будущего приложения).

2. Создание графического интерфейса проекта – расположение необходимых элементов, задание размеров, изменение свойств;

3. Написание программного кода, который определит, что будет делать ваша  программа.

4. Отладка программы.

Чтобы познакомится с основными инструментами  среды разработки, запустим  среду программирования.

Для этого выполните команду:

Пуск => Все программы => Lazarus => Lazarus.

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

Вы видите все основные инструменты среды разработки Lazarus:

1. Окно формы – окно будущего приложения.

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

3. Окно Инспектор объектов, содержащее файлы проекта и окно со вкладкой Свойства, в котором вы будете настраивать свойсктва помещенных на форму объектов.

4. Окно Редактор исходного кода, в котором вы будете писать программный код.

Дадим появившимся окнам краткую характеристику.

Главное окно. Здесь располагаются меню, панель инструментов и палитра компонентов.

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

Невизуальные компоненты видны только на первом этапе создания приложения – при редактировании.

Главное окно остается открытым все время работы IDE. Закрывая его, вы, тем самым, закрываете Lazarus и все открытые в нем окна.

Инспектор объектов содержит четыре страницы

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

Значения свойств можно менять еще до запуска проектируемой программы. Например, для будущего окна вашего приложения (формы) свойство Name имеет значение Form1. Для изменения имени достаточно изменить его в Инспекторе объектов.

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

Окно Редактора кода. На момент первого запуска оно имеет заголовок Unit1.

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

  • все служебные слова выделяются жирным шрифтом;
  • знаки препинания становятся красными;
  • строки с ошибками выделяются коричневым цветом;
  • комментарии могут заключаться в фигурные скобки {} и выделяются синим.

Текст программы разбивается на части – процедуры и функции.

Основную работу программист производит именно здесь.

Проектировщик форм. У каждого Windows-приложения должно быть хотя бы одно окно.

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

Перенося на него элементы из палитры компонентов, вы тем самым, предварительно оформляете его.

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

В этом уроке мы познакомились с основными инструментами разработки программ. В следующем уроке мы напишем свою первую программу.

Следующий урок: Урок 2. Ваша первая программа

Задание для самостоятельного выполнения

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

2. Посмотреть видеоурок: “Lazarus. Ввод в курс дела”, из которого вы узнаете о различиях проектов Lazarus и Delphi.

Автор видеоурока: Язовцев Игорь.

P.S. Как всегда, под уроком жду твоих комментариев – насколько урок оказался полезным для тебя:)

Удачи!

Вера Господарец

Поделиться с друзьями


gospodaretsva.com

Lazarus — Всё для чайников

  • Главная
  • Видеотека
    • Естествознание
      • Физика
      • Математика
      • Химия
      • Биология
      • Экология
    • Обществознание
      • Обществознание — как наука
      • Иностранные языки
      • История
      • Психология и педагогика
      • Русский язык и литература
      • Культурология
      • Экономика
      • Менеджмент
      • Логистика
      • Статистика
      • Философия
      • Бухгалтерский учет
    • Технические науки
      • Черчение
      • Материаловедение
      • Сварка
      • Электротехника
      • АСУТП и КИПИА
      • Технологии
      • Теоретическая механика и сопромат
      • САПР
      • Метрология, стандартизация и сертификация
      • Геодезия и маркшейдерия
    • Программирование и сеть
      • Информатика
      • Языки программирования
      • Алгоритмы и структуры данных
      • СУБД
      • Web разработки и технологии
      • Архитектура ЭВМ и основы ОС
      • Системное администрирование
      • Создание программ и приложений
      • Создание сайтов
      • Тестирование ПО
      • Теория информации и кодирования
      • Функциональное и логическое программирование
    • Программы
      • Редакторы и компиляторы
      • Офисные программы
      • Работа с аудио видео
      • Работа с компьютерной графикой и анимацией
      • Автоматизация бизнеса
    • Прочие
      • Музыка
      • Природное земледелие
      • Рисование и живопись
  • Библиотека
    • Естествознание
      • Физика
      • Математика
      • Химия
      • Биология
      • Экология
      • Астрономия
    • Обществознание
      • Иностранные языки
    • Технические науки
      • Теоретическая механика и сопромат
      • Сварка
      • Железная дорога
    • Паспорта и техническая документация
      • Металлообра-батывающие станки
      • Деревообра-батывающие станки
      • Сварочное оборудование
  • Правила
  • Контакты

forkettle.ru

НОУ ИНТУИТ | Программирование на Lazarus

Форма обучения:

дистанционная

Стоимость самостоятельного обучения:

бесплатно

Доступ:

свободный

Документ об окончании:

Уровень:

Для всех

Длительность:

24:35:00

Выпускников:

396

В курсе рассматривается среда программирования Lazarus и компилятор FPC.

Lazarus – свободно распространяемая среда программирования на Объектом Паскале, бесплатный аналог Delphi. По этой причине в настоящее время в школах, университетах, гос. учреждениях переходят на Lazarus. В курсе подробно рассматриваются все аспекты создания Windows-приложений.

Дополнительные курсы

 

2 часа 30 минут

Введение в Lazarus
На этой лекции вы познакомитесь с великолепной бесплатной средой разработки программ — Lazarus. Узнаете об истории развития языков программирования, о бесплатной лицензии GNU, о том, где взять последнюю версию Lazarus и как установить ее, напишите свое первое приложение.

Анатомия проекта
На этой лекции вы узнаете, как настроить IDE Lazarus для более удобной работы, познакомитесь с составом проекта, напишите интерактивную программу. Также вы изучите новые компоненты TLabel и TEdit.

Работа с компонентами
Эта лекция посвящена работе с компонентами. Подробно рассмотрены свойства таких компонентов, как TForm, TPanel, TButton, TBitBtn и TSpeedButton. Рассмотрена возможность изменения размеров панелей с помощью границы-разделителя TSplitter.

Основы кода
Эта лекция посвящена основам кодирования на Паскале. Рассмотрены такие понятия, как Типы данных, Переменные, Константы, Комментарии, Значения, Выражения, Ключевые слова и так далее. Для закрепления материала приводятся подробные практические примеры по темам лекции.

Символы и строки
Лекция посвящена работе с символами и строками. Подробно рассмотрен механизм строк в Lazarus, символьные и строковые типы данных. Подробно рассмотрены компоненты для работы со строками.

Логические типы, конструкции и компоненты
В лекции представлен исчерпывающий материал по работе с логическими данными. Существующие логические типы, операции над ними, а также компоненты TCheckBox, TCheckGroup, TRadioButton, TRadioBox. Примеры программ демонстрируют все возможности работы с логическими типами.

Числа
В лекции подробно рассмотрена работа с числами — целыми и вещественными, знаковыми и беззнаковыми. Дан материал по различным операциям с числами, их преобразовании в другие типы данных, вывод на экран в нужном формате. Материал закрепляется практикой — созданием программы для определения Индекса Массы Тела.

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

Циклы и переключатель case
В данной лекции мы изучим работу с циклами for, while, repeat, и переключателем case. Рассмотрим весь материал на небольших практических примерах, показывающих все особенности работы с циклами.

Экранная заставка
Эта лекция написана в виде лабораторной работы, и посвящена закреплению пройденного материала на практике. Описан весь путь создания полноценного рабочего приложения: экранной заставки в виде часов. Кроме того, в лекции описывается работа с системным таймером TTimer и с функцией-генератором случайных чисел Random().

Дата и время
Лекция посвящена изучению работы с типом дата-время TDateTime. Изучены компоненты для работы с этим типом, рассмотрены все основные стандартные функции и процедуры для обработки даты-времени.

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

Коллекции (массивы) строк и компоненты для них
В лекции рассматривается тип TStrings, который является базовым типом массивов строк, а также компоненты TMemo, TListBox и TComboBox, которые используют этот тип. Изучаются основные возможности TStrings. Материал подкрепляется практической работой, в которой учащиеся знакомятся со способами обработки строк: их редактированием, сохранением в текстовый файл, считыванием из файла и прочее.

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

Организация меню и панелей инструментов
На лекции рассматриваются способы организации главного меню, всплывающего меню и панели инструментов, рассматривается компонент TImageList и возможность вывести изображение на пункты меню и кнопки панели.

Модули
В этой лекции мы рассматриваем структуру модулей, их создание и подключение к проекту. На конкретном практическом примере рассматривается работа с модулями.

Блокнот — шифратор
Данная лабораторная работа закрепляет пройденный материал и показывает на практике реализацию текстового редактора — прототипа стандартного Блокнота Windows. В лекции рассматривается включение модуля стороннего разработчика, практическое применение четырех диалогов.

Деревья
Лекция посвящена работе с древовидными иерархическими структурами данных, и компонентом TTreeView. На практике показаны все основные действия с компонентом.

Многооконные приложения. SDI- и MDI-интерфейсы
На этой лекции мы рассмотрим создание многооконных приложений. На практике научимся создавать модальные и немодальные окна. Подробно изучим создание SDI-интерфейсов, немного коснемся принципов работы MDI-интерфейсов.

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

Тип TStringList. Работа с папками
Эта лекция посвящена типу TStringList, который удобно использовать для работы с текстовыми файлами и списками строк. В лекции также рассматриваются инструменты для различной работы с папками — создание, удаление, смена текущей папки, проверка на существование.

Файлы
На этой лекции мы изучим работу с файлами: текстовыми, типизированными и нетипизированными. Весь материал подкреплен подробными примерами.

Записи и вариант. Сетка строк TStringGrid
Данная лекция рассматривает работу с записями (record), типом данных variant и сеткой строк TStringGrid. Весь материал подкреплен практическими примерами.

Телефонный справочник
Данная лабораторная работа закрепляет пройденный материал по темам работы с записями, типизированными файлами и сеткой строк TStringGrid. В процессе работы подробно рассматривается создание программы — телефонного справочника.

DLL
Лекция посвящена работе с динамически подключаемыми библиотеками — DLL. Рассматривается концепция DLL, создание библиотеки, статическое и динамическое связывание библиотеки с приложением.

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

Создание справочной системы
Лекция носит факультативный характер. Мы рассматриваем все этапы разработки справочной системы, осваиваем программы NVU и MS HTML Help Workshop, разрабатываем справочную систему, подключаем его к проекту Lazarus.

Создание инсталлятора
Лекция носит факультативный характер. Здесь мы рассмотрим создание инсталляционного файла для нашей программы, изучим работу с системой Inno Setup.

www.intuit.ru

Lazarus | Урок 2. Ваша первая программа

Урок из серии “Программирование для школьников в среде Lazarus”

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

В этом уроке мы создадим свою первую программу, познакомимся с редактором исходного кода, узнаем  как   компилировать и выполнять программу.

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

Итак, приступим …

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

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

В нашей первой программе при создании интерфейса пользователя будем использовать три компонента: TForm (Форма), Label (Надпись) и TButton (Командная кнопка).

Так как мы будем использовать их впервые, давайте познакомимся с ними подробнее. Нам нужно знать основные свойства этих компонентов и их назначение, чтобы можно было их настраивать. Описание свойств этих компонентов можно  посмотреть перейдя по ссылкам: Forma (Форма), Label (Надпись), Button (Кнопка). С остальными компонентами графического интерфейса будем знакомиться по мере их использования.

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

Проект «Первая программа»

Задание. Создать проект, который после щелчка на кнопке выводит в поле надписи текст: «Я программирую!!!»

Создать интерфейс программы по образцу:

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

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

Ход выполнения проекта

  1. Загрузите Lazarus. Создайте новый проект.Для этого:1) Выполнить команду Проект => Создать проект …2)В появившемся диалоговом окне выбрать слово Приложение и нажать кнопку ОК.

  2. Сохранить созданный проект.

    Для этого:
    1) Выполнить команду Проект – Сохранить проект как… Откроется окно Сохранить проект.

    2) Не выходя из этого диалогового окна Создать новую папку Primer_1 для файлов вашего проекта (проект будет содержать несколько файлов), открыть ее и щелкнуть по кнопке Сохранить.

    Тем самым мы сохраним файл Project1, содержащий сведения о проекте.

    Сразу же откроется окно Сохранить Unit1 для сохранения программного кода проекта (файл Unit1.pas), в котором также необходимо щелкнуть по кнопке Сохранить.

    Кроме этих двух файлов в папке проекта создается автоматически еще несколько файлов, в том числе – unit.lfm, который представляет собой файл с полными данными о проектировщике формы. Позиция, размер, расположенные компоненты и пр.

    Папка проекта должна содержать следующие файлы:

  3. Разместите на форме компоненты Надпись (Label) и Кнопку (Button). Разместить компонент на форме можно одним из двух способов.
    Первый – дважды щелкнуть мышью на значке компонента, расположенного на палитре компонентов. Однако при этом компонент попадет не в то место, куда Вы хотите, а в левый верхний угол формы.
    Второй – щелкнуть на значке компонента (при этом он выделяется) и щелкнуть на форме. Таким образом компонент можно поместить в любое желаемое место на форме.

  4. Установите новые значения для свойств, перечисленные в таблице.

    Компонент

    Свойство

    Значение

    ФормаCaptionМоя первая программа
    НадписьCaptionПустая строка
    Font
    Name

    Size


    Arial

    20

    Style
    fsBold

    True
    КнопкаCaptionВывести сообщение

    Форма примет такой вид, как на рисунке:

  5. Напишите программный код для процедуры обработчика события щелчок на кнопке. Пока мы это не сделаем, кнопка не будет работать. При нажатии на кнопку ничего не будет происходить.

    Для этого:
    1) Выполните двойной щелчок по кнопке. Откроется редактор исходного кода, в котором, после кода созданного автоматически, добавиться новая процедура -TForm1.Button1Click – обработчик события щелчок на кнопке (анг. Button – кнопка, Click – щелчок).

    Сейчас процедура обработчика события пустая, при нажатии кнопки она ничего не делает.

    2) Чтобы процедура выполнила необходимые действия, напишите соответствующий код между операторными скобками begin и end. В нашем случае это оператор присваивания, который изменяет свойство Сaption (текст надписи) объекта Label1 на новое значение:

    label1.Caption:='Я программирую!';

    Вводя код, обратите внимание на подсказку, появившуюся после ввода точки, следующей за label1. Подсказка представляет собой всплывающее меню, в котором перечислены допустимые свойства и методы компонента label1

    С помощью мыши вы можете выбрать из списка нужное свойство или метод.

    Другой способ: вы можете начать вводить имя свойства, при этом Lazarus автоматически прокручивает список и находит имена, первые буквы которых совпадают с вводимыми буквами. Это поможет вам, если вы забыли точное имя. Если теперь нажать <Space> или <Enter>, то Lazarus вместо вас автоматически завершит ввод имени.

  6. Закончив вводить код, выполните программу. Это можно сделать одним из трех способов:
    1) щелкнув по кнопке Run (Выполнить) на панели инструментов;
    2) выбрав команду Run-Run в главном меню;
    3) нажав клавишу <F9>.

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

    Далее этот файл, в случае успешного создания, запускается на выполнение.

    В случае, если были допущены ошибки, сообщение об этом появляется в протоколе.

  7. При успешной компиляции на экране появиться форма с кнопкой, однако пока что без надписи. Если теперь щелкнуть на кнопке, то на форме появиться надпись.

  8. Таким образом, вы создали приложение, реагирующее на действия пользователя. Скомпилированная программа сохраниться в папке проекта в виде файла с расширением .EXE. Он может быть выполнен на компьютере без среды разработки Lazarus.

  9. Сохраните все файлы проекта. Для этого выполните команду Проект сохранить или Файл – Сохранить

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

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

Задания для самостоятельного выполнения

Задание 3.Создайте приложение, разместите на форме компоненты: Buton1, Edit1 так как показано на образце.

По щелчку на кнопке нужно заменить текст в заголовке окна на текст введенный пользователем в текстовое поле.

Задание 4. Создайте приложение, в результате работы которого при щелчке на кнопке привет в поле надписи выводится приветствие, при щелчке на кнопке Очистить сообщение исчезает.

Задание 5. Создайте приложение, в результате работы которого в поле надписи Label 1 выводится выводиться одно из сообщений, в зависимости от того, на какой кнопке пользователь щелкнул мышью.

Наименование кнопкиОтображаемый текст в надписи label1
ФормаЗаготовка главного окна разрабатываемого приложения
Инспектор объектовОкно, предназначенное для редактирования свойств объектов
Unit1.pasФайл с программным кодом
ПроектГруппа файлов, относящихся к данному приложению

Для объектов на форме установите следующие значения свойств:

КомпонентСвойствоЗначение
Label1CaptionЗдесь будет выведено сообщение
WordWrapTrue
Form1BorderIcons
biMinimize
biMaximize
False
False

В этом уроке мы создали свою первую программу в среде Lazarus.

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

Следующий урок: Компонент TImage (Графическое поле)

P.S. Как всегда, под уроком жду твоих комментариев – насколько урок оказался полезным для тебя:)

Удачи!

Поделиться с друзьями


gospodaretsva.com

Основы программирования в среде Lazarus

Мансуров К.Т.

Основы программирования в среде Lazarus

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

УДК 004

ББК 32.973-01

Рецензенты:

доктор физико-математическихнаук, профессор Десятков Г.А. докторфизико-математическихнаук, профессор Сопуев А.С. докторфизико-математическихнаук, профессор Сатыбаев А.С.

М23 Мансуров К.Т. Основы программирования в среде Lazarus, 2010. – 772 с.: ил.

ISBN 978-9967-03-646-8

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

Изложение языка Паскаль ведется применительно к компилятору Free Pascal и среде Lazarus, которые относятся к категории свободного программного обеспечения. Достоинством СПО является общедоступность и бесплатность. Так, и Free Pascal и Lazarus можно свободно скачать в Интернете. В отличие от продуктов семейства Delphi, использование Free Pascal и Lazarus позволит снять все проблемы нелегального использования лицензионного ПО. В то же время Lazarus по своим возможностям практически не уступает Delphi. Таким образом, Lazarus является идеальным средством для изучения языка программирования Паскаль в школах и вузах в полном соответствии с Концепцией развития разработки и использования свободного программного обеспечения в Российской Федерации. В пакете свободного программного обеспечения (ПСПО) для образовательных учреждений РФ Free Pascal и Lazarus также имеются.

В книге приведены многочисленные примеры программ. Подробно рассмотрены типичные и наиболее часто используемые алгоритмы. Особое внимание уделено разработке программ с графическим интерфейсом, а также объектно-ориентированномупрограммированию. Рассмотрены особенности программирования в среде Lazarus в ОС Windows и Linux. К книге прилагается DVD диск с исходными кодами всех программ, рассмотренных в книге.

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

Учебник и все материалы, входящие в него распространяются на условиях лицензии GNU FDL.

М 2404090000-10

ISBN 978-9967-03-646-8

© Мансуров К.Т., 2010

Содержание

____________________________________________________________________

2.1.22.2. Оператор if …then … else ……………………………………………………………………….

107

2.1.23 Операторы цикла……………………………………………………………………….

113

2.1.23.1. Оператор цикла с предусловием………………………………………………………………

113

2.1.23.2. Оператор цикла с постусловием ………………………………………………………………

114

2.1.23.3. Оператор цикла с параметром. ………………………………………………………………..

120

2.1.23.4. Второй вариант оператора цикла с параметром………………………………………..

121

2.1.24 Оператор выбора case ………………………………………………………………..

124

2.1.25 Организация простейшего контроля ввода данных. ……………………

126

2.1.26 Вычисление сумм сходящихся рядов …………………………………………

131

2.2. Реализация некоторых алгоритмов главы 1. ………………………………………

136

2.2.1 Программа решения задачи о поездах и мухе……………………………….

136

2.2.2 Программа вычисления определенного интеграла ……………………….

137

Глава 3 Более сложные элементы языка………………………………………………………

141

3.1. Общая структура Паскаль – программы…………………………………………….

141

3.1.1 Процедуры и функции …………………………………………………………………

142

3.1.1.1 Структура процедуры ………………………………………………………………………………..

142

3.1.1.2. Структура функции …………………………………………………………………………………..

143

3.1.1.3 Глобальные и локальные переменные ………………………………………………………..

144

3.1.1.4 Способы передачи параметров …………………………………………………………………..

155

3.1.1.5 Процедуры завершения ……………………………………………………………………………..

159

3.2. Еще раз о типах данных…………………………………………………………………….

159

3.2.1 Классификация типов данных ……………………………………………………..

159

3.2.1.1 Целый тип …………………………………………………………………………………………………

160

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

161

3.2.1.3. Перечислимый тип ……………………………………………………………………………………

162

3.2.1.4. Множества ……………………………………………………………………………………………….

162

3.2.1.5. Логический тип…………………………………………………………………………………………

163

3.2.1.6. Вещественный тип ……………………………………………………………………………………

163

3.2.1.7. Указатели …………………………………………………………………………………………………

164

3.3. Обработка символьной информации в Паскале………………………………….

165

3.3.1 Символьные и строковые типы данных. ………………………………………

165

3.3.1.1. Тип Char …………………………………………………………………………………………………..

170

3.3.1.2. Функции для работы с символами……………………………………………………………..

170

3.3.1.3. Тип String …………………………………………………………………………………………………

171

3.3.1.4. Строковые процедуры и функции ……………………………………………………………..

176

3.4. Массивы …………………………………………………………………………………………..

190

3.4.1 Динамические массивы ……………………………………………………………….

197

3.4.2 Программа решения системы линейных алгебраических

 

уравнений методом Гаусса…………………………………………………………………..

202

3.4.1.1. Вариант 1 – с goto …………………………………………………………………………………..

204

3.4.1.2. Вариант 2 – без goto……………………………………………………………………………….

206

3.4.1.3. Вариант 3 – более лучшая реализация ……………………………………………………….

209

3.5. Модули в Паскале …………………………………………………………………………….

213

3.5.1 Структура модуля ……………………………………………………………………….

213

3.5.2 Системные модули………………………………………………………………………

218

3.5.2.1. Модуль CRT……………………………………………………………………………………………..

220

Содержание

____________________________________________________________________

3.6. Файлы ………………………………………………………………………………………………

225

3.6.1 Тип данных – запись …………………………………………………………………..

225

3.6.2 Файловые типы……………………………………………………………………………

227

3.6.3 Процедуры для работы с файлами ……………………………………………….

228

3.6.3.1. Общие процедуры для работы с файлами всех типов …………………………………

228

3.6.3.2. Процедуры для работы с текстовыми файлами ………………………………………….

230

3.6.3.3. Процедуры для работы с типизированными файлами ………………………………..

238

3.6.3.4. Процедуры для работы с нетипизированными файлами …………………………….

248

3.6.3.5. Организация контроля ввода/вывода при работе файлами………………………….

254

3.6.3.6. Создание простой базы данных с типизированными файлами. …………………..

257

Глава 4 Типовые алгоритмы обработки информации …………………………………..

272

4.1. Алгоритмы сортировки…………………………………………………………………….

272

4.1.1 Обменная сортировка (метод «пузырька») ……………………………………

274

4.1.2 Сортировка выбором …………………………………………………………………..

280

4.1.3 Сортировка вставками …………………………………………………………………

286

4.1.4 Метод быстрой сортировки………………………………………………………….

301

4.2. Алгоритмы поиска…………………………………………………………………………….

312

4.2.1 Поиск в массивах ………………………………………………………………………..

312

4.2.2 Вставка и удаление элементов в упорядоченном массиве …………….

323

4.3. Динамические структуры данных ……………………………………………………..

331

4.3.1 Представление в памяти компьютера динамических структур. …….

337

4.3.2 Реализация стека с помощью массивов ………………………………………..

340

4.3.3 Представление двоичного дерева в виде массива и реализация

 

алгоритма обхода двоичного дерева слева……………………………………………

349

4.3.4 Указатели ……………………………………………………………………………………

361

4.3.5 Стандартные операции с линейными списками ……………………………

365

4.3.6 Реализация динамических структур линейными списками …………..

372

4.3.6.1. Реализация стека ………………………………………………………………………………………

372

4.3.6.2. Реализация очереди с помощью линейного списка …………………………………….

375

4.3.6.3. Реализация двоичного дерева с помощью линейного списка ……………………..

380

4.3.7 Сортировка и поиск с помощью двоичного дерева………………………

388

Глава 5 Основы объектно-ориентированного программирования ………………..

396

5.1. Три источника и три составные части ООП……………………………………….

396

5.2. Классы и объекты……………………………………………………………………………..

398

5.2.1 Обращение к членам класса…………………………………………………………

401

5.3. Инкапсуляция …………………………………………………………………………………..

406

5.3.1 Спецификаторы доступа. …………………………………………………………….

411

5.3.2 Свойства. …………………………………………………………………………………….

417

5.4. Наследование ……………………………………………………………………………………

426

5.5. Полиморфизм……………………………………………………………………………………

435

5.5.1 Раннее связывание. ……………………………………………………………………..

437

5.5.2 Позднее связывание. ……………………………………………………………………

442

5.5.3 Конструкторы и деструкторы. ……………………………………………………..

448

Глава 6 Программирование приложений с графическим интерфейсом…………

458

Содержание

____________________________________________________________________

6.1. Элементы графического интерфейса …………………………………………………

459

6.2. Различия между консольными и графическими приложениями …………

466

6.3. Визуальное программирование в среде Lazarus …………………………………

468

6.3.1 Создание графического приложения ……………………………………………

468

6.3.2 Форма и ее основные свойства …………………………………………………….

475

6.3.3 Компоненты ………………………………………………………………………………..

481

6.3.4 Обработчики событий …………………………………………………………………

481

6.3.5 Простейшие компоненты …………………………………………………………….

484

6.3.5.1. Компонент TLabel ………………………………………………………………………………….

485

6.3.5.2. Кнопки TButton, TBitBtn и TSpeedButton …………………………………………………..

500

6.3.6 Организация ввода данных. Однострочные редакторы TEdit,

 

TLabeledEdit………………………………………………………………………………….

504

6.3.6.1. Компонент TEdit…………………………………………………………………………………….

504

6.3.6.2. Компонент TLabeledEdit……………………………………………………………………………

512

6.3.7 Обработка исключений. Компонент TMaskEdit. Организация

 

контроля ввода данных………………………………………………………………………..

518

6.3.7.1. Компонент TMaskEdit …………………………………………………………………………..

529

6.3.8 Специальные компоненты для ввода чисел ………………………………….

547

6.3.9 Тестирование и отладка программы …………………………………………….

549

6.3.10 Компоненты отображения и выбора данных ………………………………

553

6.3.10.1. Компонент TMemo…………………………………………………………………………………..

554

6.3.10.2. Компонент TStringGrid ……………………………………………………………………..

607

6.3.10.3. Компоненты выбора………………………………………………………………………………..

616

6.3.10.4. Компоненты отображения структурированных данных ……………………………

644

6.3.11 Организация меню. Механизм действий — Actions ……………………..

717

6.3.11.1. Компонент TMainMenu ………………………………………………………………………….

717

6.3.11.2. Компонент TToolBar…………………………………………………………………………….

736

6.3.11.3. Компонент TActionList ……………………………………………………………………..

740

6.3.11.4. Создание приложений с изменяемыми размерами окон ……………………………

761

Послесловие ……………………………………………………………………………………………….

764

Литература …………………………………………………………………………………………………

765

Алфавитный указатель ……………………………………………………………………………….

766

Предисловие

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

тета.

В книге излагаются основы программирования на языке Паскаль. Она вво-

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

дется современное программирование.

Во многих школах и вузах преподавание языка Паскаль ведется с приме-

нением компилятора Турбо-Паскальфирмы Borland. ХотяТурбо-Паскальныне уже не поддерживается, тем не менее, он является платным продуктом. Право-

преемником Borland в настоящее время является компания Embarcadero Technologies.

Несмотря на то, что многие ведущие разработчики программного обеспе-

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

ботки программ, например, такие как Embarcadero RAD Studio 2010, Microsoft Visual Studio и многие другие.

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

чайно в России принята Концепция развития разработки и использования сво-

бодного программного обеспечения, которая касается также и образования.

Достоинством СПО является общедоступность и бесплатность.

Изложение языка Паскаль в этой книге ведется применительно к компиля-

тору Free Pascal и среде Lazarus, которые относятся к категории свободного программного обеспечения. Так, и Free Pascal и Lazarus можно свободно ска-

7

Предисловие

____________________________________________________________________

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

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

ствии с упомянутой выше Концепцией. В пакете свободного программного обеспечения (ПСПО) для образовательных учреждений РФ Free Pascal и Lazarus также имеются.

Книга состоит из шести глав.

В первой главе излагается понятие алгоритма, способы записи алгоритмов,

даются примеры разработки алгоритмов. Рассматриваются этапы решения за-

дачи на компьютере.

Во второй главе рассматриваются элементарные конструкции языка Пас-

каль. Дается краткий обзор IDE Lazarus. Рассматриваются способы создания консольных приложений. Рассмотрены особенности программирования в среде

Lazarus в ОС Windows и Linux. Так, для Windows в консольных приложениях существует проблема с русским языком. В главе дается способ решения этой проблемы. Для Linux приводится способ настройки приложения для его выпол-

нения в терминале. Рассмотрены простейшие методы контроля данных.

В третьей главе рассматриваются более сложные элементы языка, в част-

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

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

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

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

Предисловие

____________________________________________________________________

Подробно изучаются указатели. С применением указателей показаны спо-

собы реализации динамических структур данных, таких как, например, стеки,

списки и т.д.

В пятой главе, которая, на взгляд автора, имеет огромное значение, изуча-

ются принципы объектно-ориентированногопрограммирования. Поскольку со-

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

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

личия консольных приложений и графических приложений. Приводятся описа-

ния основных и часто используемых компонентов. Рассмотрены вопросы тес-

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

Actions и многие другие вопросы.

В книге последовательно проводится линия на создание кроссплатформен-

ных приложений.

Все примеры были проверены на ОС Windows XP SP3 и дистрибутивах Li-

nux:

Альт Линукс 5.0 Школьный Мастер

Ubuntu 9.04

Mandriva Linux 2009.0 (Free)

Мансуров К.Т.

Глава 1 Основы программирования

1.1. Понятие алгоритма.

Компьютер — это устройство для решения задач. Не обязательно задач чис-

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

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

кую — либо задачу на компьютере необходимо сначала придумать как ее вообще решить, т.е. придумать алгоритм ее решении. Алгоритм – является одним из краеугольных понятий информатики и программирования.

Итак, что же понимается под алгоритмом?

Алгоритм — это строгая и четкая, конечная система правил, которая опре-

деляет последовательность действий над некоторыми объектами и после ко-

нечного числа шагов приводит к достижению поставленной цели.

Из определения алгоритма следует, что он должен удовлетворять следую-

щим требованием:

1) конечность (финитность)

Алгоритм всегда должен заканчиваться после конечного числа шагов.

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

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

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

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

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

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

10

studfiles.net

обучение lazarus видео Видео лучшее

3 лет назад

В данном уроке мы проведем обзор типов проектов создаваемых в Lazarus IDE, рассмотрим основные формы из которых…

2 лет назад

На данном уроки мы создадим простой калькулятор. Для понимания данного урока, необходимо ознакомиться:…

4 лет назад

Канал YouTube https://www.youtube.com/user/IzlomForDaHorde Канал Twitch http://www.twitch.tv/izlomfordahorde Группа ВК https://vk.com/molzi Группа …

3 лет назад

В данном уроке мы поговорим про компонент Edit. Данный компонент предназначен для ввода информации в програм…

3 лет назад

This dedicated teacher has created a wonderful learning classroom environment. He is teaching the children proper fractions. He encourages them by saying …

11 меc назад

We can’t change our past, but we can learn from it. See why we may need to look back before we can move forward. Subscribe to the latest sermons: …

2 лет назад

At the beginning of this video I will start with a short overview of learning programming. Moreover I will continue with the installation of the Lazarus IDE. We will …

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

7 лет назад

http://www.schoolfreeware.com To have the computer receive input from the user the command readln (or its variation read) will collect the data. Also, the …

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

8 меc назад

Explicación de como crear componentes en Lazarus Project Free Pascal.

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

10 меc назад

Featuring: Bishop Kani IUIC Dallas School Info: Address: 9560 Skillman St. Ste. #122, Dallas, TX 75243 Phone: (682) 334-4842(IUIC) Contact Name: Officer …

7 лет назад

http://www.schoolfreeware.com Arrays hold lists of variables of the same data type. When there are large lists of variables and data, it is easier to contain the …

3 меc назад

На данном уроке мы начнем разрабатывать простенькую программу для тестирования по определенному предмету/…

7 лет назад

http://www.schoolfreeware.com Simple math calculations are shown in this tutorial. Math Operators: + Addition — Subtraction * Multiplication / Division div Integer …

2 лет назад

[Programming For Beginners] Lazarus Tutorial #1 — Learning programming [Programming For Beginners] Lazarus Tutorial #1 — Learning programming …

7 лет назад

http://www.schoolfreeware.com Menus are extremely important for directing the user to control the program’s function and understand what the program is …

7 лет назад

http://www.schoolfreeware.com The Free Pascal Compiler and Lazarus can be downloaded at no cost at www.freepascal.org. Free Pascal and Lazarus are a …

5 лет назад

Lincoln explaining the origins of the universe.

intvideo.ru

обучение lazarus видео Видео

3 лет назад

В данном уроке мы проведем обзор типов проектов создаваемых в Lazarus IDE, рассмотрим основные формы из которых…

2 лет назад

На данном уроки мы создадим простой калькулятор. Для понимания данного урока, необходимо ознакомиться:…

4 лет назад

Канал YouTube https://www.youtube.com/user/IzlomForDaHorde Канал Twitch http://www.twitch.tv/izlomfordahorde Группа ВК https://vk.com/molzi Группа …

3 лет назад

В данном уроке мы поговорим про компонент Edit. Данный компонент предназначен для ввода информации в програм…

3 лет назад

This dedicated teacher has created a wonderful learning classroom environment. He is teaching the children proper fractions. He encourages them by saying …

11 меc назад

We can’t change our past, but we can learn from it. See why we may need to look back before we can move forward. Subscribe to the latest sermons: …

2 лет назад

At the beginning of this video I will start with a short overview of learning programming. Moreover I will continue with the installation of the Lazarus IDE. We will …

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

7 лет назад

http://www.schoolfreeware.com To have the computer receive input from the user the command readln (or its variation read) will collect the data. Also, the …

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

8 меc назад

Explicación de como crear componentes en Lazarus Project Free Pascal.

7 лет назад

If you don’t know how to program, this is a great place to start. We are using Pascal to do this. It is not the easiest or the fastest, but it was developed as a …

10 меc назад

Featuring: Bishop Kani IUIC Dallas School Info: Address: 9560 Skillman St. Ste. #122, Dallas, TX 75243 Phone: (682) 334-4842(IUIC) Contact Name: Officer …

7 лет назад

http://www.schoolfreeware.com Arrays hold lists of variables of the same data type. When there are large lists of variables and data, it is easier to contain the …

3 меc назад

На данном уроке мы начнем разрабатывать простенькую программу для тестирования по определенному предмету/…

7 лет назад

http://www.schoolfreeware.com Simple math calculations are shown in this tutorial. Math Operators: + Addition — Subtraction * Multiplication / Division div Integer …

2 лет назад

[Programming For Beginners] Lazarus Tutorial #1 — Learning programming [Programming For Beginners] Lazarus Tutorial #1 — Learning programming …

7 лет назад

http://www.schoolfreeware.com Menus are extremely important for directing the user to control the program’s function and understand what the program is …

7 лет назад

http://www.schoolfreeware.com The Free Pascal Compiler and Lazarus can be downloaded at no cost at www.freepascal.org. Free Pascal and Lazarus are a …

5 лет назад

Lincoln explaining the origins of the universe.

videobomba.net

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *