10204

Подпрограммы. Процедуры и функции

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 5 Тема: Подпрограммы. Процедуры и функции Цель работы: отработать навыки использования подпрограмм процедур и функций при написании программного кода. Образцы решения задачи. Задача № 1. Определить количество и сумму цифр в числе. Анализ по...

Русский

2013-03-21

35 KB

10 чел.

Лабораторная работа № 5

Тема: Подпрограммы. Процедуры и функции

Цель работы: отработать навыки использования подпрограмм (процедур и функций) при написании программного кода.

Образцы решения задачи.

Задача № 1. Определить количество и сумму  цифр в числе.

Анализ постановки задачи.

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

Входные данные.  

Число, подлежащее обработке - number (тип – целый).

Выходные данные.

Сумма цифр в числе - sum (тип – целый).

Количество цифр в числе - kol (тип – целый).

Алгоритм.

  1.  Запросить целое число.
  2.  Найти сумму цифр числа (функция summ).
  3.  Найти количество цифр в числе (функция koll).
  4.  Вывести результат на печать.

Текст программы

var

        number : longint;

        sum, kol        : word;

function summ(num : longint):word;

var    s, temp     : word;

begin

  s:=0;

  while num<>0 do

                  begin

                    temp:=number mod 10;

                    s:=s+temp;    {подсчитывается сумма цифр в числе}

                    number:=number div 10

                  end;

  summ:=s;

end;

function koll(num : longint):word;

var     k : word;

begin

  k:=0;

  while num<>0 do

                  begin

                    k:=k+1;    {подсчитывается количество цифр в числе}

                    number:=number div 10

                  end;

  koll:=k;

end;

begin {main}

  writeln(‘Введите целое число’);

  readln(number);

  sum:=summ(number);

  kol:=koll(number);

  writeln (‘sum=  ‘, sum, ‘   kol= ’, kol)

end.

Задача № 2. Определить является  целое число совершенным.

Анализ постановки задачи.

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

Входные данные.

Число, подлежащее обработке – number (тип - целый).

Выходные данные.

Сумма делителей числа  sum (тип - целый).

Алгоритм.

  1.  Запросить целое число.
  2.  Найти сумму делителей числа (функция delitel).
  3.  Сравнить обрабатываемое число с суммой делителей числа и вывести соответствующее сообщение на печать.

Текст программы

var

          number, sum        : integer;

function delitel (num : longint) :word;

var   s         : word;

       del     : word;

begin

 s:=0;

 for del:= 1 to  num div 2 do

                          if num mod del =0 then s:=s+del;

 delitel:=s;

end;

begin  {main}

  writeln(‘Введите целое число’);

  readln(number);

  sum:= delitel(number);

  if number=sum then writeln(‘Заданное число является совершенным’)

                           else  writeln(‘Заданное число не является совершенным’)

end.

Задания для самостоятельного решения.

Для задач своего варианта лабораторной работы № 4 написать программы с использованием подпрограмм (процедуры или функции).

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

  1.  Что такое функция?
  2.  Назовите особенности организации функций.
  3.  Что такое процедура?
  4.  Как осуществляется вызов функции?
  5.  Где указываются формальные параметры?
  6.  Где указываются фактические параметры?
  7.  Кем определяется количество и тип формальных параметров?
  8.  Возможно ли использование подпрограмм без параметров?
  9.  В чем состоят отличительные особенности организации процедур от функций?
  10.   Должно ли количество фактических параметров совпадать с количеством формальных параметры? Обоснуйте ответ.


 

А также другие работы, которые могут Вас заинтересовать

841. Создание реляционной БД в СУБД МS Аccess 114 KB
  Microsoft Access применяется для разработки относительно небольших баз данных. БД Access хранятся в файлах с типом mdb. Создание и редактирование таблиц. Создание и использование запросов. Примеры записи выражений в условии отбора.
842. Объекты интеллектуальной собственности 202 KB
  Понятие и признаки объекта интеллектуальной собственности. Классификация объектов интеллектуальной собственности. Способность к сохранению, накапливанию, интегрированию. Классификация средств индивидуализации. Произведения, не являющиеся объектами авторских прав. Правовая охрана результата интеллектуальной деятельности средствами различных институтов права интеллектуальной собственности.
843. Трактаты Дюрера как методическое пособие по преподаванию изобразительного искусства с точки зрения современности 176.5 KB
  История написания трактатов и их место в художественном образовании Германии XVI века. Трактаты Дюрера как методическое пособие по преподаванию Изобразительного искусства. Положительные стороны трактатов как методического пособия с точки зрения художественного образования. Восприятие трактатов Дюрера на практике в наше время.
844. Теория гражданского права 178.5 KB
  Имущественные и личные не имущественные правоотношения. Способность гражданина иметь гражданские права и нести обязанности. Имущественный комплекс, используемый для осуществления предпринимательской деятельности. Требования о защите личных неимущественных прав и других нематериальных благ.
845. Сбор маркетинговой информации в целях проведения исследований 167 KB
  Порядок проведения маркетинговых исследований. Планирование и организация сбора первичной информации. Выявление проблем и формулирование целей маркетинговых исследований. Систематизация и анализ собранной информации.
846. Сортировочные станции Брянск-Льговской Московской железной дороги 128 KB
  Характеристика сортировочной станции Брянск-Льговской Московской железной дороги. Оперативное управление и планирование работы станции. Автоматизированная система организации управления перевозок. Сообщения об операциях с поездами, локомотивами и бригадами, получаемые в АСОУП.
847. Общая история 196.5 KB
  Достоверное воспроизведение исторического процесса. Противоречие между прогрессивными производительными силами и консервативным производственными отношениями. Широкое распространение отношений частной собственности. Разложение первобытно-общинного строя и возникновение государства.
848. Программирование математических задач с использованием классов и методов языка C# 960.5 KB
  Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления. Результаты машинного тестирования программы. Описание вычислительных методов. Ручной подсчёт отладочного варианта.
849. Билеты по обществознанию 9 класс 404.5 KB
  Государство, его основные признаки. Формы правления. Исходная форма активности индивида. Особенности межличностных отношений. Социальные группы и общности. Участие граждан в политической жизни. Всеобщая декларация прав человека.