Как поступить
в Онлайн-школу и получить аттестат?

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

Конспект урока: Структурное программирование

Другие разделы

06.03.2026
179
0

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

 

План занятия

 

  • Что такое структурное программирование
  • Вспомогательный алгоритм
  • Запись вспомогательных алгоритмов на языке Паскаль. Процедуры и функции

Цели занятия

 

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

Разминка

 

  • Для чего нужна циклическая алгоритмическая конструкция? Какие задачи она позволяет решать?
  • Для чего в программах используют сложные структуры данных?

 

Что такое структурное программирование

 

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

 

Историческая справка

 

В начале 70-х годов нидерландский учёный Эдсгер Дейкстра, отвечая на вызовы времени, требовавшие всё более сложных программных продуктов, предложил парадигму программирования, в основе которой лежало представление программы в виде иерархической структуры взаимосвязанных блоков. Это стало революцией во взглядах на программирование и существенно повлияло на методологию программирования, включая объектное программирование.


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


Выделяют следующие принципы структурного программирования.

 

  1. Любая программа всегда состоит из трёх базовых алгоритмических конструкций: следование, ветвление, цикл.
  2. Базовые алгоритмические конструкции могут быть вложенными друг в друга.
  3. Повторяющиеся блоки программы можно реализовать в виде подпрограмм (функций или процедур). Также в виде подпрограмм можно оформить логически целостные блоки программы, даже если они не повторяются.
  4. Следование, ветвление, цикл и подпрограмма должны иметь один вход и один выход.
  5. Разработка программы ведётся «сверху вниз».

Разработка программы «сверху вниз» осуществляется таким образом: 

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


Вспомогательный алгоритм

 

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

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


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


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

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

 

Запись вспомогательных алгоритмов на языке программирования Паскаль. Процедуры и функции.

 

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


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

 

Описание процедуры имеет вид:

procedure  имя_процедуры (описание параметров-значений; 

                                                    var: описание параметров-переменных)

begin 

тело процедуры

end;


Для вызова процедуры в программе указывается её имя и список необходимых для работы параметров. Параметр имеет имя и тип.

 

В языке Паскаль существует множество стандартных процедур. Например, 
readln — процедура, которая вводит данные в переменную с клавиатуры, или writeln — процедура, которая выводит данные на экран. 


Пример 1

 

Напишем процедуру, которая выводит на экран сообщение «Hello».

 

Решение

 

Процедура word будет выводить на экран слово Hello. 

Вызовем процедуру в основной программе, написав её название.

Можно вызывать процедуру любое количество раз.

 

procedure  word ;

begin

  writeln( 'Hello' );

end;

 

begin

word  

word ;  

word ;  

end.


Упражнение 1

 

Напишите процедуру, которая принимает на вход количество символов и выводит на экран строку из данного количества звёздочек  «*».


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

 

Описание функции имеет вид:

function  имя_функции (описание параметров): тип функции;

begin 

тело функции

имя функции := результат;

end;


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


Пример 2

 

Напишем функцию, которая находит сумму двух целых чисел.

 

Решение

 

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

 

function sum(a, b:  integer ) :  integer ;

begin

sum:=a+b

end;

 

var a,b: integer ;

begin

writeln( 'Введите 2 числа' );

readln(a, b);

write( 'Сумма чисел = ' );

writeln(sum(a, b));

end.


Упражнение 2

 

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


Упражнение 3

 

Для каждого примера определите тип подпрограммы (процедура или функция).

  1. Определить периметр прямоугольника.
  2. Нарисовать треугольник на экране.
  3. Вычислить значение выражения.
  4. Вывести сообщение об ошибке.


Итоги

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


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

  1. Какую роль в развитии программирования сыграло появление структурного программирования?
  2. Какие принципы лежат в основе структурного программирования?
  3. Что такое вспомогательный алгоритм, для чего он нужен?
  4. Как организовать подпрограммы на языке программирования Паскаль?
  5. В чём отличие процедуры и функции на языке программирования Паскаль?


Ответы

 

Упражнение 1

 

procedure  word (n: integer );

var i:  integer ;

begin

  for i:=1 to n do

  write( '*' );

end;

 

var n: integer ;

begin

  read(n);

  word (n);

 end.

 

 

Упражнение 2

 

function min(a, b:  '*' integer) :  integer ;

begin

if a<b then

min:=a

else

min:=b

end;

 

var a,b: integer ;

begin

writeln( 'Введите 2 числа' );

readln(a, b);

write( 'Наименьшее число = ' );

writeln(min(a, b));

end.

 

Упражнение 3

 

  1. Функция
  2. Процедура
  3. Функция
  4. Процедура


  • Мощность

    Физика

  • Распространенное и нераспространенное предложение. Второстепенные члены предложения

    Русский язык

  • Освободительная война в Нидерландах. Рождение республики Соединенных провинций

    История

Зарегистрируйся, чтобы присоединиться к обсуждению урока

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

Отзывы об уроке:
Пока никто не оставил отзыв об этом уроке