Составление алгоритмов в паскале

Составление алгоритмов в паскале

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

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

Составление блок-схем регламентируются следующими документами:

ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.

ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические

Исходя из этих документов основными элементами блок-схемы являются:

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

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

Выбор одного из двух возможных решений алгоритма. Внутри элемента расположено условие. Из углов ромба выходят возможные пути, обозначающиеся как "да","нет" либо "истина","ложь". В целях удобства чтения блок-схемы направление, отвечающее условию ("да"/"истина")выходит из нижнего угла ромба, противоположное из бокового. Возможно использования элемента для обозначения цикла epeat..until и while..do.

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

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

Осуществление обмена данными (ввод-вывод). Обобщенное представление обмена информацией без определенного типа носителя.

Вывод данных на бумажный носитель (печать на принтере).

Неавтономный ввод данных с помощью клавиатруы.

Ввод-вывод данных с перфокарты.

Ввод-вывод данных с перфоленты.

Запоминающее устройство с последовательным доступом

Обмен данными с магнитной лентой.

Запоминающее устройство с прямым доступом

Обмен данными с магнитным барабаном.

Ввод-вывод данных, носителем которых является магнитный диск.

Обмен данными с оперативно-запоминающим устройством (ОЗУ).

Отображение процесса, выполняемого человеком.

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

Отображение данных на мониторе, визуальных индикаторах.

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

Объединение одного или несколько множеств в общее множество.

Объединение множеств с выделением некоторых других.

Упорядочивание множеств по заданному признаку.

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

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

Пометка неактивной части программы.

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

Альтернативная связь между объектами. Используется также для обведения комментариев.

Синхронизация нескольких операций в программе единовременно.

Передача по каналам связи.

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

Читайте также:  Где автоперенос в ворде 2016

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

Линейный алгоритм

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

Структура программы на языке Паскаль

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

Заголовок программы

Текст программы начинается со слова program. После него записывается имя программы. Данная строка носит информативный характер и ее можно не писать.

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

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

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

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

Комментарии в программе можно записывать внутри фигурных скобок. Они игнорируются во время выполнения программы. Эти пояснения вы пишите только для себя.

В нашем примере переменные с именами X и Y используются для хранения исходных данных. Переменная с именем Z используется для хранения результата вычислений.

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

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

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

Тело программы

Все что находится между служебными словами Begin и end — тело программы. Здесь записываются основные команды.

Оператор присваивания значений переменным имеет следующую структуру: переменная := выражение

Значок : = (двоеточие, равно) читается как «присвоить».
Умножение обозначается символом * (звездочка), деление — символом / (слеш).

Вывод результата выполняет команда write.

Каждая строка содержащая команду на языке Паскаль обязательно заканчивается символом «точка с запятой».

Команды ввода и вывода

Команда Read

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

Модифицируем код программы из примера выше.

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

Читайте также:  Как проверить свой микрофон на компьютере

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

Команда Write

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

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


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

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

Примеры программ на паскале — задания на линейные алгоритмы

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

Решение:

Задание 2. Дана длина ребра куба а. Найти объем куба V=a 3 и площадь его поверхности S=6a 2 .

Решение:

Хотите подробнее узнать о системе PascalABC и начать писать в ней свои первые программы, тогда статья «Знакомство с PascalABC» для вас.

Алгоритмизация и программирование являются одной из трудных для понимания учащимися тем в предмете информатика, а при наличии дефицита часов, выделяемых на изучение предмета, перед учителем встает довольно сложная задача «Как познакомить хотя бы с основами программирования всех учащихся, в том числе и непрофильных классов?». Между тем, как мы видим и в новых стандартах и в демо-версии ЕГЭ по информатике эта тема занимает существенное место. Предлагаемые ниже материалы помогают познакомить ребят с основными алгоритмическими конструкциями и реализацией их на языке программирования Паскаль и дать начальное представление о языке. Заинтересовавшиеся учащиеся могут в дальнейшем продолжить изучение языка программирования на спецкурсе.

Предлагаю задания к трем урокам: по линейному алгоритму, ветвлению и циклам. Типы переменных и структура программы на Паскале рассматриваются на предыдущих уроках.

Начальная подготовка учащихся.

  • Знание основных алгоритмических конструкций: линейный алгоритм, ветвление, цикл.
  • Знание основных типов переменных.
  • Знание структуры программы на Паскале.

