Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

Мова програмування С++

Работа из раздела: «Программирование, компьютеры и кибернетика»

/

Міністерство освіти і науки України

Черкаський художньо-технічний коледж

Циклова комісія «Комп'ютерні науки та ВПС»

КУРСОВА РОБОТА

з дисципліни алгоритмізація та програмування

на тему: мова програмування с++

Студента II курсу МС - 22 групи

Спеціальності 5.05010101 Обслуговування

програмних систем та комплексів

Ємелянов С.А. Керівник

Викладач Захарчун Д. М.

м. Черкаси - 2014 рік

Анотація

Записка 33 с., 1ч., 18 рис., 14 джерел,

ФУНКЦІЯ, РОЗГАЛУЖЕННЯ, ЦИКЛ,. СТРУКТУРИ, МАСИВ, ДВОЗВ'ЯЗНИЙ СПИСОК, ЗМІННА

Об'єктом розробки є програми з використання різних алгоритмічних структур

Мета роботи - розробка консольних програм мовою с++, що включає різні алгоритмічні структури:

- Лінійні алгоритми;

- Розгалуження

- Циклічні алгоритми

- Функції та процедури

- Структури

- Динамічні структури даних

В результаті розробки було спроектовано і реалізовано 10 додатків з використанням різних алгоритмічних структур.

Зміст

ЗАВДАННЯ 1. Розробка та виконання простих програм

ЗАВДАННЯ 2. Розробка та виконання програм з розгалуженням

ЗАВДАННЯ 3. Розробка та виконання програм з використанням функцій

ЗАВДАННЯ 4. Розробка та виконання програм з використанням масивів

ЗАВДАННЯ 5. Розробка та виконання програм з використанням рядків

ЗАВДАННЯ 6. Розробка та виконання програм з використанням функцій

ЗАВДАННЯ 7. Розробка та виконання програм з використанням структур

ЗАВДАННЯ 7. Динамічні структури даних

Висновок

Список використаної літератури

ЗАВДАННЯ 1. Розробка та виконання простих програм

Постановка задачі. Написати програму обчислення вартості поїздки на автомобілі на дачу (туди і назад). Початковими даними є: відстань до дачі (км); кількість бензину, яка споживає автомобіль на 100 км пробігу; ціна одного літра бензину. Нижче приведений вид екрану під час виконання програми, що рекомендується (дані, які вводяться користувачем, виділені напівжирним шрифтом).

Обчислення вартості поїздки на дачу і назад.

Введіть початкові дані: Відстань до дачі (км) > 67

Витрата бензину (літрів на 100 км пробігу) > 8.5

Ціна літра бензину (грн.) > 6.5

Поїздка на дачу і назад обійдеться в 74.04 грн.

Блок-схема:

Програма на мові С++

// t1z1.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

float S,L,C,Sum;

cout<<'Введiть початковi данin';

cout<<'Вiдстань до дачi (км)n';

cin>>S;

cout<<'nВитрата бензину (лiтрiв на 100 км пробiгу)n';

cin>>L;

cout<<'nЦiна лiтра бензину (грн.)n ';

cin>>C;

Sum=(S*L/100)*C*2;

cout<<'nПоїздка на дачу i назад обiйдеться в '<<Sum<<' грн';

system('pause');

return 0;

}

Результат роботи програми

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

програма масив рядок функція

Блок-схема:

Програма на С++

// t1z2.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

float U,R,I;

cout<<'Введiть початковi данin';

cout<<'Напруга (В)n';

cin>>U;

cout<<'nОпiр (Ом)n';

cin>>R;

I=(U/R);

cout<<'nСила струму '<<I<<' Аn';

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 2. Розробка та виконання програм з розгалуженням

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

Блок-схема:

Програма на мові С++

// t2z1.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

float a,b,C,Sum;

cout<<'Введiть число аn';

cin>>a;

cout<<'Введiть число bn';

cin>>b;

cout<<'nВаша вiдповiдь?n';

cin>>C;

Sum=a*b;

if (Sum==C)

{

cout<<'nПравильно! a*b='<<Sum<<'n';

}

else

{

cout<<'nВи помилились! a*b='<<Sum<<'n';

}

