Studopediya

КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Структуриран програмиране. Примери

5.1. Таблица функционални стойности

5.1.1. докато контур

// Пример 7.2.9

// Посочете функциите на таблицата стойност линия, докато

#include <iostream>

# включват <math.h>

използване на пространството от имена STD;

двойно Fx (двойно х);

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

двойно, а, б, ч, х;

съд << "Въведете редица, б разделени от интервал>";

CIN >> на >> В;

съд << "Въведете стъпка з> Change";

CIN >> ч;

съд << "Списък Value" << Endl;

съд << "------------------------" << Endl;

съд << "X: Y" << Endl;

съд << "------------------------" << Endl;

X = A; // Първоначална стойност на параметър на един цикъл

а (х <= б) // състояние контур повторение

{

съд << "" << х << "\ т \ т" << Fx (х) << Endl;

X + = Н; // Променете параметъра цикъл

}

cin.get (); cin.get ();

}

двойно Fx (двойно х) {

двойно Y;

// Y = х * х; // Вид изчислява функция

Y = SQRT (X); // Вид изчислява функция

се върне у;

}

5.1.2. The за контур

// Пример 7.2.10

// Цената на масата на стойностите на един за контур

#include <iostream>

# включват <math.h>

използване на пространството от имена STD;

двойно Fx (двойно х);

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

двойно, а, б, ч, х;

съд << "Въведете редица, б разделени от интервал>";

CIN >> на >> В;

съд << "Въведете стъпка з> Change";

CIN >> ч;

съд << "Списък Value" << Endl;

съд << "------------------------" << Endl;

съд << "X: Y" << Endl;

съд << "------------------------" << Endl;

за (X = а х <= б х + = Н)

съд << "" << х << "\ т \ т" << Fx (х) << Endl;

// За (х = а; х <= б; съд << "" << х << "\ т \ т" << Fx (х) << Endl, х + = з);

cin.get (); cin.get ();

}

двойно Fx (двойно х) {

двойно Y;

// Y = х * х; // Вид изчислява функция

Y = SQRT (X); // Вид изчислява функция

се върне у;

}

5.1.3. Операторите, докато, правя, докато, за, превключвател

// Пример 7.2.11

// Повторете прилагането работи с помощта на линия, докато

// Повторете вход с помощта на направи-линия, докато

// Цената на масата на стойностите на един за контур

// Функция изявление превключвател за избор

#include <iostream>



# включват <math.h>

използване на пространството от имена STD;

ENUM TFunc {Finish, Kvadrat, Kub, Корен, Obratnoe, синусите};

двойно Fx (двойно, TFunc);

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

двойно, а, б, ч, х;

INT V;

// стартирате приложения контур

докато (вярно) {

// Изберете типа на функция - функция на лични

правя

{

съд << "Въведете броя на \ n1-квадрат, 2-куб \
3 кв. корен-4 обратната номер 5-задължително, 0 мощност> ";

CIN >> V;

} Докато (V <Finish || V> синусите);

// Прекратяване Application

ако (V == Finish) {

съд << "Заявлението се попълва!";

cin.get ();

пробие;

}

// Въведете границите на сегмента - лична функция

направя {

съд << "Въведете редица, б разделени от интервал>";

CIN >> на >> В;

} Докато (а> = б);

// Стъпка за въвеждане на климата - лична функция

направя {

съд << "Въведете промените етап Н (0.1-2.0)>";

CIN >> ч;

} Докато (Н <0.1 || H> 2);

// Отпечатване на таблицата с глава

съд << "Списък Value" << Endl;

съд << "------------------------" << Endl;

съд << "X: Y" << Endl;

съд << "------------------------" << Endl;

// Стойности Изходните на масата за функция

за (X = а х <= б х + = Н) {

съд << "" << х << "\ т \ т" << Fx (х, (TFunc) V) << Endl;

}

cin.get ();

}

}

// Функция за изчисляване на настоящата стойност на х

двойно Fx (двойно х, TFunc V) {

двойно Y;

превключвател (V) {

При 1: у = х * х; пробие;

При 2: у = х * х * х; пробие;

Случай 3: Y = SQRT (X); пробие;

При 4: у = 1 / х; пробие;

При 5: Y = грях (х); пробие;

}

се върне у;

}

5.2. Числата на Фибоначи (интересно за)

