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

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

Нажимая на кнопку, я соглашаюсь на обработку персональных данных

Конспект урока: Запись вспомогательных алгоритмов на языке Паскаль

Алгоритмы и программирование

24.04.2024
1649
0

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

 

План занятия

 

  • Введение в тему
  • Процедуры
  • Функции

 

Цели занятия

 

  • научиться создавать процедуру на языке программирования Pascal
  • научиться создавать функцию на языке программирования Pascal

 

Разминка

 

  • Что такое вспомогательный алгоритм?
  • Как записываются вспомогательные алгоритмы для исполнителя Робот?

 

Введение в тему

 

Вспомогательными алгоритмами являются подпрограммы. В языке программирования Pascal имеются два вида продпрограмм: процедуры и функции. 

 

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

 

Процедуры


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

 

Общий вид процедуры:

 

procedure «имя_процедуры» («формальные параметры»; var «имя параметра: тип»);

begin

«исполняемая часть процедуры»

end;


Рис. 1. Блок-схема задачи по нахождению факториала
Рассмотрим пример написания процедуры для алгоритма (рис. 1), написанного на предыдущем занятии.

 

Учтём свойство алгоритма «массовость» для написания программы и доработаем условие. Теперь нужно будет найти не 5!, а n!, т. е. можно указывать различные значения для которых факториала программа будет рассчитывать факториал.


Пример 1

 

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

 

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

 

Решение

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

Рис. 2. Раздел описания переменных
А) опираясь на блок-схему рис. 1, заполним раздел описания переменных var. Пусть имя программы будет factorial (рис. 2)

 

Б) в программном блоке организуем просьбу к пользователю ввести число, для которого нужно рассчитать факториал. Присвоим переменной факториал (F) значение равное 1 и организуем в цикле for нахождение произведения чисел по число введенное пользователем. Также организуем вывод факториала и его значения (рис. 3).

Рис. 3. Реализация программного блока

 

 

Готовая программа будет иметь вид (рис. 4).

Рис. 4. Готовая программа к задаче 1

 

 

Результат нахождения 5! показан на рис. 5.

Рис. 5. Пример работы программы к задаче 1

 

 

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

 

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

Рис. 6. Доработанная программа к задаче 1 (реализация вывода только значения необходимого числа)

 

 

Результат нахождения 5! для доработанной программы представлен на рис. 7.

Рис. 7. Пример работы доработанной программы к задаче 1

 

     

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

 

      2. Уберём из раздела описания переменных переменную F (рис. 8).

Рис. 9. Процедура

      3. Далее создадим процедуру. Назовем её Factorial и пропишем всё, что относится к вычислению факториала (рис. 9). 

 

      4. Далее следует основная часть программы, в которой остаётся обращение к пользователю ввести число, для которого нужно рассчитать факториал, считывание этого числа и обращение к процедуре по имени с выводом его значения (рис. 10).

Рис. 10. Ввод-вывод данных в основной программе, обращение к факториалу

 

 

Готовая программа с процедурой имеет следующий вид (рис. 11).

 

Рис. 11. Готовая программа к задаче 1 (с процедурой)

 

 

Пример работы программы с использованием процедуры представлен на рис. 12.

Рис. 12. Пример результата работы программы (с процедурой)

 


Функции


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

 

Общий вид функции:

 

function «имя_функции» («формальные параметры»): «тип результата»;

«раздел описания функции»

begin

«исполняемая часть функции»

end;


Рассмотрим реализацию предыдущей задачи через написание функции.


Пример 2

 

Написать программу нахождения факториала. Представить решение в виде функции.

 

Решение

 

Рис. 13. Корректировка раздела var
      1. В разделе описания переменных оставим только переменную n, отвечающую за вводимое пользователем число (рис. 13).

Рис. 14. Функция
      2. Опишем функцию под названием Factorial. Зная, что факториал равен 1 при n = 1, иначе факториал находится, как число умноженное на факториал предыдущего числа (рис. 14). 

       3. Допишем основную программу (рис. 15).

 

Рис. 15. Вывод функции

 

 

Готовая программа с функцией имеет следующий вид (рис. 16).

 

Рис. 16. Готовая программа к задаче 2 (с функцией)

 

 

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

Рис. 17. Пример результата работы программы (с функцией)

 

 

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


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

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


Предыдущий урок
Одномерные массивы. Последовательный поиск в массиве
Алгоритмы и программирование
Следующий урок
Конструирование алгоритмов
Алгоритмы и программирование
Урок подготовил(а)
teacher
Иван Андреевич
Учитель информатики
Опыт работы: 7 лет
Поделиться:
  • Клеточная теория. Единство живой природы. Строение клетки

    Биология

  • Великобритания до Первой мировой войны

    История

  • Общая характеристика элементов VA-группы. Азот. Аммиак. Соли аммония

    Химия

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

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

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