system('pause');

return 0;

}

Результат роботи програми

програма масив рядок функція

Постановка задачі. Розробіть програму, яка виконає наступні обчислення. Якщо ознака mm=2, вона обчислить значення функції f 5ln( x) sin( x) при х=3. Якщо ознака mm=3, вона обчислить значення функції при х=2. У решті випадків (при інших значеннях mm) видасть на екран монітора фразу: «Повторіть розрахунки».

Блок-схема:

Програма на мові С++

// t2z2.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<math.h>

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

double mm,F;

cout<<'Введiть mmn';

cin>>mm;

if (mm==2)

{

F=5*log(3.0)-sin(3.0);

cout<<'значення функцiї: F='<<F<<'n';

}

else if(mm==3)

{

F=5*log(2.0)-sin(2.0);

cout<<'значення функцiї: F='<<F<<'n';

}

else

{

cout<<'nПовторiть розрахункиn';

}

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 3. Розробка та виконання програм з використанням функцій

Постановка задачі. Написати функцію, що розраховує відсотки за вкладом в залежності від виду та розміру вкладу

Блок-схема:

Програма на мові С++

// t3.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

double mm;

double ser=0;

for (int i=1;i<6;i++)

{

cout<<'Введiть число №'<<i<<'n';

cin>>mm;

ser+=mm;

mm=0;

}

ser=ser/5;

cout<<'nCереднє арифметичне - '<<ser<<'n';

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 4. Розробка та виконання програм з використанням масивів

Постановка задачі. Написати програму, яка об'єднує два впорядкованих за збільшенням масиву в один, також упорядкує масив

Блок-схема:

Програма на мові С++

// t4.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include <clocale>

#include <iostream>

#include <string>

using namespace std;

int main()

