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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 02.06.2016
Размер файла 471,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

Студента 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 данi\n";

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 данi\n";

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ть число b\n";

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ть mm\n";

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.

Размещено на Allbest.ru


Подобные документы

  • Характеристика методів та етапів створення простих програм на мові програмування С++. Особливості структури та порядку запуску програми. Функції вводу і виводу та маніпулятори мови С++. Робота з одновимірними масивами. Символьна інформація та рядки.

    дипломная работа [91,2 K], добавлен 19.06.2010

  • Розробка програми на мові програмування Асемблер для обчислення виразу. Розрахунок значень А, В, С у процедурах. Аналіз отриманих результатів за допомогою відлагоджувальника Turbo Debugger при різних заданих значеннях та перевірка їх правильності.

    лабораторная работа [203,4 K], добавлен 09.01.2013

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Динамічні структури даних. Списки та їх різновиди. Практична реалізація динамічних структур на мові програмування С++. Динамічна пам’ять, операції NEW та DELETE. Побудова динамічних структур з використанням стандартних шаблонів: бібліотеки Stack та Queue.

    курсовая работа [72,4 K], добавлен 07.09.2010

  • Характеристика мов програмування. Історія виникнення мови C#, її особливості, версії та нові можливості. Приклад програм виведення на екран, виведення поточної дати та часу та програми музичного програвача. Програмний код та результат виконання програм.

    контрольная работа [321,3 K], добавлен 13.06.2012

  • Розробка програми в візуальному середовищі С++. Визначення значення функцій в середовищі Builder мовою програмування С++. Обчислення елементів квадратної матриці згідно заданного алгоритму. Бібліотека візуальних компонентів і середовище програмування.

    курсовая работа [451,5 K], добавлен 15.01.2012

  • Варіантний аналіз та вибір методів розв’язування, основні поняття та визначення, особливості розробки баз даних. Описовий алгоритм головної програми та її структури, опис авторської заставки. Структура модулів та опис функцій, лістинг програми.

    курсовая работа [2,6 M], добавлен 30.11.2009

  • Аналіз сучасного стану технологій програмування. Засоби реалізації об'єктів в мові C++, структура даних і функцій. Розробка програмного продукту - гри "трикутники", з використовуванням моделей, класів і функцій об’єктно-орієнтованого програмування.

    курсовая работа [117,8 K], добавлен 14.03.2013

  • Поняття черги в програмуванні, основні операції з чергою і їх реалізація. Опис алгоритму й специфікація програми. Розробка додатку з використанням задачі Ларсона по опису зв'язного неорієнтованого графа. Алгоритм розв’язку і результати виконання програми.

    курсовая работа [1,1 M], добавлен 14.09.2012

  • Аналіз технологій розробки систем моніторингу і управління та різноманітності мов програмування. Створення проекту структури Інтернет-магазину, розробка бази даних, UML-діаграми та алгоритму виконання функцій додатку. Результати тестування програми.

    дипломная работа [1,6 M], добавлен 08.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.