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


 

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

57699. Daily, Weekly, Monthly. Press 1.24 MB
  I think you would know that by the end of our lesson you would be able to get information about some differences between English, American and Ukrainian press through reading and listening.
57700. We are different. Getting along with others. Мы – разные. Учимся ладить друг с другом 211.5 KB
  Duncan is 18. He has just left school and is going to university in the autumn. When you first meet him he appears to be a little cold and arrogant. As you get to know him you discover that he has a warm and friendly personality.
57701. Welcome to Great Britain 85 KB
  Good morning, dear children! I am glad to see you! I hope everyone is feeling fit. I think you will agree that the topic we are going to speak on is really worth discussing. Because we can’t imagine our life without many of things, and one of them is travelling.
57702. Подорож до Країни чудес 4.92 MB
  Children, today we are going to travel to the Wonderland with a little girl Alice. I will tell you a story about her adventures and we’ll help her to come back home. You have Story books in front of you. There are some exercises in them for our lesson.
57703. Усиление Московского государства в XVв. Иван ІІІ 2.09 MB
  ЦЕЛЬ: рассмотреть процесс усиления Московского царства, основные направления политики Ивана ІІІ, которые привели к укреплению власти Московского государства и объединению под его властью остальных земель Северо-восточной Руси...
57704. Китай. Економіко – географічна характеристика 70 KB
  Мета уроку: формувати в учнів систему знань про особливості населення, економічної політики, галузей міжнародної спеціалізації Китаю; Розвивати та вдосконалювати навички учнів оцінювати географічне положення і природно–ресурсний потенціал країни;
57705. Складання тексту-міркування 91 KB
  Мета: удосконалювати навички та вміння правильно будувати текст-міркування; вчити розкривати абстрактно загальні поняття; розвивати звязне мовлення увагу память мислення уміння логічно й послідовно викладати думки на папері...
57706. Від минулого до сьогодення. Історія створення книги 180 KB
  Мета: ознайомити п’ятикласників з історією виникнення книги та розвитком книгодрукування в Україні; популяризувати книгу носія інформації; виховувати повагу до історії народу його внеску в розвиток української культури.
57707. Книга: подорож у часі 122 KB
  Мета: дидактична: ознайомити учнів з історією створення книги з найдавніших часів; розвивальна: показати учням значення книги в розвитку світового суспільства; розвивати інтелектуальну активність учнів; розвивати культуру мислення уяву...