МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ. МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К.Э. ЦИОЛКОВКОГО КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Курсовая работа второго курса второго семестра. Руководитель Чернадский Дата сдачи Подпись Студент
Лицентов Д.Б. Группа 3ИТ-2-26 Москва 1998 Постановка задачи. Необходимо реализовать список вида Техническое описание программы. В программе предусмотрена работа со списком, которая включает в себя 1. Создание нового вписка 2. Добавление элемента в список 3. Вывод списка на дисплей 4. Сохранение данных списка в файл 5.
Читение данных из файла 6. Удаление списка из памяти компьютера 7. Поиск элемента в списке 8. Сортировка списка 9. Удаление элемента списка. Спецификация программы. Ввод данных в программу может осуществляться двумя спосабами ввод с клавиатуры или из файла. Для работы с файлом необходимо на соответствующий запрос программы ввести имя файла, из которого будут взяты данные для построения списка.
Для нормальной работы программы требуется PC совместимый компьютер и компилятор Borland 3.01 и выше. При использование иного сочетая характеристик системы на которой будет тестироваться программа возможны некоторые расхождения с результатами теста, но в основном ничего страшного произойти не должно. Текст программы. include iostream.h include fstream.h class List struct Tree int Body Tree LP Tree RP Treeint Bdy0
BodyBdy LPNULL RPNULL Tree Body0 LPNULL RPNULL public Listint Digit0 Tree Root List LNext List LPrev ListListint Digit RootNULL for int iDigit10 i Digit1010 i Tree PTree PTreenew Treei PTree- LPNULL PTree- RPNULL if RootNULL RootPTree else Tree PTree1Root do if PTree1-
LPNULL PTree1PTree1- LP while PTree1- LPNULL PTree1- LPPTree PTreeNULL PTree1NULL class TreeWork private List public void TreeWorkStart private int ElementQuantity int Mass int i List BegP List PList int MainMenu int Workint Task int MakeNewList int AddElements int PrintList void
EraseList int DeleteElement int FindElement int SubMenu int SubWorkint Task int SortByIncrease int SortByDecrease int SaveList int OpenList protected void GoThroughTreeTree L void EraseTree L int TreeWorkMainMenu cout endl Main Menu endl endl cout 1. Make New List. endl cout 2.
Add Element. endl cout 3. Print List. endl cout 4. Delete Element. endl cout 5. Save List. endl cout 6. Erase List. endl cout 7. Open File. endl cout 8. Find Element. endl cout 9. Sort List. endl cout 0. Exit. endl cout endl Your choice int i do cin i if i 0 i 9 cout endl Error
Try again while i 0 i 9 return i int TreeWorkSubMenu cout endl Sub Menu endl cout 1. Sort list by increase. endl cout 2. Sort list by decrease. endl endl int i cout Your choice do cin i if i 1 i 2 cout endl Error Try again while i 1 i 2 return i int TreeWorkSubWorkint Task switch Task case 1 Increase case 2
SortByDecrease break Decrease return 0 int TreeWorkWorkint Task switch Task case 1 ElementQuantityMakeNewList break Make New List case 2 ElementQuantityAddElements break Add Element case 3 PrintList break Print List case 4 DeleteElement break Delete Element case 5 SaveList break
Save List case 6 ElementQuantity0 EraseList break Erase List case 7 OpenList break Open File case 8 FindElement break Find Element case 9 SubWorkSubMenu break Sort List case 0 EraseList return -1 Exit return 0 void TreeWorkTreeWorkStart ElementQuantity0 do while WorkMainMenu-1 int TreeWorkMakeNewList if
BegPNULL cout endl You have existing list return 0 int Quant cout endl Input quantity of elements do cin Quant if Quant 1 cout endl Error Try againt while Quant 1 for int i0 i Quant i cout endl Input digit int Digit cin Digit PListnew ListDigit if BegPNULL BegPPList BegP- LNextBegP BegP-
LPrevBegP PListNULL else List PList1BegP- LPrev if PList1BegP BegP- LNextPList BegP- LPrevPList PList- LNextBegP PList- LPrevBegP PListNULL PList1NULL else BegP- LPrevPList PList1- LNextPList PList- LNextBegP PList- LPrevPList1 PListNULL PList1NULL return Quant int
TreeWorkAddElements if BegPNULL MakeNewList return 0 int Quant cout endl Input quantity of elements do cin Quant if Quant 1 cout endl Error Try again while Quant 1 for int i0 i Quant i cout endl Input digit int Digit cin Digit PListnew ListDigit List PList1BegP- LPrev if PList1BegP BegP-
LNextPList BegP- LPrevPList PList- LPrevBegP PList- LNextBegP PList1NULL PListNULL else BegP- LPrevPList PList- LNextBegP PList- LPrevPList1 PList1- LNextPList PListNULL PList1NULL return Quant int TreeWorkPrintList if BegPNULL cout endl The list is empty endl return -1 cout endl
Total elements ElementQuantity endl PListBegP int i1 do cout endl i element endl GoThroughTreePList- Root cout endl i PListPList- LNext while PListBegP return 0 void TreeWorkGoThroughTreeTree L Tree PLL, PL1 if PL- LPNULL PL1PL PLPL- LP cout PL1- Body , PL- Body GoThroughTreePL if PL- RPNULL PL1PL
PLPL- RP cout PL1- Body , PL- Body GoThroughTreePL void TreeWorkEraseTree L Tree PLL if PL- LPNULL PLPL- LP ErasePL if PL- RPNULL PLPL- RP ErasePL PL- LPNULL PL- RPNULL void TreeWorkEraseList if BegPNULL do List PList1BegP- LNext PListPList1- LNext BegP- LNextPList
PList- LPrevBegP ErasePList1- Root delete PList1 while PListBegP BegPNULL PListNULL int TreeWorkDeleteElement cout endl Input number of element int Number0 cin Number if Number ElementQuantity Number 0 cout endl Error return -1 Number PListBegP for int i0 i Number i PListPList-
LNext List PList1PList- LNext, PList2PList- LPrev if PListBegP PList1- LPrevPList2 PList2- LNextPList1 PList- LNextNULL PList- LPrevNULL delete PList BegPPList1 PList1NULL PList2NULL else PList1- LPrevPList2 PList2- LNextPList1 PList- LNextNULL PList- LPrevNULL delete
PList PList1NULL PList2NULL ElementQuantity return 0 int TreeWorkFindElement cout endl Input number, you want to find int Number0 cin Number PListBegP do Tree PTPList- Root if Number PT- Body Number PT- Body10 cout endl Element with this number endl GoThroughTreePList- Root PListNULL cout endl return 0
PListPList- LNext while PListBegP cout endl There arent such number in list endl PListNULL return -1 int TreeWorkSortByIncrease ifBegPNULL cout endl Error endl return -1 List PList1BegP PListBegP do do if PList1- Root- Body PList- Root- Body Tree PT PTPList1- Root PList1- RootPList- Root PList- RootPT PTNULL PList1PList1-
LNext while PList1BegP PListPList- LNext while PListBegP return 0 int TreeWorkSortByDecrease ifBegPNULL cout endl Error endl return -1 List PList1BegP PListBegP do do if PList1- Root- Body PList- Root- Body Tree PT PTPList1- Root PList1- RootPList- Root PList- RootPT PTNULL PList1PList1- LNext while
PList1BegP PListPList- LNext while PListBegP return 0 int TreeWorkSaveList if BegPNULL cout endl The list is empty endl return -1 ofstream F char FileNamenew char25 cout endl Input file name cin FileName F.openFileName PListBegP do i0 MassPList- Root- Body PListPList- LNext if PListBegP F Mass endl else
F Mass while PListBegP F.close delete FileName return 0 int TreeWorkOpenList if BegPNULL cout endl The list is alredy exist endl return -1 cout endl Input file name char FileNamenew char25 cin FileName ifstream f ElementQuantity0 f.openFileName char Next Nextf.peek while NextEOF f Mass PListnew ListMass10 if BegPNULL BegPPList
BegP- LNextBegP BegP- LPrevBegP PListNULL else List PList1BegP- LPrev if PList1BegP BegP- LNextPList BegP- LPrevPList PList- LNextBegP PList- LPrevBegP PListNULL PList1NULL else BegP- LPrevPList PList1- LNextPList PList- LNextBegP PList- LPrevPList1 PListNULL PList1NULL
Nextf.peek ElementQuantity f.close delete FileName return 0 TreeWork TW void main TW.TreeWorkStart Результаты работы программы. Начало работы Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort
List. 0. Exit. Your choice Для создания списка выбираем пункт 1 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 1 Input kol-vo of elements Вводим количество элементов в списке предположим 4
Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 1 Input kol-vo of elements 4 Input digit Успешное завершение ввода списка Input kol-vo of elements 4
Input digit 1 Input digit 2 Input digit 3 Input digit 4 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice После ввода списка попадаем в главное меню где выбираем пункт добавления элемента
Input digit 1 Input digit 2 Input digit 3 Input digit 4 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 2 Input kol-vo of elements Программа просит ввести количечтво элементов которое мы хотим
добавит к нашему списку. Вводим 1 для примера Input digit 2 Input digit 3 Input digit 4 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 2 Input kol-vo of elements 1
Input digit Далее происходит ввод списка как было описано выше. После удачного завершения добавления элемента в список мы вновь попадаем в главное меню, где выбираем пункт вывода списка на экран монитора 1 element 1234 2 element 2345 3 element 3456 4 element 4567 5 element 2345 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6.
Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice Быстро проскользнув мимо Ваших глаз непонятные данные вы снова попадаете в главное меню, где выбираете пункт удаление элемента 2 element 2345 3 element 3456 4 element 4567 5 element 2345 Main Menu 1. Make New List. 2. Add Element. 3. Print
List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 4 Input number of element 5 После чего элемент с введнным номером удален. После удачного завершения удаления элемента Вы снова попадаете в главное меню, где выбираете пункт сохранение списка Main Menu 1. Make New List. 2. Add
Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 5 Input file name demon13.txt После ввода имени файла данные из списка попадают на диск. И вы снова в главном меню, где выбираете удаление списка 5.
Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 5 Input file name demon13.txt Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit.
Your choice 6 После чего все данные в списке безвозвратно умирают и Вы опять у главного списка, и выбираете Вы открыть файл 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 6 Main Menu 1. Make New List. 2. Add Element. 3. Print List. 4. Delete
Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 7 Input file name demon13.txt После чего ваш список оживает и не надо и - лучше продолжим Вы в главном меню и Вы выбираете найти элемент Main Menu 1. Make New List. 2. Add Element. 3. Print List.
4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 8 Input number, you want to find 2 The first element that we fined out 1234 Вы вводите то что хотели найти и находите в строчке Х. Главное менюСортировка Main Menu 1. Make New List.
2. Add Element. 3. Print List. 4. Delete Element. 5. Save List. 6. Erase List. 7. Open File. 8. Find Element. 9. Sort List. 0. Exit. Your choice 9 Sub Menu 1. Sort list by increase. 2. Sort list by decrease. Your choiceТу мы можем сортировать по возрастанию или убыванию ведь у человека всегда должен быть выбор. После сортировки Главное менюВыход
Вс программа завершилась успешно А поскольку эти тесты никто не читает, то можно сказать что компьютеры в нашем институте сделаны из дуба. МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ. МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ им. К.Э. ЦИОЛКОВКОГО КАФЕДРА ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ Лаботраторные работы второго курса второго семестра. Руководитель Чернадский Дата сдачи Подпись Студент Лицентов Д.Б. Группа 3ИТ-2-26 Москва 1998 Лабораторная работа номер 1 Задание вывести значение функции sinhxsinx и е производно на интервале от А до Б в десяти точках. Значения производной функции должно считаться двумя способами первое прямым
вычислением и второе в помощью рядов. Значение производной функции должно считаться до машинного нуля. Текст программы. include iostream.h include math.h double functiondouble x return sinhxsinx double dirdouble x return coshxsinx-cosxsinhxsinxsinx double derives double f double,функция double x,массив значений иксов double k, кол-во точек на интервале в которос берется производная double D,массив дельта double a,граница отрезка double bграница отрезка x new double 10
D new double 10 double pr new double10 double s 0 for int i0i 10i xi sa s b-ak as double d sдельта int m 0 double dpred,fpred,f00 do d d 2 fpred f0 f0 -fxifxidd m while f0fpredm 100вычисляем до машинного нуля Didpredмассив значений дельта prifpredзначения производной cout n x i xi t fpred t dirxi t Di cout t m return pr void mainvoid double a , b , x , D, fdoublefunction,result int i do i0 cout Input a cin a cout
Input b cin b if a b cout Input a b i1 while i1 result derivesfunction,x,10,D,a,b Результаты работы. Input a1 Input b5 x0 1 0.93704 0.937041 3.9346e-311 33 x1 1.8 3.895777 3.895777 3.9346e-311 53 x2 2.12 7.899375 7.899994 3.9346e-311 39 x3 2.408 17.496182 17.496226 3.9346e-311 33 x4 2.6672 46.255806 46.383292 3.9346e-311 43 x5 2.90048 203.810226 192.558503 3.9346e-311 47 x6 3.110432 11886.359648 11886.359648 3.9346e-311 51 x7 3.299389 454.965295 454.757697 3.9346e-311 43 x8 3.46945 96.558946 96.562709 3.9346e-311 36 x9 3.622505 36.997996 36.99798 3.9346e-311 32
Сперва прога просит ввести интервал. Далее вывоти плоды своей работы - первый столбик номер эксперимента - второй столбук - значение финкйии - третий столбик значение которое получается напрямую - четвртый столбик - значение которое получается вычислением с помощью рядов - пятый столбик машинный ноль - шестой столбик - количество итераций которое было необходимо для вычисления производной функции до машинного нуля. Лабороторная работа 2 Задание написать программу которая просит ввести строку, нарезает эту строку
на подстроки и выводит их в обратном порядке. Текст программы. include iostream.h include string.h include stdlib.h class stroka char ch int len friend int operator stroka a , stroka b friend stroka Friend0stroka c friend istream operator istream in, stroka a friend ostream operator ostream out, stroka a public strokaint N80 ch new char N ch00 stroka const char s int j0 while chj ch new charlen chlen 0 len for int i0i leni chi si void string1void int j0 while chj len j-1 stroka delete ch void main stroka
s0,s1 cin s0 s0.string1 cout n Friend0s0 stroka Friend0stroka c stroka GodDameMotherF1 stroka GodDameMotherF2 stroka GodDameMotherF GodDameMotherF1 new strokac.len GodDameMotherF2 new strokac.len GodDameMotherF new strokac.len int i0,j0,k-1,h0,g0,f0 fori0i c.leni ifc.chi c.chi.c.chi1 c.chi-1 cout c.chi tI won k j0 g0 forkk ik ifc.chk cout c.chk GodDameMotherF10.chjc.chk
GodDameMotherF20.chgc.chk h forf0f gfcout GodDameMotherF20.chf cout n int s,s1 forint did c.lend s10 forf0f gf s0 ifGodDameMotherF20.chfc.chdf cout I won s1 ifs0s11 ifs10GodDameMotherF20.chf1 cout I won forint a0a gacout GodDameMotherF20.cha return GodDameMotherF int operator stroka a,stroka b int k0 a.string1 b.string1 if a.lenb.len k else for int i0i a.leni if a.chib.chi k break return k istream operator istream in,stroka
A cout ntInput string in.getlineA.ch,80,n return in ostream operator ostream out,stroka A out A.ch return out Результат работы. Input string demon13 13 mon de Лабораторная работа 3 Написать программу с наследованием классов и виртуальными функциями. Текст программы. include iostream.h class complex public double x,y virtual void fun int x0, int y00 class Whatthehellwegot public complex public void fun int x, int y cout n
Whatthehellwegot x t y class Plus public complex public void fun int x0, int y0 cout n Plustxy xy class Umnojinia public Whatthehellwegot public void fun int x cout n Umnojiniatxx xx class xz public Plus , public Umnojinia public void fun int x cout n Xzublattx3 xxx void main void Whatthehellwegot D, pcom1 Plus C2, pc2 C2 int k,x cin x k pcom1 - funk,x pc2 - fun k,x
Umnojinia C3, pc3 C3 pc3 - fun x pcom1pc3 pcom1- funk,x xz C4, pc4 C4 pc4 - fun x Результаты работы 3 4 Whatthehellwegot 4 3 Plus xy 7 Umnojinia xx 9 Whatthehellwegot 4 3 Xzubla x3 27 Вводим два числа и смотрим что получится при сложение умножении или возведение в третью степень.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |