Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Контрольная работа: Программирование на языке С++

Название: Программирование на языке С++
Раздел: Рефераты по информатике, программированию
Тип: контрольная работа Добавлен 18:38:10 02 июня 2010 Похожие работы
Просмотров: 136 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Содержание

Введение

Индивидуально задание

Блок–схема

Листинги программ

Руководство пользователя

Список используемой литературы


Введение

Язык C++ возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году — нынешняя версия этого стандарта — ISO/IEC 14882:2003.

Ранние версии языка, известные под именем «C с классами», начали появляться с 1980 года. Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Симула (Simula) имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно. В то же время язык BCPLдостаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными. Вспоминая опыт своей диссертации, Страуструп решил дополнить язык Си (преемник BCPL) возможностями, имеющимися в языке Симула. Язык Си, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию Си). В начале в Си были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.

Разрабатывая Си с классами (позднее C++), Страуструп также написал программу cfront — транслятор, перерабатывающий исходный код Си с классами в исходный код простого Си. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.

В 1983 году произошло переименование языка из Си с классами в C++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 года. В 1985 году вышло также первое издание «Языка программирования C++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 году состоялся выход C++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены.

В 1990 году вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.

Стандартная библиотека C++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке C++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций Си printf иscanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

После многих лет работы совместный комитет ANSI-ISO стандартизировал C++ в 1998 году (ISO/IEC 14882:1998 — Язык программирования C++). В течение нескольких лет после официального выхода стандарта комитет обрабатывал сообщения об ошибках и в итоге выпустил исправленную версию стандарта C++ в 2003 году. В настоящее время рабочая группа МОС (ISO) работает над новой версией стандарта под кодовым названиемC++0x (ранее известный как C++09).

Индивидуальное задание

Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно пересекающихся. Найти среди этих окружностей все уединенные.

Блок-схема


Листинги программ

KOMP . CPP

#include<graphics.h>

#include<iostream.h>

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<dos.h>

#include<bios.h>

#include<process.h>

void pomehi(int x, int y, int i)

{

setcolor(i);

line(x-100,y-60,x-80,y-60);

line(x-60,y-50,x-40,y-50);

line(x-20,y-60,x,y-60);

line(x+20,y-50,x+40,y-50);

line(x+60,y-60,x+80,y-60);

line(x-100,y-20,x-80,y-20);

line(x-60,y-10,x-40,y-10);

line(x-20,y-20,x,y-20);

line(x+20,y-10,x+40,y-10);

line(x+60,y-20,x+80,y-20);

line(x-100,y+20,x-80,y+20);

line(x-60,y+30,x-40,y+30);

line(x-20,y+20,x,y+20);

line(x+20,y+30,x+40,y+30);

line(x+60,y+20,x+80,y+20);

line(x-100,y+60,x-80,y+60);

line(x-60,y+70,x-40,y+70);

line(x-20,y+60,x,y+60);

line(x+20,y+70,x+40,y+70);

line(x+60,y+60,x+80,y+60);

}

void komp(int x, int y)

{

int i;

///////////////monitor////////////////

i=8;

setcolor(i);

rectangle(x-120, y-100, x+120, y+100);

setfillstyle(SOLID_FILL,i);

floodfill(x-115,y-95,i);

i=0;

setcolor(i);

rectangle(x-110, y-90, x+110, y+90);

setfillstyle(SOLID_FILL,i);

floodfill(x,y,i);

i=0;

setcolor(i);

line(x-120, y-100, x-110, y-110);

line(x+120, y+100, x+130, y+90);

line(x+120, y-100, x+130, y-110);

line(x-110, y-110, x+130, y-110);

line(x+130, y-110, x+130, y+90);

line(x+20, y+110, x+20, y+100);

line(x-20, y+110, x-20, y+100);

rectangle(x+60, y+110, x-60, y+120);

line(x+60, y+110, x+70, y+100);

line(x+60, y+120, x+80, y+100);

line(x-60, y+110, x-50, y+100);

line(x+20, y+110, x+30, y+100);

circle(x+110,y+95,3);

circle(x+100,y+95,2);

circle(x+90,y+95,2);

///////////////sistemnik//////////////

i=0;

setcolor(i);

rectangle(x-130, y+120, x-200, y-100);

line(x-200, y-100, x-110, y-190);

line(x-130, y-100, x-40, y-190);

line(x-110, y-190, x-40, y-190);

line(x-130, y+120, x-110, y+100);

line(x-40, y-190, x-40, y-110);

rectangle(x-190, y-90, x-140, y-80);

rectangle(x-190, y-70, x-140, y-60);

rectangle(x-190, y-50, x-140, y-40);

rectangle(x-190, y-30, x-140, y-20);

rectangle(x-180, y-10, x-150, y);

rectangle(x-180, y+10, x-150, y+20);

rectangle(x-190, y+100, x-140, y+110);

circle(x-165,y+80,5);

circle(x-165,y+60,4);

line(x-165,y+80,x-165,y+84);

circle(x-165,y+80,2);

}