{

int n,m,x,s;

setlocale(LC_ALL,'Russian');

cout << 'Розмiр першого масивуn';

cin >> n;

int *a = new int[n];

cout << 'Введiть перший масивn';

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

{

cin >> a[i];

}

cout << 'Розмiр другого масивуn';

cin >> m;

int *b = new int[m];

cout << 'Введiть другий масивn';

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

{

cin >> b[i];

}

x = n + m;

int *c = new int[x];

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

{

c[i] = a[i];

}

for (int i=n; i<x; i++)

{

c[i] = b[i - n];

}

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

{

for (int j=0;j<x-1;j++)

{

if (c[j]>c[j+1])

{

s=c[j];

c[j]=c[j+1];

c[j+1]=s;

}

}

}

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

{

cout << c[i] << ' ';

}

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 5. Розробка та виконання програм з використанням рядків

Постановка задачі. Сформувати масив, елементи якого містять кількість голосних літер у словах речення

Блок-схема:

Програма на мові С++

// t5.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include <clocale>

#include <string>

#include <iostream>

#include <string>

using namespace std;

int main()

{

setlocale(LC_ALL,'Russian');

int n=0,j=0;

string s;

cout << 'Введiть реченняn';

getline(cin, s);

for (int i=0; i<s.length()-1; i++)

{

if (s[i]==' ')

{

n++;

}

}

int *a = new int[n+1];

for (int i=0;i<n+1;i++)

{

a[i]=0;

};

for (int i=0; i<s.length(); i++)

{

if (s[i] == ' ')

{

j++;

}

else{

if ((s[i]=='а') || (s[i]=='е') || (s[i]=='и') || (s[i]=='і') || (s[i]=='о') || (s[i]=='у') )

{

a[j]++;

}

}

};

for (int i=0;i<n+1;i++)

{

cout << a[i]<<'t';

}

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 6. Розробка та виконання програм з використанням функцій

Постановка задачі. Написати функцію, що розраховує відсотки за вкладом в залежності від виду та розміру вкладу

Блок-схема:

Програма на мові С++

// t6.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

using namespace std;

void vklad(int n, double sum)

{

double Vkl;

switch (n)

{

case 1: Vkl=sum*0.137; break;

case 2: Vkl=sum*0.1375; break;

case 3: Vkl=sum*0.14; break;

}

cout<<'Вiдсоток становитиме: '<<Vkl<<' грнn';

}

int _tmain(int argc, _TCHAR* argv[])

{

int n;

double sum;

setlocale(LC_ALL,'Russian');

cout<<'Види вкладiвn';

cout<<'1. Унiверсальний (1 рiк) 13,7%n';

cout<<'2. Ощадний (1 рiк) 13,75%n';

cout<<'2. Бонус (1 рiк) 14%n ';

cout<<'n Ваш вибiр?n ';

cin>>n;

cout<<'n Введiть сумуn ';

cin>>sum;

vklad(n,sum);

system('pause');

return 0;

}

Результат роботи програми

ЗАВДАННЯ 7. Розробка та виконання програм з використанням структур

Постановка задачі. У звіті зберігається інформація: назва підприємства, прибуток підприємства за місяць, нарахування на зарплатню. Відсортувати цей звіт у порядку зменшення прибутку і вивести на екран інформацію з трьох найбільш прибуткових підприємств

Блок-схема

Програма на мові С++

// t7.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include<stdio.h>

#include<iostream>

#include <clocale>

#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL,'Russian');

struct Pidpr {

string name;

double zarobitok;

double zp;

};

Pidpr pidpr[5];

double zrp,zp1;

string names;

//введення початкової інформації

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

{cout<<'nВведiть назву пiдприємства: ';

cin>>pidpr[i].name;

cout<<'n Введiть прибуток пiдприємства: ';

cin>>pidpr[i].zarobitok;

cout<<'n Введiть нарахування на зарплатню: ';

cin>>pidpr[i].zp;

}

for(int i=0;i<4;i++) //сортування

{

if (pidpr[i].zarobitok<pidpr[i+1].zarobitok)

{

zrp=pidpr[i].zarobitok;

pidpr[i].zarobitok=pidpr[i+1].zarobitok;

pidpr[i+1].zarobitok=zrp;

names=pidpr[i].name;

pidpr[i].name=pidpr[i+1].name;

pidpr[i+1].name=names;

zp1=pidpr[i].zp;

pidpr[i].zp=pidpr[i+1].zp;

pidpr[i+1].zp=zp1;

}

}

for(int i=0;i<3;i++) // виведення 3-ьох найприбутковіших підприємств

{

cout<<pidpr[i].name<<'t'<<pidpr[i].zarobitok<<'t'<<pidpr[i].zp<<'n';

}

system('pause');

}

Результат роботи програми

ЗАВДАННЯ 7. Динамічні структури даних

Постановка задачі. Реалізувати двозв'язний список з розгалуженнями для зберігання і операцій з даними виду: Ім'я Послідовність чисел Забезпечити виконання операцій: додавання елементів в список; пошук і роздрукування елементу в списку; видалення елементу із списку; підрахунок елементів в списку.

Блок-схема:

Програма на мові С++

// t8.cpp: определяет точку входа для консольного приложения.

//

#include 'stdafx.h'

#include <iostream>

#include <stdio.h>

#include <conio.h>

#include <string>

#include <clocale>

using namespace std;

struct city

{

string name;

struct city *next;

struct city *previous;

};

city *head=NULL;

city *last=NULL;

city *current=NULL;

city *temp=NULL;

city *newList=NULL;

/* Процедура дадання елемента */

void add_name(string s)

{

if(head!=NULL)

{

newList=new city;

newList->name=s;

newList->next=NULL;

newList->previous=current;

current->next=newList;

last=newList;

current=newList;

}

else

{

newList=new city;

newList->name=s;

head=newList;

newList->next=NULL;

newList->previous=NULL;

current=newList;

last=head;

}

}

/* Пошуку елемента */

void search_unit(string name)

{

newList=head;

while(newList!=last->next)

{

if(newList->name==name)

{

cout<<'елемент знайденоn';

}

newList=newList->next;

}

}

/* Процедура видалення */

void delete_unit(string name)

{

newList=head;

while(newList){

if(newList->name==name)

{

if(newList==head){

head=head->next;

if(head)

head->previous=NULL;

else

last=NULL;

if(current==newList)

current=head;

delete newList;

break;

}

if (newList==last){

last=last->previous;

if(last)

last->next=NULL;

if(current==newList)

current=last;

delete newList;

break;

}

newList->previous->next=newList->next;

newList->next->previous=newList->previous;

current=newList->previous;

delete newList;

break;

}

newList=newList->next;

}

}

/* Процедура виводу списка зліва направо */

void show_list(void)

{

struct city *info;

info = head;

while(info)

{

cout<<info->name<<' ';

info = info->next;

}

cout<<'n';

}

/* Процедура виводу списка справа наліво */

void show_list_1(void)

{

struct city *info;

info = last;

while(info)

{

cout<<info->name<<' ';

info = info->previous;

}

cout<<'n';

}

/* Основна програма */

int main(void)

{

setlocale(LC_ALL,'Russian');

string enter_name;

int key=-1;

while(key)

{

cout<<'1. Ввести iмяn';

cout<<'2. Видалити iмяn';

cout<<'3. Показати списокn';

cout<<'4. Показати список з кiнцяn';

cout<<'5. Пошукn';

cout<<'0. Вихiдn';

cin>>key;

switch (key)

{

case 1:

{

cout<<'Введiть iмя або натиснiть ENTER для виходу n';

cin>>enter_name;

add_name(enter_name);

break;

}

case 2:

{

cout<<'Введiть iмя для видаленняn';

cin>>enter_name;

delete_unit(enter_name);

getch();

break;

}

case 3:

{

cout<<'Cписок злiва направо:n';

show_list();

break;

}

case 4:

{

cout<<'Список зправа налiвоn';

show_list_1();

break;

}

case 5:

{

cout<<'Введiть iмя для пошуку ';

string search_name;

cin>>search_name;

search_unit(search_name);

getch();

break;

}

case 0:

{

cout<<'Вихiдn';

getch();

break;

}

default:

{

cout<<'Помилкаn';

getch();

break;

}

if (key==0) break;

}

}

return 0;

}

Результат роботи програми

Висновок

В ході виконання курсової роботи з дисципліни «Алгоритмізація та програмування» було розроблено 10 програми мовою С++ в середовищі visual studio 2010. Під час проектування і розробки було розглянуто і вивчено основні алгоритмічні структури даної мови, а також застосовано на практиці отримані знання з курсу «Алгоритмізація та програмування»

Список використаної літератури

1. Ахо Альфред В., Хопкрофт Джон Ульман, Джеффри, Д. Структуры данных и алгоритмы : Пер. с англ. : Уч. пос. - М. : Издательский дом 'Вильяме', 2000. - 384 с.

2. Ван Тассел Д. Стиль, разработка, отладка и испытание программ. М.: Мир,1985.

3. Глушаков С В. и др. Язык программирования С++. Харьков: Фолио. 2002. 500 с.

4. Дейтел Х.М., Дейтел П-Дж. Как программировать на С++. М.:ЗАО «Издательство ВИНОМ», 2000 г. 1024 с.

5. Жешке Р. Толковый словарь стандарта языка Си С.-Петербург: Пи-гер,1994. 221с.

6. Керниган Б., Ритчи Д. Язык программирования Си: Пер. .с англ. М.: Финансы и статистика, 1992. 272 с.

7. Ковалюк Т.В. Основи програмування. - К.: Видавнича група BHV, 2005.

8. Матьяш В.А., Путилов В.А., Фильчаков В.В. , Щёкин С.В. Структуры и алгоритмы обработки данных - Апатиты, КФ ПетрГУ, 2000. - 80 с.

9. Подбельский В.В. Язык Си++: Учеб. пособие. М.: БИНОМ, 1995. 400с.

10.Проценко В.С. Техніка програмування мовою С: Навчальний посібник. -- К.:Либідь, 1993. 224 с.

11.Страуструп Б. Язык программирования С++. Часть 1. Киев: 'Диа-Софт', 1993. 264с.

12.Страуструп Б. Язык программирования С++. Часть 2. Киев: 'Диа-Софт', 1993. 296с.

13.Шилд Г., Программярование на языке C++ - М.: Высшая школа, 2002. - 584 с.

14.Шпак З.Я. Програмування мовою С. - Львів: Оріяна-Нова, 2006.

ref.by 2006—2025
contextus@mail.ru