Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KR_smila_Cpp-15ee03d9ea8f4ebb8a8467a59daaf32b.doc
Скачиваний:
6
Добавлен:
12.02.2016
Размер:
258.4 Кб
Скачать

1. Мета і завдання курсової роботи

1.1. Курсова робота та її захист є завершальним етапом навчального процесу з дисципліни, що дає змогу оцінити рівень підготовки студентів, здатність самостійно виконувати завдання в галузі програмування.

Метою курсової роботи є закріплення умінь та навичок програмування на прикладі розробки функцій та процедур користувача згідно із прийнятими міжнародними стандартами відповідно до індивідуального завдання.

1.2. Завдання курсової роботи формується відповідно до змісту дисципліни та задач, які визначаються об’єктами комп’ютерізації.

Курсова робота має виконуватись з використанням сучасної мови програмування C/C++.

Курсовою роботою передбачається створення алгоритмів та програм, що містять процедури і функції користувача, до яких є неодноразове звертання з основних програм.

2. Теоретичні відомості

Підпрограми підвищують продуктивність програм, економлять пам‘ять, економлять пам‘ть, роблять всю програму більш наочною, спрощують розробку великих програм.

В головній програмі всі підпрограми розміщуються після розділу опису даних перед оператором Begin виконавчої частини, а викликаються при потребі в процесі виконання головної програми.

Зв‘язок між головною програмою та підпрограмою здійснюється через списки формальних та практичних параметрів або за допомогою глобальних змінних. Фактичні параметри – це такі параметри, які використовуються у підпрограмі. При звертанні до підпрограми фактичні параметри змінюють відповідні формальні параметри.

Глобальні змінні не є фактичними параметрами і можуть використовуватися як у головній програмі, так і у підпрограмах.

Локальні змінні описуються тільки всередені підпрограмі і можуть використовуватися в цій самій підпрограмі.

В Turbo Pascal є два типи підпрограм: процедури та функціїю Вони відрізняються між собою структурою та способом виклику. На стані проектування слід визначити, які частини програми потрібно оформити як процедуру чи функцію.

Процедурою називається певним чином оформлений фрагмент програми, що має певне ім’я. Згадування цього імені у тексті програми призводить до активізації процедури і називається її викликом. Після активізації процедури виконуються оператори, що входять до неї, після виконання останнього з них управління повертається до основної програми і виконуються оператори, які розташовані безпосередньо за оператором виклику процедури. Для обміну інформацією між основною програмою і процедурою використовується один або кілька параметрів виклику. Якщо вони є, то перераховуються у круглих дужках за ім’ям процедури і разом з ним утворюють оператор виклику процедури.

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

Різниця між процедурою і функцією полягає в тому, що функція повертає тільки одне значення, а процедура – кілька значень або жодного.

Приклад. Створити інформаційну систему, що містить меню, яке складається з трьох пунктів. В першому пункті потрібно виконати обчислення із застосуванням створеної процедури, в другому пункті – виконати обчислення із застосуванням створеної функції, в третьому пункті – вийти із програми. Процедура повинна забезпечити замінити від’ємні елементи на 0 в заданих масивах Mas1(10), Mas2(7), Mas3(8). Роздрукувати масиви до перетворення та після. Функція повинна забезпечувати обрахунок виразу .

#include <iostream>

#include <fstream>

#include <string.h>

#include <conio.h>

#include <windows.h>

using namespace std;

void print_masiv(int *masiv, int nk)

{

int i;

for (i = 0; i < nk; i++)

printf("%d, ", masiv[i]);

printf("\n");

}

void zmina_masiv(int *masiv, int nk, int zam)

{

int i;

for (i = 0; i < nk; i++)

if (masiv[i] < 0)

masiv[i]=zam;

}

void proc()

{

int Mas1[10]={-2,5,2,-5,3,-8,-7,6,1,0};

int Mas2[7]={-5,3,-8,7,-1,1,0};

int Mas3[8]={3,4,2,1,7,6,1,0};

system("cls");

//////

printf("Заданий масив: \n");

print_masiv(Mas1,10);

zmina_masiv(Mas1,10,0);

printf("Зміненний масив: \n");

print_masiv(Mas1,10);

//////

printf("Заданий масив: \n");

print_masiv(Mas2,7);

zmina_masiv(Mas2,7,0);

printf("Зміненний масив: \n");

print_masiv(Mas2,7);

//////

printf("Заданий масив: \n");

print_masiv(Mas3,8);

zmina_masiv(Mas3,8,0);

printf("Зміненний масив: \n");

print_masiv(Mas3,8);

while (!kbhit());

}

// використання функції

int rozr(int p, int k, const int a)

{

int i;

int sr=0;

for (i=p; i<=k; i++)

sr = sr + (i-a);

return(sr);

}

int func()

{

system("cls");

int s;

s = rozr(1,7,5);

printf(" S = %d \n", s);

while (!kbhit());

return 0;

}

//головна функція

int main()

{

int p;

do

{

system("cls");

setlocale(LC_ALL, "Ukrainian");

cout << "\t\t\t ГОЛОВНЕ МЕНЮ \n";

cout << "\t\t 1. Використання процедури \n";

cout << "\t\t 2. Використання функції \n";

cout << "\t\t 0. Exit\n";

cout << "\t\t Введіть номер пункту : ";

cin >>p;

switch (p)

{

case 1:

{

proc();

break;

}

case 2:

{

func();

break;

}

}

}

while (p != 0);

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]