void kolonki(int x, int y, int i)

{

int k;

//////////////left//////////////////

k=i;

i=15;

setfillstyle(INTERLEAVE_FILL,i);

i=k;

setcolor(i);

rectangle(x-210, y+120, x-260, y+60);

line(x-210, y+120, x-200, y+110);

line(x-210, y+60, x-200, y+50);

line(x-260, y+60, x-240, y+40);

line(x-240, y+40, x-200, y+40);

i=k;

setcolor(i);

pieslice(x-235, y+90, 0, 180, 20);

rectangle(x-255, y+90, x-215, y+110);

floodfill(x-245,y+95,i);

//////////////right/////////////////

rectangle(x+140, y+120, x+190, y+60);

line(x+190, y+120, x+210, y+100);

line(x+190, y+60, x+210, y+40);

line(x+140, y+60, x+160, y+40);

line(x+160, y+40, x+210, y+40);

line(x+210, y+100, x+210, y+40);

i=k;

setcolor(i);

pieslice(x+165, y+90, 0, 180, 20);

rectangle(x+145, y+90, x+185, y+110);

floodfill(x+155,y+95,i);

circle(x+165,y+115,4);

circle(x+155,y+115,3);

circle(x+175,y+115,3);

arc(x+165,y+40,0,150,40);

}

void main()

