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


 

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

46186. МОДЕЛИРОВАНИЕ СИСТЕМ 667.5 KB
  Формализуемые решения Литература Основы моделирования систем Модели и моделирование Модель и моделирование универсальные понятия атрибуты одного из наиболее мощных методов познания в любой профессиональной области познания системы процесса явления.
46187. Изучение явления сухого трения 51.5 KB
  Цель работы: Экспериментальное изучение закономерностей сухого трения; Научиться измерять и вычислять коэффициент трения скольжения и покоя различными способами. Определение коэффициента трения скольжения. Вид вещества Сила упругости F Н Масса бруска mкг Деформация пружины x м Перемещение бруска м Коэффициент трения S1 S2 S3 S4 Экс.
46188. Автострахование в России. Основные проблемы 178.5 KB
  Основные проблемы История страхования в России Досоветский период Эпоха великих реформ Александра II 60е-70е гг. Часть страхового поля включавшая в себя надежные в пожарном отношении объекты застрахования была в значительной мере уже освоена 1м 2м обществами и Саламандрой . Перспективы страхования новых фабрик и их складских помещений были неясны. Было решено подыскать специалиста досконально знакомого с тонкостями огневого страхования и способного предложить программу выхода из нелегкого положения.
46189. ОРГАНИЗАЦИЯ ПРОИЗВОДСТВА НА ПРЕДПРИЯТИЯХ МАШИНОСТРОЕНИЯ 129.5 KB
  Показатели Вариант 9 Обработка резанием Расход металла кг 26 Стоимость 1 кг металла 60 Основная заработная плата рабочих руб. 112 Дополнительная заработная плата 10 Единый социальный налог 26 Расходы по работе оборудования руб. год 1200 Прочие постоянные расходы руб год 1000 Штамповка Расход металла кг 5 Стоимость 1 кг металла 66 Основная заработная плата рабочих руб. шт 4 Дополнительная заработная плата 10 Единый социальный налог 26 Расходы по работе оборудования руб.
46190. Особенности механизма образования цен в строительстве 250 KB
  Капитальный ремонт зданий и сооружений – работы по восстановлению или замене отдельных частей зданий сооружений или целых конструкций деталей и инженерно технического оборудования в связи с их техническим износом и разрушением на более долговечные и экономичные улучшающие их эксплуатационные показатели. Действующая методическая и сметнонормативная база позволяет определить стоимость строительства на всех стадиях разработки предпроектной и проектносметной документации. время работы строительных машин и механизмов маш. Главной функцией...
46191. Решение систем линейных дифференциальных уравнений матричным методом 78 KB
  Часто в физике при решении определенных задач приходится сталкиваться с системами из 3 или 4 линейных дифференциальных уравнений. При решений таких систем удобно использовать матричный метод решения систем линейных дифференциальных уравнений. Часто матрица коэффициентов этих систем уравнений имеет симметричный вид.
46192. Сетевая атака. Классификация сетевых атак 82 KB
  Сегодня к Сети подключены миллионы устройств и многие миллионы устройств будут подключены к Интернету в ближайшем будущем поэтому вероятность доступа хакеров к уязвимым устройствам постоянно возрастает. Создатели этой сети не подозревали насколько широкое распространение она получит. Если приложение работает в режиме клиентсервер а аутентификационные данные передаются по сети в читаемом текстовом формате то эту информацию с большой вероятностью можно использовать для доступа к другим корпоративным или внешним ресурсам. Третий способ...
46193. Водоотводящие системы промышленных предприятий 872.67 KB
  Данная работа представляет собой учебный курсовой проект по дисциплине «Очистка сточных вод предприятий железнодорожного транспорта», выданного кафедрой «Гидравлика, водоснабжения, водные ресурсы и экология» СГУПС
46194. Расчет заработной платы 1.04 MB
  Общая схема расчета зарплаты Предпосылки расчета ЗП Этапы расчета зарплаты Описание этапов функции пользователя Внесение и изменение данных в инфотипы релевантные для расчета зарплаты