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.   Должно ли количество фактических параметров совпадать с количеством формальных параметры? Обоснуйте ответ.


 

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

57573. Мандрівка океаном Всесвіту 55.5 KB
  Організаційний момент Вступ Учитель Оріон син грецького бога морів Посейдона був хоробрим і вправним мисливцем. Інструктаж з техніки безпеки Учитель Перед початком подорожі нам обовязково треба повторити правила роботи з основними пристроями.
57574. Арифметична прогресія, її властивості. Формула n – го члена 56 KB
  Мета уроку: Ввести поняття арифметичної прогресії розглянути її властивості; вивести формулу n-го члена та навчити учнів застосовувати її до розвязування задач.
57575. Відсотки в задачах бізнесово-фінансового змісту 119.5 KB
  Мета: навчити учнів практичному застосуванню вивчених алгоритмів з теми “Відсотки” для розвязання задач бізнесового та фінансового змісту; знати, що в відсотках обчислюються кількісні та якісні показники роботи, економія матеріалів...
57576. Біогаз із сміттєзвалищ 343 KB
  Окиснення (аеробний процес) спостерігається тільки у верхніх шарах сміттєзвалища. У нижні шари комунальних відходів кисень не потрапляє. Від моменту перекривання доступу кисню, кисневі процеси відбуваються доволі швидко (кілька, або кільканадцять днів).
57577. Презентація проекту «Роде мій, красний» 41.5 KB
  Повторити значення слів рід родина рідня; дати поняття про щасливу сімю; навчити учнів складати родовідне дерево; виховувати повагу до членів сімї історії традицій своєї сімї.
57578. Свята та розваги в дошкільному навчальному закладі 67 KB
  Методика ознайомлення дітей з довкіллям у дошкільному навчальному закладу. Мовленнєвий розвиток дітей від народження до 7 років. Отже розглядаючи нормативноправові документи з дошкільної освіти можна стверджувати...
57579. Вертолет Ми-8 1.42 MB
  В данной дипломной работе мне предстоит разобрать силовую установку, ознакомиться с ее особенностями. Описать отказ (выключение) одного двигателя в полете, особенности летной и технической эксплуатации, технологию работы членов экипажа в особых случаях полета.
57580. Сучасний урок – цікавий урок 75 KB
  Метою сучасного заняття стає вже не нагромадження знань а пошукова діяльність спрямована на формування вмінь і навичок щодо орієнтації в інформаційному просторі.
57581. "Любовь – это жизнь, это главное…" Тема кохання в ліриці В. В. Маяковського 114.5 KB
  Маяковський під час футуристичного турне приїжджає до Одеси. Маяковський просить благає дати йому ковток води в жаркій пустелі: Мария Имя твоё я боюсь забытькак поэт боится забытькакоето в муках ночейрождённое слововеличием равное Богу.