Перед каждым уроком учитель раскладывает на столах «Папки ученика», в которых находятся листы с заданиями, таблица «Реализация элементов блок – схемы алгоритма на языке Паскаль», «Алгоритм создания программы по шаблону» и другой справочный материал. Если предполагается создание программы по шаблону, т.е. ученики редактируют уже имеющуюся программу, то соответствующий файл *.pas с текстом программы должен находится на жестком диске в соответствующем каталоге.

Для знакомства с реализацией алгоритмической конструкции средствами языка используется сайт http://schools.keldysh.ru/gym1522/inform/pascal/ (см. Приложение1)

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

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

Читайте также:  Как доехать от казанского вокзала до шереметьево

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

Описание приложений.

  • Адрес сайта «Паскаль для начинающих» — http://schools.keldysh.ru/gym1522/inform/pascal/ Немного сокращенный вариант находится в архиве (Приложение1.zip). Сайт выполнен с использованием флэш-технологии, позволяет в анимационной форме дать начальное представление о языке Паскаль 7.0 Для демонстрации надо разархивировать в каталог на жестком диске. Главная страница сайта – index.html
  • Тексты программ для создания программ по шаблону – файлы Приложение2.pas и Приложение3.pas. Их надо переименовать в Shablon1.pas и Shablon2.pas и поместить в соответствующий каталог на диске.

Использованная литература дана в Приложении 1 на сайте в разделе «ссылки».

Реализация элементов блок – схемы алгоритма на языке Паскаль.

Элемент блок схемы

В программе

Действия

BEGIN

Начало работы программы
(служебное слово)

Конец работы программы
(служебное слово)

WRITE (‘A,B)

На экране появляется надпись: введите A, B
(оператор вывода данных)

WRITE (C)

На экране появляется значение переменной C.
(оператор вывода данных)

WRITE (‘результат=’,S)

На экране появляется текст результат= и значение переменной S.
(оператор вывода данных)

READ (X,Y)

Надо вводить два числа с клавиатуры
(оператор ввода данных) C:=4*T ;
D:=A+B;
I:=I+1;
После выполнения операторов, переменным присваиваются следующие значения: C=4T, D=A+B, I=I+1 (операторы присваивания) IF A>B THEN Если условие A>B верно, то выполняется группа операторов ОП.1, в противном случае – группа операторов ОП.2 (условный оператор) WHILE I N Выполняется группа опера-торов ОП.1 до тех пор, пока не будет выполнено условие I>N.
(оператор цикла с постусловием, ОП.1 – тело цикла) FOR I:=1 TO N DO Для каждого I от 1 до N выполняется группа операторов ОП.1
(оператор цикла с параметром, I – параметр цикла)

Линейный алгоритм. Простейшая программа (ввод/вывод данных, вычисление суммы, разности, произведения и частного двух чисел).

Написать программу, которая

  • знакомится с пользователем (на появившееся на экране сообщение пользователь вводит свое имя, и на экране появляется «приветствие» от компьютера с именем пользователя);
  • находит сумму (разность, произведение или частное) введенных с клавиатуры двух чисел);
  • выводит результат на экран.

Примерный вид экрана при работе

Введите свое имя Вася
Привет, Вася
Введите 2 числа 2 6
Сумма чисел равна 8

Для выполнения задания можно использовать приведенный ниже текст программы или заранее подготовленный учителем файл Shablon1.pas (файл Приложение2.pas) с текстом программы, который находится в каталоге CLASS (там же находятся личные папки учащихся). Ученик проставляет вместо вопросительных знаков необходимые операторы и служебные слова. Комментарии в фигурных скобках поясняют, что необходимо сделать. Программа состоит из двух частей. В первой части программы демонстрируется использование операторов ввода и вывода, во второй, после комментария <ЗАДАНИЯ>, ученику надо самому записать необходимые операторы, используя приведенную выше блок-схему и комментарии в программе. Алгоритм создания программы по шаблону дан ниже.

Ссылка на основную публикацию
Создать новую электронную почту на яндексе бесплатно
Всем привет! С вами снова я, Алексей. В этом посте я расскажу вам о том, как создать электронную почту на...
Сколько человек сидит в одноклассниках
Mail.Ru Group исследовала и сравнила аудитории самых популярных в России социальных сетей — «Одноклассники», «Мой Мир», «ВКонтакте», Facebook и Twitter....
Сколько четырехзначных чисел можно составить из нечетных
Условие Решение 1 Решение 2 Решение 3 Поиск в решебнике Популярные решебники Издатель: Н. Я. Виленкин, В. И. Жохов, А....
Создать канал на ютубе регистрация бесплатно
Добрый день, уважаемые читатели и гости моего блога! Если вы попали на эту статью, значит хотите узнать, как зарегистрироваться в...
Adblock detector