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

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

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

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

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

08.09.2024
1993
0

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

 

[u]План занятия[/u]

 

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

 

[u]Цели занятия[/u]

 

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

 

[u]Разминка[/u]

 

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

 

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

 

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

 

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

 

Процедуры

[line][/line][section icon='note']

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

 

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

 

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

begin

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

end;

[/section][line][/line]

[img url='https://onlineschool-1.hb.bizmrg.com/LNkR05jZ42ci_1.jpg' name='Рис. 1. Блок-схема задачи по нахождению факториала' float='right' width='40']Рассмотрим пример написания процедуры для алгоритма (рис. 1), написанного на предыдущем занятии.

 

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

[/img]

[line][/line][section icon='example']

Пример 1

 

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

 

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

 

Решение

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

[img url='https://onlineschool-1.hb.bizmrg.com/WxQngd0u97yg_2.png' name='Рис. 2. Раздел описания переменных' float='right' width='50']А) опираясь на блок-схему рис. 1, заполним раздел описания переменных var. Пусть имя программы будет factorial (рис. 2)[/img]

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/D1FvC6Tnxc72_3.png' name='Рис. 3. Реализация программного блока' width='100'][/img]

 

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/NhY3jyEQSZtP_4.png' name='Рис. 4. Готовая программа к задаче 1 ' width='100'][/img]

 

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/IDiNZLD21OZM_5.png' name='Рис. 5. Пример работы программы к задаче 1 ' width='100'][/img]

 

 

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

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/6IKg3rhCn2H3_6.png' name='Рис. 6. Доработанная программа к задаче 1 (реализация вывода только значения необходимого числа)' width='100'][/img]

 

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/f6EaZzh1AX3o_7.png' name='Рис. 7. Пример работы доработанной программы к задаче 1' width='100'][/img]

 

     

[img url='https://onlineschool-1.hb.bizmrg.com/lk2zDztr1Fbf_8.png' name='Рис. 8. Корректировка раздела var' float='right' width='50']Исправим задачу так, чтобы в ней для нахождения факториала использовалась процедура.

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/sUOPO3cHXG4Y_9.png' name='Рис. 9. Процедура' float='right' width='50']

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

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/7kFkEpp8q06F_10.png' name='Рис. 10. Ввод-вывод данных в основной программе, обращение к факториалу' width='100'][/img]

 

 

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

 

[img url='https://onlineschool-1.hb.bizmrg.com/sPh5aJRXu4SP_11.png' name='Рис. 11. Готовая программа к задаче 1 (с процедурой)' width='100'][/img]

 

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/udlgzlVLuOqZ_12.png' name='Рис. 12. Пример результата работы программы (с процедурой)' width='100'][/img]

 

[/section]

[line][/line]

Функции

[line][/line][section icon='note']

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

 

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

 

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

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

begin

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

end;

[/section][line][/line]

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

[line][/line][section icon='example']

Пример 2

 

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

 

Решение

 

[img url='https://onlineschool-1.hb.bizmrg.com/liryLCcsRki7_13.png' name='Рис. 13. Корректировка раздела var' float='right' width='50']       1. В разделе описания переменных оставим только переменную n, отвечающую за вводимое пользователем число (рис. 13).[/img]

[img url='https://onlineschool-1.hb.bizmrg.com/1VHZptvrgSms_14.png' name='Рис. 14. Функция' float='right' width='50']       2. Опишем функцию под названием Factorial. Зная, что факториал равен 1 при n = 1, иначе факториал находится, как число умноженное на факториал предыдущего числа (рис. 14). [/img]

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

 

[img url='https://onlineschool-1.hb.bizmrg.com/2SfDxJN83e9U_15.png' name='Рис. 15. Вывод функции' width='100'][/img]

 

 

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

 

[img url='https://onlineschool-1.hb.bizmrg.com/nxCneeyDm7y7_16.png' name='Рис. 16. Готовая программа к задаче 2 (с функцией)' width='100'][/img]

 

 

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

[img url='https://onlineschool-1.hb.bizmrg.com/z3cmaTwKO9zk_17.png' name='Рис. 17. Пример результата работы программы (с функцией)' width='100'][/img]

 

 

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

[/section][line][/line]

[section icon='question']

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

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

[/section][line][/line][section]

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

    Химия

  • Целое уравнение и его корни

    Алгебра

  • Сложноподчиненное предложение с придаточным изъяснительным

    Русский язык

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

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

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