Приветствую Вас, Гость

Тема 7 «Алгоритмизация и основы объективно-ориентированного программирования» (20 ч)

Урок 38. Выполнение алгоритмов компьютером

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

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

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

Рис. 3.4. Начальное и конечное состояния текста


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

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

1. Выделить символы с 1 по 15.

2. Вырезать этот фрагмент и поместить его в буфер обмена.

3. Установить курсор на позицию после 7-го символа.

4. Вставить вырезанный фрагмент текста.

Теперь пользователь может провести редактирование текста, формально выполнив алгоритм "Редактирование".

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

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

Алгоритм, записанный на "понятном" компьютеру языке программирования, называется программой.

Итак, мы создали программу на языке программирования высокого уровня (некоторый текст) и загрузили ее в оперативную память компьютера. Теперь мы хотим, чтобы процессор ее выполнил, однако процессор "понимает" команды на машинном языке, а наша программа написана на языке программирования. Как быть?

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

Одним из первых языков программирования высокого уровня был создан в 1964 году известный всем Бейсик (Basic). Другим широко распространенным языком программирования является Паскаль (Pascal). В настоящее время наибольшей популярностью пользуются "потомки" этих языков - системы объектно-ориентированного визуального программирования Microsoft Visual Basic и Borland Delphi для операционной среды Windows, а также их аналоги для Linux -  Gambas и Lazarus.

Словарь операторов Basic

Контрольные вопросы

 На каком языке должен быть записан алгоритм, чтобы его мог выполнить человек? Компьютер?

Практическая работа

Знакомство с новой программной средой принято начинать с вывода на экран фразы "Привет, мир!" . Эта традиция была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в1978 году. Не будем изменять традиции, напишем свои первые программы, выводящие на экран "Привет, мир!". Работать будем с программными средами  Basic256 и Gambas, входящими в сборку Школьный Линукс. Язык программирования - basic.На следующих уроках мы познакомимся с этими средами ближе

1. Программная среда Basic256. Руководство пользователя Справка в Википедии Внимание учителю!!! Среда нуждается в обновлении до версии 0.9.6!!!

Урок на сайте "СПО в российских школах"

Basic256 является интерпретатором. То есть система пошагово обрабатывает каждую команду и тут же ее исполняет

Запустите среду Basic256. Ее можно найти в главном меню в разделе Разработка. 

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

Для вывода на экран текста используем оператор PRINT "здесь будет ваш текст, содержащий любые символы"

Программа состоит из одной строки:

PRINT "Привет, мир!"

Введите текст программы в левое окно. Найдите на панели инструментов знак запуска программы . Запустите программу и посмотрите на результат.

Измените текст и снова запустите программу на исполнение.

2. Программная среда Gambas. Сведения из Википедии. Руководство пользователя

Урок на сайте "СПО в российских школах"

Gambas — объектно-ориентированный диалект языка BASIC. Это  значит, что основой программирования на этом языке есть некий объект, обладающий определенными свойствамиданными и методами. С объектами могут происходить разные события: например, клик мышкой по кнопке, ввод символа в текстовое окно, наведение мыши на объект. На каждое из этих событий объект реагирует так, как мы его запрограммируем.

Запустите среду Gambas. Ее можно найти в главном меню в разделе Разработка. 

скриншот

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

скриншот

Назовем свой проект HELLO (кириллицу использовать в названии проекта нельзя!!!). Укажем путь сохранения в своей личной папке. 

Проект успешно создан и мы видим окно разработки:

Слева - дерево проекта. Найдем в нем объект FMain - форма. 

Справа - свойства этого объекта. Найдите свойство Text и измените его на "Привет, мир!". Обратите внимание, что этот текст появился в заголовке окна.

Добавим на форму объект Label, в котором будет выводиться текст. Все объекты находятся внизу справа.  При наведении мыши на объект всплывает подсказка. 

Свойства этого объекта менять не будем.

Добавим объект  Button (кнопка). 

По нажатию на кнопку будет запускаться программа. Изменим свойство Text этого объекта на "Пуск".

Получили вот такой результат:

скриншот

Можно запустить проект на исполнение (описать, как). Как видите, есть окно, кнопка нажимается, но ничего не происходит. Почему?

Правильно! Мы еще не запрограммировали действия объекта. Переходим к созданию кода. 

Останавливаем выполнение программы (для этого достаточно закрыть окно, которое мы создали). Кликаем два раза по кнопке. Открывается окно кода. (Это окно можно открыть через контекстное меню Показать код). 

В нем уже прописано событие Button1_Click

Что должно произойти при обработке этого события? Очевидно, должно измениться свойство Text у объекта Label1. Это можно сделать следующим образом:

Label1.Text="Привет, мир!"

Внесем эту строку в описание события

Private Sub Button1_Click(...)

Label1.Text="Hello World!"

End Sub

Событие Клик по кнопке

 Лейбл.Параметр текст= "Hello World!"

Конец события

Запустите программу на исполнение. Оцените результат.

Домашнее задание

Прочитать п.4.1.3. Составить сообщение "Языки программирования".