Всего на сайте:
166 тыс. 848 статей

Главная | Информатика

Программирование задач с использованием функций пользователя с параметрами и без параметров  Просмотрен 96

Лабораторная Работа № 27

Тема: Программирование задач с использованием функций пользователя с параметрами и без параметров.

 

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

 

Теоретические сведения:

. Приступая к решению задач на предложенную тему, следует вспомнить, что:

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

· Собственные функции помещаются после закрывающей фигурной скобки main(). Каждая функция имеет структуру, аналогичную структуре функции main().

· Функцию можно вызвать из любого места программы, в том числе, из другой функции. Инструкция return(0); в теле функции всегда передает управление инструкции, следующей за вызывом функции.

· Если компилятор С следует стандарту ANSI, вы должны указать тип функции даже в том случае, если функция не возвращает никаких значений. При этом тип определяется как void. Эта информация говорит компилятору, что функция не будет возвращать вызывающей функции никакого значения. В С++ введение ключевого слова void является не обязательным, но желательным.

· Для передачи данных в функцию надо использовать только параметры. Глобальные переменные, то есть переменные, объявленные вне функции, использовать не рекомендуется.

· Тип каждого фактического параметра (константы или переменной) в инструкции вызова функции должен совпадать с типом соответствующего формального параметра, указанного в объявлении функции.

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

· При работе с компиляторами языка С++(и некоторыми С - компиляторами) желательно начинать программу с прототипов функций. Прототип – это строка определения функции, повторенная в начале программы перед main(). Прототип сообщает компилятору типы и количество аргументов тех функций, которые будут использованы в программе.

 

Методические рекомендации по разработке программ, содержащих подпрограммы пользователя:

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

2. Все рабочие переменные, которые используются в подпрограмме для реализации её алгоритма, описывайте как локальные; при этом имена переменных могут быть любые, но желательно не совпадающие с именами глобальных переменных.

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

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

 

Пример:

Написать функцию, вычисляющую объем цилиндра. Параметрами функции должны быть радиус и высота цилиндра.

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

 

#include

#include

#include

 

 

// тело функции

float vcil(float h,float r)

{ return(M_Pi*r*r*h);

}

 

void main()

{

float r,h; //высота и радиус основания цилиндра

float v; //объем цилиндра

puts(“Вычисление объема цилиндра”);

puts(“введите высоту и радиус основания”);

scanf(“%f%f”,&h,&r);

v=vcil(h,r);

printf(“Объем цилиндра=%3.2f\n”,v);

getch();

}

 

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

 

1. Вычислить z-сумму значений функций

где

А a и b любые числа

 

2.Вычислить z-сумму значений функций

где , а а – любое число

 

3.Вычислить z-сумму значений функций

где ,a a и b любые числа

 

4.Вычислить z- сумму значений функций

где ,a a и b любые числа

 

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

  1. В чем заключаются различия между библиотечными функциями языка С и функциями, которые вы пишите сами?
  2. Чем отличаются формальные и фактические параметры?
  3. Что происходит , когда заканчивается выполнение функции?
  4. Как объявляются глобальные и локальные переменные? Каково правило видимости этих переменных?
  5. Объясните разницу между автоматическими и внешними переменными?
  6. Как передать значение функции?
  7. Как получить значение от функции?

 

Содержание отчета:

  1. Схемы алгоритмов.
  2. Тексты составленных программ.
  3. Протоколы к составленным программам.
  4. Вывод о проделанной работе.

 

Предыдущая статья:Программирование задач с использованием структур Следующая статья:Аорта, ее отделы. Восходящая аорта, дуга аорты, их ветви.
page speed (0.0106 sec, direct)