{int dr=DETECT,mod;

float snd[] = {659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,

698.46, 783.99, 659.26, 659.26, 880.00, 1046.50, 987.77, 880.00, 1046.50, 880.00, 987.77, 880.00,

659.26, 622.25, 587.33, 587.33, 698.46, 880.00, 987.77, 587.33, 698.46,

830.61, 880.00, 440.00, 523.25, 698.46, 698.46, 659.26, 783.95, 698.46, 698.46,

659.26, 493.88, 523.25, 440.00, 987.77, 987.77, 932.33, 880.00, 987.77, 987.77,

880.00, 783.99, 698.46, 659.26, 659.26, 783.99, 659.26, 587.33, 587.33,

698.46, 587.33, 493.88} ;

int x,y,err,i,ki,key,r,h,c,x1,x2,y1,y2;

char s,str[80]={'K','U','R','S','O','V','A','Y','A',' ','R','A','B','O','T','A'};

initgraph(&dr,&mod," ");

err=graphresult();

if(err){

cout<<"error initgraph"<<grapherrormsg(err);

exit(1);

}

snachala:

cleardevice();

i=7;

x=getmaxx()/2;

y=getmaxy()/2;

setfillstyle(SOLID_FILL,i);

floodfill(x,y,i);

setcolor(4);

outtextxy(400,70,"Press any key for STOP Music");

outtextxy(400,80,"Press 'P' for PLAY Music");

outtextxy(400,90,"Press 'M' for GOTO MENU");

outtextxy(400,100,"Press 'Esc' for exit");

settextstyle(0,0,3);

setcolor(2);

outtextxy(150,15,str);

settextstyle(0,0,2);

setcolor(6);

outtextxy(330,380,"KAFEDRA: EVM");

setcolor(5);

outtextxy(330,420,"SPECIALNOST: VMKSiS");

setcolor(4);

outtextxy(30,380,"VIPOLNIL:");

settextstyle(0,0,1);

setcolor(1);

outtextxy(180,380,"STUDENT FITU 1-2a");

settextstyle(0,0,1);

setcolor(0);

outtextxy(180,390,"XLINTCEV A.G.");

settextstyle(0,0,2);

setcolor(4);

outtextxy(30,420,"PROVERIL:");

settextstyle(0,0,1);

setcolor(1);

outtextxy(180,420,"KOLOMEICEVA T.G.");

settextstyle(0,0,1);

setcolor(0);

outtextxy(180,430,"BELIKOV I.Yu.");

komp(x,y); m1:

for(r=0;r<62;r++)

{

if (kbhit()) break;

i=15;

pomehi(x,y,i);

delay(100);

i=7;

kolonki(x,y,i);

i=0;

kolonki(x,y-10, i);

i=0;

pomehi(x,y,i);

delay(100);

sound(snd[r]/1.5);

if (r==11 ^ r==23 ^ r==27 ^ r==31 ^ r==43) { delay (1500); nosound (); delay (600); }

else if (r==53 ^ r==57 ^ r==61) { delay (300); nosound(); delay (1400); }

else if (r==47) { delay (500); nosound (); delay (700); }

else delay(50);

i=7;

kolonki(x,y-10,i);

i=0;

kolonki(x,y,i);

}

nosound();

setcolor(RED);

m:

s=getch();

if (s==27) exit(1);

if (s=='p') {setfillstyle(SOLID_FILL,0); floodfill(getmaxx()/2,getmaxy()/2,8); goto m1;}

if (s!='m') goto m;

cleardevice();

i=15;

setcolor(i);

setfillstyle(SOLID_FILL,i);

floodfill(x,y,i);

settextstyle(0,0,2);

setcolor(RED);

outtextxy(150,30,"MENU");

settextstyle(0,0,1);

setcolor(2);

outtextxy(20,100,"Zadanie po assembleru #1");

setcolor(3);

outtextxy(20,135,"Zadanie po assembleru #2");

setcolor(4);

outtextxy(20,170,"Zadanie po assembleru #3");

setcolor(5);

outtextxy(20,205,"Zadanie po assembleru #4");

setcolor(6);

outtextxy(20,240,"Zadanie po assembleru #5");

setcolor(0);

outtextxy(20,275,"Zadanie po assembleru #6");

setcolor(8);

outtextxy(20,310,"Zadanie po programmirovaniu");

setcolor(9);

outtextxy(20,345,"Back to previos display");

setcolor(12);

outtextxy(20,380,"Exit");

ki=1; x1=14; y1=95; x2=250; y2=115;

rectangle(x1,y1,x2,y2);

sled:

key=bioskey(0);

switch(key)

{

case 18432:{setcolor(15);

rectangle(x1,y1,x2,y2);

if (y1==95) {y1=375;y2=395; ki=9;}

else {y1=y1-35; y2=y2-35; ki--;}

setcolor(RED);

rectangle(x1,y1,x2,y2);

break;

}

case 20480:

{setcolor(15);

rectangle(x1,y1,x2,y2);

if (y1==375) {y1=95;y2=115; ki=1;}

else {y1=y1+35; y2=y2+35; ki++;}

setcolor(RED);

rectangle(x1,y1,x2,y2);

break;

}

case 7181: switch(ki)

{

case 1: spawnl(P_WAIT, "1.EXE", NULL); break;

case 2: spawnl(P_WAIT, "2.EXE", NULL); break;

case 3: spawnl(P_WAIT, "3.EXE", NULL); break;

case 4: spawnl(P_WAIT, "4.EXE", NULL); break;

case 5: spawnl(P_WAIT, "5.EXE", NULL); break;

case 6: spawnl(P_WAIT, "6.EXE", NULL); break;

case 7: spawnl(P_WAIT, "CPP.EXE", NULL); break;

case 8: goto snachala;

case 9: closegraph(); exit(1);

}

}

goto sled;

}

CPP.CPP

#include<graphics.h>

#include<math.h>

#include<iostream.h>

#include<stdlib.h>

#include<stdio.h>

#include<conio.h>

int sravnenie(long x1,long x2,long y1,long y2,long r1,long r2)

{int d;

d=int(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));

if (d>(r1+r2)) return 1; else return 0;} //1-ne peresekajutsja 0-peresikajutsja

void main()

