4. КУРСОВАЯ РАБОТА«Создание собственной функции» - Редакционно-издательским советом Томского политехнического университета...
.RU

4. КУРСОВАЯ РАБОТА«Создание собственной функции» - Редакционно-издательским советом Томского политехнического университета...


^ 4. КУРСОВАЯ РАБОТА
«Создание собственной функции»
Цель работы. Закрепление теоретических знаний по дисциплине «Информатика», а также практических навыков по программированию на языке C++.
^ 4.1. Методические указания
Общие методические указания по определению вариантов курсовой работы и сами варианты приведены в методических указаниях для студентов ИДО, обучающихся по направлению 220700 «Автоматизация технологических процессов и производств» по курсу «Информатика». В данном учебно-методическом пособии представлены общие теоретические и практические сведения для выполнения курсовой работы. Следует напомнить, что отчёт по курсовой работе должен состоять из следующих пунктов:

    1. титульный лист;

    2. цель работы;

    3. формулировку заданий;

    4. теоретическую часть;

    5. код программы на C++;

    6. алгоритм программы, представленный в виде блок-схемы;

    7. результаты работы программы;

    8. выводы по работе;

    9. список литературы.

Шаблон титульного листа пояснительной записки к курсовой работе представлен в Приложении B. Каждый вариант ИДЗ состоит из одного задания на создание собственной функции.

Для курсовой работы имеется 10 вариантов. Вариант задания выбирается в соответствии с последней цифрой шифра зачетной книжки студента, 0 соответствует 10-му варианту. Например, для шифра З-8А11/01 должен быть выбран вариант 1, а для шифра З-8А10/10 – вариант 10.

^ 4.1.1. Объявление и определение функций
Функция – это именованная последовательность описаний и операторов, выполняющая какое-либо законченное действие. Функция может принимать параметры и возвращать значение [4].

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

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

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

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

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

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

Объявление функции (прототип, заголовок, сигнатура) задает ее имя, тип возвращаемого значения и список передаваемых параметров.

Определение функции содержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках [6]:

[ класс ] тип имя ([ список_параметров ])[throw ( исключения )]

{ тело функции }

Рассмотрим составные части определения.

extern – глобальная видимость во всех модулях программы (по умолчанию);

static – видимость только в пределах модуля, в котором определена функция.

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

На имена параметров ограничений по соответствию не накладывается.

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

Директива inline носит рекомендательный характер и выполняется компилятором по мере возможности.

Тип возвращаемого значения и типы параметров совместно определяют тип функции.

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

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

Пример 48. Функция, возвращающая сумму двух целых величин.

#include

int sum(int a, int b); // объявление функции

int main()

{

int a = 2, b = 3, c, d;

c = sum(a, b);//вызов функции

cin >> d;

cout << sum(c, d); // вызов функции

}

int sum(int a, int b)// определение функции

{

return (a+b);

}

Пример 49. Функция, выводящая на экран поля переданной ей структуры.

#include

struct Worker

{

char fio[30];

int date, code;

float salary;

};

void print_worker(Worker);//объявление функции

int main()

{

Worker stuff[100];

/* формирование массива stuff */

for(int i=0;i<100; i++)

print_worker(stuff[i]);/*вызов функции */

}

void print_worker(Worker w)//определение функции

{

cout<
}


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

При выходе из функции соответствующий участок стека освобождается, поэтому значения локальных переменных между вызовами одной и той же функции не сохраняются. Если этого требуется избежать, при объявлении локальных переменных используется модификатор static [1].


Пример 50

#include

void f(int a)

{

cout << "n m\n";

while (a--)

{

static int n = 0;

int m = 0;

cout << n++ << ' ' << m++ << '\n';

}

}

int main()

{

f(3);

}

Статическая переменная n примера 50 размещается в сегменте данных и инициализируется один раз при первом выполнении оператора, содержащего ее определение. Программа выведет на экран:

n m

0 0

1 0

2 0

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

4-mehanika-xviii-v-programma-minimum-kandidatskogo-ekzamena-po-istorii-nauki-i.html
4-mehanizmi-realizacii-strategii-strategicheskij-plan-socialno-ekonomicheskogo-razvitiya-stegalovskogo-selsoveta.html
4-meri-po-preduprezhdeniyu-lecheniyu-i-umensheniyu-usherba-nezakonnaya-torgovlya-narkotikami-v-rossii.html
4-meropriyatiya-po-prioritetnomu-nacionalnomu-proektu-plan-na-2010-god-mln-rublej-osvoeno-v-2010-godu-mln-rublej.html
4-meropriyatiya-posvyashennie-75-letiyu-dvorca-detskogo-yunosheskogo-tvorchestva.html
4-mesto-disciplini-v-strukture-obrazovatelnoj-programmi-programma-disciplini-obuchenie-i-razvitie-chelovecheskih-resursov.html
  • university.bystrickaya.ru/glava-iv-mezhdunarodnoe-sotrudnichestvo-pravila-provedeniya-antikorrupcionnoj-ekspertizi-normativnih-pravovih.html
  • credit.bystrickaya.ru/osnovnaya-obrazovatelnaya-programma-visshego-professionalnogo-obrazovaniya-napravlenie-podgotovki-035700-lingvistika-stranica-4.html
  • institute.bystrickaya.ru/formuli-pervochastici-passivnoj-duhovnoj-chastici-formuli-pervochastici-passivnooj-duhovnoj-chastci.html
  • lecture.bystrickaya.ru/aleksandr-isaevich-solzhenicin-v-kruge-pervom-stranica-31.html
  • learn.bystrickaya.ru/glava-20-naem-zhilogo-pomesheniya-uchebnoe-posobie.html
  • reading.bystrickaya.ru/literatura-16-1215.html
  • vospitanie.bystrickaya.ru/vse-budet-horosho-esli-trava-ne-razbezhitsya-produkti-kotorie-mi-vibiraem-nikitin-sergej-vasilevich.html
  • abstract.bystrickaya.ru/1-aktualnie-voprosi-rossijskogo-srochnogo-rinka-tirishkin-ivan-aleksandrovich-prezident-rts-5-minut.html
  • essay.bystrickaya.ru/bolasha-dene-trbies-malmdern-ksbi-dajindaudi-pedagogikali-sharttari-zh-trislov-ompi-p-k-docent-rezyume.html
  • nauka.bystrickaya.ru/uchebnoe-posobie-dlya-studentov-nizhnevartovsk-2008-sostavitel.html
  • uchit.bystrickaya.ru/tema-19-analiz-urokov-predmetno-prakticheskogo-obucheniya-nauchno-obrazovatelnij-material.html
  • uchenik.bystrickaya.ru/2-upominaniya-zhile-v-samare-za-mesyac-podorozhalo-na-4-v-orenburge-poyavilas-gildiya-rieltorov-5.html
  • exchangerate.bystrickaya.ru/istoricheskaya-obuslovlennost-sovremennih-tendencij-razvitiya-nogajskogo-etnosa-chast-8.html
  • shpargalka.bystrickaya.ru/v-podrobnie-svedeniya-o-licah-vhodyashih-v-sostav-organov-upravleniya-emitenta-organov-emitenta-po-kontrolyu-za-ego-finansovo-hozyajstvennoj-deyatelnostyu-i-kratkie-svedeniya-o.html
  • studies.bystrickaya.ru/lekciya-po-ttms-modelirovanie-sistem.html
  • composition.bystrickaya.ru/otchet-o-rabote-psihologicheskoj-sluzhbi-mou-sosh-1-za-2007-2008-uchebnij-god.html
  • apprentice.bystrickaya.ru/zhertva.html
  • books.bystrickaya.ru/chastichnaya-postavka-tovara-ne-dopuskaetsya-istochnik-finansirovaniya-stranica-6.html
  • znaniya.bystrickaya.ru/rabochaya-programma-disciplini-teoreticheskie-osnovi-tovarovedeniya-dlya-studentov-napravleniya-100700-torgovoe-delo.html
  • composition.bystrickaya.ru/ozhidaemie-rezultati-investicionnij-plan-razvitiya-monogoroda-gubkinskogo-2012-g-kompleksnij-investicionnij-plan-kip.html
  • uchebnik.bystrickaya.ru/v-ramkah-programmi-pushkin-pri-podderzhke-ministerstva-inostrannih-del-francii-i-posolstva-francii-v-rossii-ouvrage-ralis-dans-le-cadre-du-programme-stranica-11.html
  • university.bystrickaya.ru/glava-1-superderzhavi-xx-veka.html
  • testyi.bystrickaya.ru/6-trebovaniya-k-rezultatam-osvoeniya-osnovnih-obrazovatelnih-programm-podgotovki-specialistov.html
  • reading.bystrickaya.ru/lekciya-medicinskaya-podgotovka-tema-pervaya-pomosh-pri-raneniyah.html
  • letter.bystrickaya.ru/metodicheskie-ukazaniya-po-vipolneniyu-kursovoj-raboti-dlya-studentov-napravleniya-030900-62-yurisprudenciya.html
  • university.bystrickaya.ru/glava-13-krov-i-vremya-v-konce-sveta-kniga-sledi-bogov-ne-mogla-bi-bit-napisana-bez-samozabvennoj-serdechnoj.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-sostavlena-na-osnovanii-gosudarstvennogo-obrazovatelnogo-standarta-po-specialnosti-060104-mediko-profilakticheskoe-delo-mo-rf-moskva-2002-programmi-po-discipline-detskaya-hirurgiya.html
  • books.bystrickaya.ru/en-polonskaya-s-a-sergejko-kandidat-pedagogicheskih-nauk-docent-zav-kafedroj-pedagogiki-detstva-brgu-imeni.html
  • assessments.bystrickaya.ru/bilet-21-primernie-otveti-na-profilnie-bileti-e-a-eremin-a-p-shestakov.html
  • bukva.bystrickaya.ru/revolyucii-1989-goda.html
  • institut.bystrickaya.ru/tema-kol-vo-chasov-programmi-dlya-obsheobrazovatelnih-shkol-gimnazij-liceev-informatika-drofa-moskva-2008-5.html
  • spur.bystrickaya.ru/metodicheskie-rekomendacii-po-organizacii-samostoyatelnoj-raboti-studentov-zaochnogo-otdeleniya-stranica-12.html
  • ucheba.bystrickaya.ru/predislovie-avtora-k-opitam-nauchnim-politicheskim-i-filosofskim-stranica-40.html
  • uchenik.bystrickaya.ru/itm-i-vt-mashini-1-i-2-pokolenij-chast-2.html
  • testyi.bystrickaya.ru/644-vibraciya-rukovodstvo-po-izmereniyu-davleniya-i-vakuuma.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.