// Пример 7.2.12

// Намиране на N-тата итерация на числата на Фибоначи

#include <iostream>

използване на пространството от имена STD;

// Typedef неподписан дълго INT ULONG;

typedef дълго двойно ULONG;

ULONG ПИБ (ULONG позиция);

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

ULONG отговор, позиция;

съд << "Числата в последователност:?";

CIN >> позиция;

съд << "\ Н";

отговорим = ПИБ (позиция);

съд << "Стойност на Фибоначи =" << отговор;

cin.get (); cin.get ();

}

ULONG ПИБ (ULONG п) {

ULONG minusTwo = 1, minusOne = 1, отговор = 2;

ако (п <3)

върнете 1;

за (n-= 3; п;, N-) {// п = 0 - лъжа - условие за завършване на цикъла

minusTwo = minusOne;

minusOne = отговор;

отговорим = minusOne + minusTwo;

}

отговоря;

}

5.3. Програмата, работещи под менюто на контролния

// Пример 7.2.13

// Използване на един безкраен цикъл, и изберете от менюто

#include <iostream>

използване на пространството от имена STD;

typedef грозен кратко инт USHORT;

меню USHORT ();

анулира DoTaskOne (); // Тапи бъдещи функции - Мъниче

анулира DoTaskMany (USHORT);

нищожен DoSomeThing ();

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

булев излизане = невярна; // Флаг за завършване на цикъл

докато (вярно) {// безкраен цикъл

USHORT избор = меню ();

превключвател (избор) {

случай (1): DoTaskOne (); пробие;

случай (2): DoTaskMany (2); пробие;

случай (3): DoTaskMany (3); пробие;

случай (4): прекъсване;

случай (5): DoSomeThing (); пробие;

случай (6): DoTaskMany (4); пробие;

случай (7): изход = вярно; пробие;

подразбиране: съд << "Изберете отново \ Н"; cin.get (); пробие;

}

ако (изход == вярно) счупи;

}

cin.get ();

}

меню USHORT () {

USHORT избор;

съд << "**** Menu **** \ н \ Н";

съд << "(1) Избор 1. \ Н";

съд << "(2) Избор 2. \ Н";

съд << "(3) Изборът на 3. \ Н";

съд << "(4) меню Актуализация \ н.";

съд << "(5) Избор DoSomeThing \ н.";

съд << "(6) Изборът на 4. \ н \ Н";

съд << "(7) Exit \ н \ н.";

съд << ":";

CIN >> избор;

върнете избор;

}

нищожен DoTaskOne () {

съд << "Цел 1 За да продължите, натиснете <Enter> \ н!";

cin.get (); cin.get ();

}

нищожен DoSomeThing () {

съд << "DoSomeThing да продължите, натиснете <Enter> \ н!";

cin.get (); cin.get ();

}

анулира DoTaskMany (USHORT които) {

ако (което == 2) съд << "Задача 2 \ н!";

иначе, ако (което == 3) съд << "Задача 3 \ н!";

друг съд << "Задача 4 \ н!";

съд << "За да продължите, натиснете <Enter> \ Н";

cin.get (); cin.get ();

}

5.4. Въведете броя на желаните граници

// Пример 7.2.14

// Повторете при въвеждане на номера от клавиатурата

#include <iostream>

използване на пространството от имена STD;

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

INT възраст, мин = 20, макс = 30;

// Въвеждане на възраст от мин до макс

направя {

съд << "Въведете възраст (" << мин << "-" << макс << ")?" << Endl;

CIN >> възраст;

} Докато (възраст <мин || възраст> макс);

съд << "Възраст:" << възраст << Endl;

cin.get ();

// Въведете възрастта на <мин или> макс

направя {

съд << "Age <" << мин << "или>" << макс << << Endl "?";

CIN >> възраст;

съд << "Възраст:" << възраст << Endl;

cin.get (); cin.get ();

}

// Пример 02.07.15

// Влизане Брой на желания обхват

#include <iostream>

# включват <ctype.h>

# включват <низ>

# включват <conio.h>

използване на пространството от имена STD;

INT GetNumber (инт мин, инт макс);

низ FormString ();

невалидни основни () {

setlocale (LC_ALL, "Руски"); // Да се ​​покаже на руския текст

INT Myint, възраст;

Myint = GetNumber (1,10);

Възраст = GetNumber (20,40);

съд << "Въведете броя:";

съд << Myint << "\ т" << Възраст << Endl;

cin.get (); cin.get ();

}

INT GetNumber (инт мин, инт макс) {

низ ул;

INT стойност;

направя {

съд << "Въведете цяло число от" << мин << "да" << макс << Endl;

ул = FormString ();

стойност = atoi (str.c_str ()); // String превръщане в C ++ число

} Докато (стойност <мин || стойност> макс);

съд << "Въведете броя:" << стойност << Endl;

върне стойност;

}

низ FormString () {

INT ENTER = 13, гл;

низ ул;

докато (1) {

СН = _getch ();

ако (гл == Enter) {

съд << Endl; пробие;

}

ако (isdigit (СН)) {

ул + = (Чар) СН;

съд << (Чар) СН;

}

}

върнете ул;

}

Практически упражнения

1. Каква е стойността на х, след като на за цикъл?
за (INT х = 0, X <100 х ++);

2. Напиши вложени линия за, отпечатване на снимка от 10х10 нули.

3. Напишете цикли за, докато, правя ... а за отпечатване на номерата от 100 до 200 2.

4. Напишете програма за въвеждане на броя на предварително определен интервал от клавиатурата. В случай на извън обхват отново влезе.

5. Напишете програма, за да се изчисли цифрите сума и продуктови въведените от клавиатурата:

а. брой номера предварително въведени от клавиатурата;

б. изчисляване прекратено по искане на програмата.

6. Какво не е наред с следния код?
INT брояч = 0;
докато (брояч <10) {
съд << "брояч:" << брояч;
}

7. Какво не е наред с следния код?
за (INT брояч = 0; брояч <10; conter ++);
съд << "брояч:" << брояч;

8. Какво не е наред с следния код?
INT брояч = 100;
докато (брояч <10) {
съд << "брояч:" << брояч; counter--;
}

9. *** Напишете програма подвижен за параметрите на входния обект (Cat, молив, работник, студент ...) от клавиатурата и ги отпечатва на екрана. Използвайте класове от предишната тема.

10. опции Write 3 ключа, за да се отпечатат имената на дните от седмицата, като се използват различни видове неговите параметри: цяло число, символ и регистрация.

11. Напишете програма, за да се покаже характеристиките на земетресението по скалата на Рихтер, като се използва следната таблица решение

точки особеност
п <5 Лесно, не вреди
5 <= N <5.5 Средна малка фрактура
5.5 <= N <6.5 Сериозно, унищожаване и увреждане на стените
6.5 <= N <7.5 Бедствието, много домове и сгради, повредени
п> 7.5 Бедствието, повечето от къщите и сградите унищожени

12. Напишете програма, за да се определи продължителността на живот на крушката на базата на своята власт с помощта на следната таблица решение.

Мощност W живот Service, часа
40, 60
75, 100
150, 200

13. Какво е неприемливо, и това е логично наред с следния код?
двойно цвят = 1;
превключвател (цвят) {
При 1: съд << "Черно \ Н";
При 2: съд << "White \ Н";
подразбиране: съд << "Други \ Н";
}

Контролен лист

1. Защо изоставен цикли на етикета и Гото оператор?

2. По какъв начин, докато примката?

3. Може ли линия, докато тялото не се изпълнява изобщо?

4. Може докато контур тече завинаги? Как да се избегне това?

5. Може ли състоянието на време цикъл да бъде сложно?

6. Какво правите операторите на пауза и да продължите?

7. Кое твърдение трябва да бъде в рамките на линия, докато (1)?

8. В някои случаи използването цикъл правя ... а?

9. Какви са трите етапа включва цикъл за? Как става това?

10. Може ли за линия, за да се инициализира и променя няколко променливи?

11. Възможно ли е да премине параметри в течение за?

12. Може ли за линия, за да бъде празно?

13. Възможно ли е да се сложат един друг цикъл? Има ли ограничение за това?

14. Какъв тип параметър трябва да бъде изявление ключ?

15. Защо да използваме изявление почивка в ключа на оператор?

16. Какво се случва, ако случай на отчета за превключване е пълна почивка?

17. Защо трябва да преминат, за да вмъкнете в случай на неизпълнение?

18. Има ли ограничение за броя на случаите, в ключа на оператор?

19. Как избирате между структурите, ако / другаде и да преминат?

заключение

В тази лекция бележки на теоретичните и практическите методи за програмиране на C ++ са подчертани.

Целта на ползи - да даде на студентите вярна представа за възможностите на езика C ++ и да ги подготви за по-нататъшно проучване на това, т.е. за развитието на обектно-ориентираното програмиране (ООП).

OOP - методология за разработка на приложения, състояща се от обекти. В основата на създаването на обекти са класове. PLO разрешава прилагане, изпълнение, прилагане и непрекъснато усъвършенстване на огромни софтуерни размер проектите. Разработване и поддържане на тези проекти да си позволят само на големи групи от програмисти. Методите на структуриран програмиране, приложени по-рано, тези проекти се реализират, че е просто невъзможно.

Втората част от бележките на лекция ще бъде посветена на изучаването на обектно-ориентирани функции на C ++, използвайте механизмите на паметта, концепции за съхранение и обработка на голям брой обекти в RAM и външна памет.

Пожелавам на всички успех, за да се научат и да използват езика C ++. Неговото познание ще позволи, ако е необходимо, за да научите бързо на Java език за програмиране и C #, които са произлезли от C ++.


литература

1. Jesse Liberty. Sams Teach Yourself C ++. И 3-ти. М:. Уилямс. - 2000г.

2. G. Shildt. Пълно ръководство за C ++. И 4-ти. - M: Уилямс.. - 2003г.

3. TA Pavlovskaya. C / C ++. Програмиране на високо ниво на езика. Peter-2002

4. SV Glushakov. Работна среща за C ++. FOLIO - 2006

5. Н. Deitel, P. Deitel. Как да програмирате на C ++.

6. Б. Stroustrup на C ++ език за програмиране. Binom 1999

7. Б. Kernighan, Ritchie J., Fyuer А. C език за програмиране. - M: Финанси и статистика, 2000..

8. S. Prata език за програмиране C. Лекции и упражнения: Per. от английски език. / S. Prata. - 5-то изд. - Москва: Williams, 2006 г. - 960 стр.

9. JL Ketkov. Въведение в езиците C и C ++ програмиране
http://www.intuit.ru/department/pl/ccpp/

10. AL Фрийдман. ++ Език за програмиране на C
http://www.intuit.ru/department/pl/cpp/


съдържание

Въведение .. 3

Тема 1: Въведение в C ++. 5

Лекция 1.1. Еволюция на C ++ език. цикъл за разработка на приложения. 5

Лекция 1.2. Работа в Visual Studio. 13

Практически упражнения. 21

Контролен лист .. 22

Тема 2: Компонентите на програмата в C ++. 24

Лекция 2.1. Структурата на една проста програма .. 24

Лекция 2.2. Използване на функции. 36

Практически упражнения. 48

Контролен лист .. 49

Тема 3: Променливи и константи ... 51

Лекция 3.1. Вградени типове данни. 51

Лекция 3.2. Константи синоними тип изброяване. 61

Практически упражнения. 75

Контролен лист .. 76

Тема 4: Операции и изрази .. 78

Лекция 4.1. Математически Оператори и изрази. 78

Лекция 4.2. Логическите оператори и изрази. 93

Практически упражнения. 105

Контролен лист .. 106

Тема 5: функции. 108

Лекция 5.1. Лична и вградени функции. 108

Лекция 5.2. Опции. Стойности по подразбиране. Претоварване. Рекурсия. 130

Практически упражнения. 147

Контролен лист .. 149

Тема 6: Структури. Класове и обекти. 150

Лекция 6.1. Структури в C. 150

Лекция 6.2. Класове отворени данни. 163

Лекция 6.3. Конструкторът и деструктора. Скрива данни. 185

Лекция 6.4. Въведение в библиотеката на клас. 205

Практически упражнения. 213

Контролен лист .. 214

Тема 7: Цикли на възможности за избор. 216

Лекция 7.1. Цикли. 216

Лекция 7.2. Изборът на опции. 228

Практически упражнения. 246

Контролен лист .. 248

Заключение .. 249

Позоваването .. 250

<== Предишна лекция | На следващата лекция ==>
| Структуриран програмиране. Примери

; Дата: 03.01.2014; ; Прегледи: 236; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:



zdes-stroika.ru - Studopediya (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 66.102.9.26
Page генерирана за: 0.068 сек.