{char s,otv;

int dr=DETECT, mod, err;

int color[100],KOL,ist;

long x[100],y[100],r[100],l,i,f,k,j,n;

m1:

initgraph(&dr,&mod," ");

err=graphresult();

if(err) {

cout<<"error initgraph"<<grapherrormsg(err);

exit(1);

}

cout<<"Vvedite kol-vo okruzhnostei -> "; cin>>KOL;

randomize();

cleardevice();

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

{

x[i]=random(540)+50;

y[i]=random(320)+80;

r[i]=random(20)+30;

color[i]=random(13)+1;

}

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

{ setcolor(color[i]);

circle(x[i],y[i],r[i]); }

outtextxy(5,5,"Press '1' for vivoda okryzhnostei yedinenih");

outtextxy(5,15,"Press '2' for vivoda okryzhnostei sgrypirovanih po 3");

outtextxy(5,25,"Press 'q' for quit");

m: ist=0;

s=getch();

if (s=='1') {

cleardevice();

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

{ f=0;

for (j=0;j<KOL;j++)

if (i!=j) if (sravnenie(x[i],x[j],y[i],y[j],r[i],r[j])==1) f++;

if (f==KOL-1) {setcolor(color[i]); circle(x[i],y[i],r[i]); ist++;}

}if (ist==0) cout<<"Takix okryzhnostei net\n\n\n\n";

} else

if (s=='2') { cleardevice();

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

for (j=0;j<KOL;j++)

if (i!=j) if (sravnenie(x[i],x[j],y[i],y[j],r[i],r[j])==0)

{ f=0;

for(l=0;l<KOL;l++)

if ((l!=i)&&(l!=j))

if

(sravnenie(x[i],x[l],y[i],y[l],r[i],r[l])==0)||(sravnenie(x[l],x[j],y[l],y[j],r[l],r[j])==0)) {f++; k=l;}

if (f==1)

for (n=0;n<KOL;n++)

if ((n!=k)&&(n!=i)&&(n!=j))

if (sravnenie(x[n],x[k],y[n],y[k],r[n],r[k])==0) f++;

if (f==1)

{setcolor(color[i]);

circle(x[i],y[i],r[i]);

setcolor(color[j]);

circle(x[j],y[j],r[j]);

setcolor(color[k]);

circle(x[k],y[k],r[k]); ist++;}

}

if (ist==0) cout<<"Takix okruzhnostei net\n\n\n\n"; } else

if (s=='q') exit(1); else goto m;

cout<<"Snova? (y,n)"; otv=getch();

if (otv=='y') {closegraph(); goto m1;} else exit(1);

}

Руководство пользователя

При запуске курсовой работы на дисплее появится титульный лист сопровождаемый мелодией и анимацией.

Нажмите :

- любую клавишу для остановки мелодии.

- P для проигрывания мелодии

- M для перехода к МЕНЮ

- ESC для выхода

Перейдите к МЕНЮ для запуска курсовой работы

В МЕНЮ наведите курсор на задание и нажмите ENTER . Запускается задание курсовой работы. Просмотрев результат работы задания, нажимаем клавишу клавишу Q и выходим в МЕНЮ . Для выхода из программы нажимаем – ESC .

При работе с программой могут возникнуть проблемы: программа может не запускаться, и выводить ошибку инициализации графики. Чтобы избежать этого пользователь должен перед запуском программы убедиться в том, что файл EGAVGA . BGI находится в данном каталоге. В каталоге так же должны находится исполняемые файлы KOMP . EXE (Титульный лист) CPP . EXE (Задание по курсовой работе).

Программа нормально работает в операционных системах WindowsXP/NT/2000/98, а так же в MS-DOS'e. В других операционных системах программа не тестировалась.

Список используемой литературы

- Бьерн Страуструп «Язык программирования С++»

- Дейтел и Дейтел «Как программировать на C++»

- Дейтел и Дейтел «Как программировать на C»

- А.Б.Крупник «Изучаем C++»

- В.В.Подбельский «Язык Си++»

- Курс лекций по предмету «Программирование на ЯВУ»

- Методические указания к лабораторным работам по предмету «Программирование на ЯВУ»

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений07:31:07 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:45:05 28 ноября 2015

Работы, похожие на Контрольная работа: Программирование на языке С++

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(151180)
Комментарии (1843)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru