Мова програмування С++
Міністерство освіти і науки
України
Черкаський художньо-технічний
коледж
Циклова комісія «Комп’ютерні
науки та ВПС»
КУРСОВА РОБОТА
з
дисципліни алгоритмізація та програмування
на
тему: мова програмування с++
Студента
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>namespace std;_tmain(int argc,
_TCHAR* argv[])
{(LC_ALL,"Russian");S,L,C,Sum;<<"Введiть
початковi данi\n";<<"Вiдстань до дачi
(км)\n";>>S;<<"\nВитрата бензину (лiтрiв на 100 км
пробiгу)\n";>>L;<<"\nЦiна лiтра бензину (грн.)\n
";>>C;=(S*L/100)*C*2;<<"\nПоїздка на дачу i назад
обiйдеться в "<<Sum<<" грн";("pause");0;
}
Результат роботи програми
Постановка задачі. Написати програму обчислення струму, по
відомих значеннях напруги і опору електричного ланцюга.
програма масив рядок функція
Блок-схема:
Програма на С++
// t1z2.cpp: определяет точку входа для консольного
приложения.
//
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include <clocale>namespace std;_tmain(int argc,
_TCHAR* argv[])
{(LC_ALL,"Russian");U,R,I;<<"Введiть
початковi данi\n";<<"Напруга (В)\n";>>U;<<"\nОпiр
(Ом)\n";>>R;=(U/R);<<"\nСила струму
"<<I<<" А\n";("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 2. Розробка та виконання програм з
розгалуженням
Постановка задачі. Написати програму, яка виводить приклад
множення двох однозначних чисел, запрошує відповідь користувача, перевіряє його
і виводить повідомлення "Правильно" або "Ви помилилися" і
правильний результат
Програма на мові С++
// t2z1.cpp: определяет точку входа для консольного
приложения.
//
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include <clocale>namespace std;_tmain(int argc,
_TCHAR* argv[])
{(LC_ALL,"Russian");a,b,C,Sum;<<"Введiть
число а\n";>>a;<<"Введiть число
b\n";>>b;<<"\nВаша
вiдповiдь?\n";>>C;=a*b;(Sum==C)
{<<"\nПравильно!
a*b="<<Sum<<"\n";
}
{<<"\nВи помилились!
a*b="<<Sum<<"\n";
}("pause");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>namespace std;_tmain(int argc,
_TCHAR* argv[])
{(LC_ALL,"Russian");mm,F;<<"Введiть
mm\n";>>mm;(mm==2)
{=5*log(3.0)-sin(3.0);<<"значення функцiї:
F="<<F<<"\n";
}if(mm==3)
{=5*log(2.0)-sin(2.0);<<"значення функцiї:
F="<<F<<"\n";
}
{<<"\nПовторiть розрахунки\n";
}("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 3. Розробка та виконання програм з
використанням функцій
Постановка задачі. Написати функцію, що розраховує відсотки
за вкладом в залежності від виду та розміру вкладу
Блок-схема:
Програма на мові С++
// t3.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include <clocale>namespace std;_tmain(int argc,
_TCHAR* argv[])
{(LC_ALL,"Russian");mm;ser=0;(int i=1;i<6;i++)
{<<"Введiть число
№"<<i<<"\n";>>mm;+=mm;=0;
}=ser/5;<<"\nCереднє арифметичне -
"<<ser<<"\n";("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 4. Розробка та виконання програм з
використанням масивів
Постановка задачі. Написати програму, яка об'єднує два
впорядкованих за збільшенням масиву в один, також упорядкує масив
Блок-схема:
Програма на мові С++
// t4.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <clocale>
#include <iostream>
#include <string>namespace std;main()
{n,m,x,s;(LC_ALL,"Russian");<< "Розмiр
першого масиву\n";>> n;*a = new int[n];<< "Введiть перший
масив\n";(int i=0; i<n; i++)
{>> a[i];
}<< "Розмiр другого масиву\n";>> m;*b =
new int[m];<< "Введiть другий масив\n";(int i=0; i<m; i++)
{>> b[i];
}= n + m;*c = new int[x];(int i=0; i<n; i++)
{[i] = a[i];
{[i] = b[i - n];
}(int i=0; i<x; i++)
{(int j=0;j<x-1;j++)
{(c[j]>c[j+1])
{=c[j];[j]=c[j+1];[j+1]=s;
}
}
}(int i=0; i<x; i++)
{<< c[i] << " ";
}("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 5. Розробка та виконання програм з
використанням рядків
Постановка задачі. Сформувати масив, елементи якого містять
кількість голосних літер у словах речення
Блок-схема:
Програма на мові С++
// t5.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <clocale>
#include <string>
#include <iostream>
#include <string>namespace std;main()
{(LC_ALL,"Russian");n=0,j=0;s;<<
"Введiть речення\n";(cin, s);(int i=0; i<s.length()-1; i++)
{(s[i]==' ')
{++;
}
}*a = new int[n+1];(int i=0;i<n+1;i++)
{[i]=0;
};(int i=0; i<s.length(); i++)
{(s[i] == ' ')
{++;
}{((s[i]=='а') || (s[i]=='е') || (s[i]=='и') || (s[i]=='і')
|| (s[i]=='о') || (s[i]=='у') )
{[j]++;
}
}
};(int i=0;i<n+1;i++)
{<< a[i]<<"\t";
}("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 6. Розробка та виконання програм з
використанням функцій
Постановка задачі. Написати функцію, що розраховує відсотки
за вкладом в залежності від виду та розміру вкладу
Блок-схема:
Програма на мові С++
// t6.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include <clocale>namespace std;vklad(int n, double
sum)
{Vkl;(n)
{1: Vkl=sum*0.137; break;2: Vkl=sum*0.1375; break;3:
Vkl=sum*0.14; break;
}<<"Вiдсоток становитиме:
"<<Vkl<<" грн\n";
}_tmain(int argc, _TCHAR* argv[])
{n;sum;(LC_ALL,"Russian");<<"Види
вкладiв\n";<<"1. Унiверсальний (1 рiк)
13,7%\n";<<"2. Ощадний (1 рiк) 13,75%\n";<<"2.
Бонус (1 рiк) 14%\n ";<<"\n Ваш вибiр?\n
";>>n;<<"\n Введiть суму\n
";>>sum;(n,sum);("pause");0;
}
Результат роботи програми
ЗАВДАННЯ 7. Розробка та виконання програм з
використанням структур
Постановка задачі. У звіті зберігається інформація: назва
підприємства, прибуток підприємства за місяць, нарахування на зарплатню.
Відсортувати цей звіт у порядку зменшення прибутку і вивести на екран
інформацію з трьох найбільш прибуткових підприємств
Блок-схема
Програма на мові С++
// t7.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include<stdio.h>
#include<iostream>
#include <string>namespace std;_tmain(int argc, _TCHAR*
argv[])
{(LC_ALL,"Russian");Pidpr {name;zarobitok;zp;
};pidpr[5];zrp,zp1;names;
//введення початкової інформації(int i=0;i<5;i++)
{cout<<"\nВведiть назву пiдприємства:
";>>pidpr[i].name;<<"\n Введiть прибуток пiдприємства:
";>>pidpr[i].zarobitok;<<"\n Введiть нарахування на
зарплатню: ";>>pidpr[i].zp;
}(int i=0;i<4;i++) //сортування
{(pidpr[i].zarobitok<pidpr[i+1].zarobitok)
{=pidpr[i].zarobitok;[i].zarobitok=pidpr[i+1].zarobitok;[i+1].zarobitok=zrp;=pidpr[i].name;[i].name=pidpr[i+1].name;[i+1].name=names;=pidpr[i].zp;[i].zp=pidpr[i+1].zp;[i+1].zp=zp1;
}
}(int i=0;i<3;i++) // виведення 3-ьох найприбутковіших
підприємств
{<<pidpr[i].name<<"\t"<<pidpr[i].zarobitok<<"\t"<<pidpr[i].zp<<"\n";
}("pause");
}
Результат роботи програми
ЗАВДАННЯ 7. Динамічні структури даних
Постановка задачі. Реалізувати двозв'язний список з
розгалуженнями для зберігання і операцій з даними виду: Ім'я Послідовність
чисел Забезпечити виконання операцій: · додавання елементів в список; · пошук і роздрукування
елементу в списку; · видалення елементу із списку; · підрахунок елементів в
списку.
Блок-схема:
Програма на мові С++
// t8.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>
#include <clocale>namespace std;city
{name;city *next;city *previous;
};*head=NULL;*last=NULL;*current=NULL;*temp=NULL;*newList=NULL;
/* Процедура дадання елемента */add_name(string s)
{(head!=NULL)
{=new
city;>name=s;>next=NULL;>previous=current;>next=newList;=newList;=newList;
}
{=new city;>name=s;=newList;>next=NULL;>previous=NULL;=newList;=head;
}
}
/* Пошуку елемента */search_unit(string name)
{=head;(newList!=last->next)
{(newList->name==name)
{<<"елемент знайдено\n";
}=newList->next;
}
}
/* Процедура видалення */delete_unit(string name)
{=head;(newList){(newList->name==name)
{(newList==head){=head->next;(head)>previous=NULL;=NULL;(current==newList)=head;newList;;
}(newList==last){=last->previous;(last)>next=NULL;(current==newList)=last;newList;;
}>previous->next=newList->next;>next->previous=newList->previous;=newList->previous;newList;;
}=newList->next;
}
}
/* Процедура виводу списка зліва направо */show_list(void)
{city *info;= head;(info)
{<<info->name<<" ";= info->next;
}<<"\n";
}
/* Процедура виводу списка справа наліво */show_list_1(void)
{city *info;= last;(info)
{<<info->name<<" ";=
info->previous;
}<<"\n";
}
/* Основна програма */main(void)
{(LC_ALL,"Russian");enter_name;key=-1;(key)
{<<"1. Ввести iмя\n";<<"2.
Видалити iмя\n";<<"3. Показати список\n";<<"4.
Показати список з кiнця\n";<<"5. Пошук\n";<<"0.
Вихiд\n";>>key;(key)
{1:
{<<"Введiть iмя або натиснiть ENTER для виходу
\n";>>enter_name;_name(enter_name);;
}2:
{<<"Введiть iмя для
видалення\n";>>enter_name;_unit(enter_name);();;
}3:
{<<"Cписок злiва направо:\n";_list();;
{<<"Список зправа налiво\n";_list_1();;
}5:
{<<"Введiть iмя для пошуку
";search_name;>>search_name;_unit(search_name);();;
}0:
{<<"Вихiд\n";();;
}:
{<<"Помилка\n";();;
}(key==0) break;
}
}0;
}
Результат роботи програми
Висновок
В ході виконання курсової роботи з дисципліни «Алгоритмізація
та програмування» було розроблено 10 програми мовою С++ в середовищі visual
studio 2010. Під час проектування і розробки було розглянуто і вивчено основні
алгоритмічні структури даної мови, а також застосовано на практиці отримані
знання з курсу «Алгоритмізація та програмування»
Список використаної літератури
1.
Ахо Альфред В., Хопкрофт Джон Ульман, Джеффри, Д. Структуры данных и алгоритмы
: Пер. с англ. : Уч. пос. - М. : Издательский дом "Вильяме", 2000. -
384 с.
. Ван
Тассел Д. Стиль, разработка, отладка и испытание программ. - М.: Мир,1985.
.
Глушаков С В. и др. Язык программирования С++. - Харьков: Фолио. 2002. - 500 с.
.
Дейтел Х.М., Дейтел П-Дж. Как программировать на С++. - М.:ЗАО «Издательство ВИНОМ»,
2000 г. - 1024 с.
.
Жешке Р. Толковый словарь стандарта языка Си - С.-Петербург: Пи-гер,1994. - 221с.
.
Керниган Б., Ритчи Д. Язык программирования Си: Пер. .с англ. - М.: Финансы и статистика,
1992. - 272 с.
.
Ковалюк Т.В. Основи програмування. - К.: Видавнича група BHV, 2005.
.
Матьяш В.А., Путилов В.А., Фильчаков В.В. , Щёкин С.В. Структуры и алгоритмы
обработки данных - Апатиты, КФ ПетрГУ, 2000. - 80 с.
.
Подбельский В.В. Язык Си++: Учеб. пособие. - М.: БИНОМ, 1995. - 400с.
.Проценко
В.С. Техніка програмування мовою С: Навчальний посібник. - К.:Либідь, 1993. - 224 с.
.Страуструп
Б. Язык программирования С++. Часть 1. - Киев: "Диа-Софт", 1993. - 264с.
.Страуструп
Б. Язык программирования С++. Часть 2. - Киев: "Диа-Софт", 1993. - 296с.
.Шилд
Г., Программярование на языке C++ - М.: Высшая школа, 2002. - 584 с.
.Шпак
З.Я. Програмування мовою С. - Львів: Оріяна-Нова, 2006.