Розробка програми для обчислення цілих чисел
Теоретичні відомості про язик С++. Розробка програми, що виконує основні арифметичні дії над простими та складними числами на язику С++. Опис алгоритму програми та її код. Інструкція по користуванню. Обгрунтовування вибору та складу технічних засобів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 30.11.2011 |
Размер файла | 852,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
19
Размещено на http://www.allbest.ru/
Міністерство освіти України
Національний технічний університет "ХПІ"
кафедра "Інформатика та інтелектуальна власність"
ПОЯСНЮВАЛЬНА ЗАПИСКА
курсового проекту
з дисципліни "Основи програмування та алгоритмічні мови"
Тема проекту
Розробка програми для обчислення цілих чисел
Харків 2008
Завдання на курсове проектування:
Даний курсовий проект є програмою написаної на язиці С++, яка виконує операції множення, ділення, додавання, віднімання. С++ - це язик програмування загального призначення, добре відомий своєю ефективністю, економічністю, і переносимістю. Вказані переваги С++ забезпечують хорошу якість розробки майже будь-якого виду програмного продукту. Використовування С++ як інструментального язика дозволяє одержувати швидкі і компактні програми.
Підстава для розробки:
Розробка ведеться відповідно учбовому плану. Тема курсового проекту: "Розробка програми для обчислення цілих чисел".
Призначення розробки:
Даний програмний продукт призначений для розрахунку цілих чисел.
Стадії і етапи розробки:
- огляд літератури;
- розробка тексту програми, яка реалізує поставлену задачу;
- відладка програми;
- складання програмної документації.
Порядок контролю і приймання:
Розроблене програмне забезпечення повинне бути випробувано на контрольних прикладах. Приклади задаються керівником.
Зміст
- Введення
- 1. Короткі теоретичні відомості
- 2. Опис алгоритму
- 3.Опис програми
- 4. Опис і обгрунтовування вибору та складу технічних засобів
- 5. Вхідні і вихідні дані
- 6. Код програми
- 7. Результати роботи програми
- 8. Інструкція по користовуванню
- Висновок
- Література
Введення
У даному курсовому проекті розроблена програма, яка виконує основні арифмітичні дії над числами. Програма написана на язику С++.
С++ - це розширена версія язику С. С++ містить в собі все, що є в С, але крім цього він підтримує об'єктно-орієнтоване програмування. В С++ існує багато додаткових можливостей, які незалежно від об'єктно-орієнтованого програмування роблять його просто “кращим ніж С”. За невеликими виключеннями С++ - це більш досконалий С.
1. Короткі теоретичні відомості
С++ - язик загального призначення і задуманий для того, щоб програмісти одержали задоволення від самого процесу програмування. За вийнятком другорядних деталей він містить язик С як підмножину. Язик С розширяється введенням гнучких і ефективних засобів, призначених для побудови нових типів. Програміст структурує свою задачу визначивши нові типи, які точно відповідають поняттям наочної області задачі. Такий метод побудови програми звичайно називають абстракцією даних. Інформація про типи міститься в деяких об'єктах типів, визначених користувачем. З такими об'єктами можна працювати надійно і просто навіть в тих випадках, коли їх тип не можна встановити на стадії трансляції. Програмування з використанням таких об'єктів звичайно називають об'єктно-орієнтованим. Якщо цей метод застосовується правильно то програми стають коротшими і зрозумілішими, а супровід їх спрощується.
Ключовим поняттям С++ є клас. Клас - це визначений користувачем тип. Класи забезпечують зберігання даних, їх ініціалізацію, неявне перетворення призначених для користувача типів, динамічне завдання типів, контрольоване користувачем управління пам'яттю і засоби для перевантаження операцій. В язиці С++ концепції контролю типів і модульної побудови програм реалізовані більш повно, ніж в С. Крім того, С++ містить удосконалення, прямо не зв'язані з класами: символічні константи, функції-підстановки, стандартні значення параметрів функцій, перевантаження імен функцій, операції управління вільною пам'яттю і посилальний тип. В С++ збережені всі можливості язика С по ефективній роботі з основними об'єктами, що відображають апаратну "реальність" (розряди, байти, слова адреси і т.д.). Це дозволяє достатньо ефективно реалізовувати призначені для користувача типи.
Як язик, так і стандартні бібліотеки С++ проектувалися в розрахунку на переносимість. Наявні реалізації язика працюватимуть в більшості систем, що підтримують С. В програмах на С++ можна використовувати бібліотеки С. Большинство службових програм, розрахованих на С, можна використовувати і в С++.
2. Опис алгоритму
Робота програми починається з того, що користувач обирає будь-які цифри. Потім обирає дії, які будуть виконуватися над числами. Якщо користувач обрав знак “+”, то виконується операція складання чисел. Якщо знак “-“, то виконується операція віднімання чисел. Якщо користувач обрав знак “*”, то виконується множення чисел. Якщо знак “/”, то виконується операція поділу, причому якщо користувач ввів другу цифру 0 - видається повідомлення про помилку.
3. Опис програми
Програма складається з двух основних файлів Unit1.cpp та Unit2.cpp.
Файл Unit1.cpp містить в собі опис усіх кнопок калькулятора. Калькулятор має 19 функціональних кнопок та табло, на якому виводяться всі цифри та отримані результати. Десять кнопок програми - це цифри від 0 до 9. Інші чотири кнопки виконують арифметичні дії: складання, віднімання, множення, ділення. Ще дві кнопки відповідають за видалення цифр. Причому одна з них повністю очищує екран, а друга видаляє по одній цифрі. Кнопка “ = ” виводить на екран програми отриманий результат. При натисканні на кнопку “ +/-” число становиться від'ємним або додатнім. При вибору кнопки “About ” відкривається вікно з відомостями о програмі та авторі.
Файл Unit2.cpp містить відомості о програмі та фотографію автора.
4. Опис і обгрунтовування вибору та складу технічних засобів
Програма була написана на язиці програмування С++ . С++ є язиком програмування загального призначення. Природна для нього область вживання - системне програмування, що розуміється в широкому значенні цього слова. Крім того, С++ успішне використовується в багатьох областях додатку, що далеко виходять за вказані рамки. Реалізації С++ тепер є на всіх машинах, починаючи з найскромніших мікрокомп'ютерів - до найбільших супер-ЭВМ, і практично для всіх операційних систем.
5. Вхідні і вихідні дані
В якості вхідних та вихідних даних виступають цифри, які вводить користувач.
6. Код програми
Файл Unit1.cpp:
/---------------------------------------------------------------------------
#include"Unit2.h" //підключення файла Unit2.h
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool f=false; //зміна, відповідаюча за натиснення кнопки
char d, z; //об'ява змінних
int a=0,b=0; //змінні, які приймають участь в діях
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Form2->ShowModal(); //підключення второї форми
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) / / опис кнопки 1
{
if(!f)
{
tablo->Text="1"; // вивод на табло цифри 1
f=true;
}
else if(tablo->Text.Length()<42) //перевірка розміру строки
tablo->Text=tablo->Text+"1";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) // опис кнопки 2
{
if(!f)
{
tablo->Text="2";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"2";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender) // опис кнопки 3
{
if(!f)
{
tablo->Text="3";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"3";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender) // опис кнопки 4
{
if(!f)
{
tablo->Text="4";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"4";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
if(!f)
{
tablo->Text="5";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"5";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
if(!f)
{
tablo->Text="6";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"6";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
if(!f)
{
tablo->Text="7";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"7";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
if(!f)
{
tablo->Text="8";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"8";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button10Click(TObject *Sender)
{
if(!f)
{
tablo->Text="9";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"9";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
if(!f)
{
tablo->Text="0";
f=true;
}
else if(tablo->Text.Length()<42)
tablo->Text=tablo->Text+"0";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button13Click(TObject *Sender) //опис кнопки -
{
f=false;
z='-';
a=StrToInt(tablo->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender) //опис кнопки +
{
f = false;
z = '+';
a=StrToInt(tablo->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender) //опис кнопки /
{
f=false;
z= '/';
a=StrToInt(tablo->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender) //опис кнопки *
{
f=false;
z= '*';
a=StrToInt(tablo->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender) //опис кнопки очистки екрана
{
d=0;
f=false;
tablo->Text=0;
a=0,b=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender) //опис кнопки =
{
int c;
switch(z)
{
case '+':
b = StrToInt(tablo->Text);
c = a + b;
break;
case '-':
b = StrToInt(tablo->Text);
c = a - b;
break;
case '/':
b = StrToInt(tablo->Text);
if(b==0)
{
ShowMessage("Ты до сих пор не знаешь, что на ноль делить нельзя...?");
return ;
}
else
c = a / b;
break;
case '*':
b = StrToInt(tablo->Text);
c = a * b;
break;
}
f = false;
tablo->Text = IntToStr(c);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button18Click(TObject *Sender) //опис кнопки +/-
{
if(!f)
tablo->Text=0;
else if(!((tablo->Text[1]=='0')&&(tablo->Text.Length()==1)))
{
if(tablo->Text[1]!='-')
{
tablo->Text="-"+tablo->Text;
b=StrToInt(tablo->Text);
}
else
{
tablo->Text=tablo->Text.Delete(1, 1);
b=StrToInt(tablo->Text);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button19Click(TObject *Sender) //опис кнопки возврата
{
if(tablo->Text.Length()==1) tablo->Text=0;
else if((tablo->Text[tablo->Text.Length()-1]!='-'))
tablo->Text=tablo->Text.Delete(tablo->Text.Length(), tablo->Text.Length());
else tablo->Text=0;
}
//---------------------------------------------------------------------------
Файл Unit2.cpp:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Form2->Close();
}
//---------------------------------------------------------------------------
7. Результати роботи програми
1. Загальний вигляд програми
2. Вікно з відомостями о програмі
3. Повідомлення про помилку при поділі на нуль.
8. Інструкція по користуванню
Для установки програми необхідно просто скопіювати її в ПК.
Для роботи з програмою потрібно запустити файл calculyator.ехе.
Висновок
У даному курсовому проекті розроблена програма, яка виконує основні арифметичні дії над числами. Ця програма допомагає користувачу в розрахунку як простих так і складних чисел. Програма написана на язику С++. С++ є язиком програмування загального призначення. С++ успішне використовується в багатьох областях. Реалізації С++ тепер є на всіх машинах, починаючи з найскромніших мікрокомп'ютерів - до найбільших супер-ЭВМ, і практично для всіх операційних систем. Використовування С++ як інструментального язика дозволяє одержувати швидкі і компактні програми.
програма арифметичний число
Література
арифметична дія число програма
1. Архангельский А.Я. Програмування в C++ Builder 5.- М.: ЗАТ "Видавництво БІНОМ".-2002, 1152 с.
2. Х.Дейтел, П.Дейтел. Як програмувати на С++. ”Видавництво БІНОМ”.- 2002, 1007 с.
3. Кнут Д. Мистецтво програмування для ЕВМ.Т.3. Сортування та поіск. Пер. з англ. М.:,Мір.- 1978, 300 с.
4. Б.Страустрап. Введення в язик С++, Пітер. - 2001, 286 с.
5. Проценко В.С. та ін. Техніка програмування мовою Сі.: Навчальний посібник, Либідь.- 1993, 200с.
6. Шилдт Г. Самовчитель З, 3-е вид. Пер. з англ.-СПб.:BHV-Санкт-Петербург.-1998, 800с.
Размещено на Allbest.ru
Подобные документы
Розробка програми калькулятора, що може виконувати найголовніші арифметичні операції над двома числами. Вимоги до апаратного і програмного забезпечення. Опис форм та компонентів програми. Розробка алгоритмів програмного забезпечення. Опис коду програми.
курсовая работа [57,1 K], добавлен 31.05.2013Огляд Windows 95/98: загальні відомості, аналіз файлової системи. Розробка програми, що виконує всі основні функції файлового менеджера та може використовуватись як повноцінний програмний продукт даного типу. Установка та умови застосування програми.
курсовая работа [360,6 K], добавлен 17.10.2013Опис методів і алгоритмів вирішення задачі в середовищі розробки Myeclipse. Основні функції програмного продукту, його структура. Розробка алгоритму та програми, інструкція користувачу. Результати тестування, лістинг основних блоків. Вікно головного меню.
курсовая работа [1,8 M], добавлен 24.02.2014Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.
курсовая работа [3,4 M], добавлен 17.11.2014Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Створення програми "EvolAnim" для моделювання еволюції і розвитку живих організмів. Опис логічної структури. Умови існування об’єктів даних класів. Виклик і завантаження програми. Вимоги до складу й параметрів технічних засобів. Вхідні та вихідні дані.
курсовая работа [437,5 K], добавлен 29.04.2014- Розроблення алгоритму і програми а NASM асемблері для додавання / множення чисел з плаваючою крапкою
Розробка алгоритму роботи програми, її загальна характеристика та функціональні особливості, умови ефективного використання. Способи виклику та адреса завантаження, відомості про використання оперативної пам'яті. Посібник системного програміста.
курсовая работа [182,6 K], добавлен 07.06.2016 Основні відомості з лінійної алгебри. Власні значення і вектори матриці. Метод обертання Якобі. Засоби формування інтерфейсу користувача. Текст програми алгоритму методу обертання Якобі. Вимоги до програмно-технічного забезпечення. Інструкція користувача.
курсовая работа [306,0 K], добавлен 18.11.2015Призначення драйверів та порядок роботи з драйверами в MS-DOS. Розробка драйверів консолі. Структура драйвера та призначення компонентів. Розробка структури алгоритму, програми налагодження драйвера. Опис змінних програми та роботи модулів програми.
курсовая работа [1,0 M], добавлен 22.06.2012Розробка ефективних засобів навчання. Виявлення системи, способів, що сприяють підвищенню активності учнів. Призначення та область використання програми електронний довідник. Розробка алгоритму програми. Обґрунтування вибору мови і системи програмування.
курсовая работа [161,7 K], добавлен 02.06.2014