Ievadlekcija. Программирование на языке С++ презентация

Содержание

Literatūra https://en.wikibooks.org/wiki/C%2B%2B_Programming https://en.wikibooks.org/wiki/C%2B%2B_Programming/Examples http://www.cplusplus.com/doc/tutorial http://www.tutorialspoint.com/cplusplus/cpp_overview.htm http://en.cppreference.com/w/Main_Page https://isocpp.org/images/uploads/2-Tour-Basics.pdf http://www.engin.umd.umich.edu/CIS/course.des/cis400/ - visas valodas http://home.lu.lv/~janiszu/courses/ecpp/cpp01.introduction.pdf https://www.gamedev.lv/article/c_pamati

Слайд 1© Autors: V. Vagale 2004-2016
Ievadlekcija


Слайд 2Literatūra
https://en.wikibooks.org/wiki/C%2B%2B_Programming
https://en.wikibooks.org/wiki/C%2B%2B_Programming/Examples
http://www.cplusplus.com/doc/tutorial
http://www.tutorialspoint.com/cplusplus/cpp_overview.htm
http://en.cppreference.com/w/Main_Page
https://isocpp.org/images/uploads/2-Tour-Basics.pdf
http://www.engin.umd.umich.edu/CIS/course.des/cis400/ - visas valodas

http://home.lu.lv/~janiszu/courses/ecpp/cpp01.introduction.pdf
https://www.gamedev.lv/article/c_pamati


Слайд 3Literatūra
Уильям Топп, Уильям Форд, Структуры данных в C++, "Бином" · 1999

г. · 816 стр.
Шмидский Я.К. Программирование на языке C++. Самоучитель, 2004. 368 стр.
Страуструп Б.: Язык программирования C++. Спец. изд. BINOM 1999. 1104 стр.
Харбисон C.П., Стил Г.Л. Язык программирования C, 528 стр.
Крупник А.Б. Изучаем C++ СПб.: Питер, 2003. — 251 с.: ил
Крупник А. Изучаем Си СПб.: Питер, 2002.— 256 с.: ил.

Слайд 4Literatūra
Роберт Седжвик Фундаментальные алгоритмы на C++. Части 1-4. Анализ. Структуры данных.

Сортировка. Поиск: ДиаСофт, 2002 г. Твердый переплет, 688 стр.
Роберт Седжвик, Фундаментальные алгоритмы на С. Части 1-4. Анализ. Структуры данных. Сортировка. Поиск "ДиаСофт ЮП" · 2003 г. · 672 стр.
Майкл Мейн, Уолтер Савитч Структуры данных и другие объекты в C++ 2-е издание: Вильямс 2002, 832 стр.

Слайд 5Literatūra
Пол И. Объектно-ориентированное программирование с использованием С++. - К: ДиаСофт, 1995
Шилдт

Г. Теория и практика С++. - СПб.: BHV, 1996
Подбельский В.В. Язык Си++: Учебное пособие. - М.: ФиC, 1996
Р. Лафоре. Объектно-ориентированное программирование в С++. — СПб: ПИТЕР, 2003 г. — 928 с.
Мейерс С. Эффективное использование С++. - М: ДМК, 2000
Элджер Д. С++: Библиотека программиста. - CПб.: Питер, 1999
Голуб А.И. С и С++. Правила программирования. М: БИНОМ, 1996
Аммерааль Л. STL для программистов на С++. - М: ДМК, 2000.
Дж. Коплиен. Программирование на С++ . — СПб: ПИТЕР, 2005 г. — 479 с.

Слайд 6Literatūra
Павловская Т.А. C/C++. Программирование на языке высокого уровня. — CПб.: Питер,

2001, 2003.
Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум. — СПб: ПИТЕР, 2002.
Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование: Практикум. — СПб: ПИТЕР, 2004.
Саттер Г. Решение сложных задач на C++. Серия C++ In-Depth, т.4. — Москва: Издательский дом «Вильямс», 2002 г. — 400 с.
Александреску А. Современное проектирование на С++. Серия C++ In-Depth, т.3. — Москва: Издательский дом «Вильямс», 2002 г. — 336 с.
Кениг Э., Му Б. Эффективное программирование на С++. Серия C++ In-Depth, т.2. — Москва: Издательский дом «Вильямс», 2002 г. — 384 с.

Слайд 7Literatūra
Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования.

Паттерны проектирования. — СПб: ПИТЕР, 2001 г. — 368 с.
Влиссидес Дж. Применение шаблонов проектирования. Дополнительные штрихи. — Москва: Издательский дом «Вильямс», 2003 г. — 144 с.
Шаллоуей А., Тротт Д. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. — Москва: Издательский дом «Вильямс», 2002 г. — 288 с.
Штерн В. Основы С++. Методы программной инженерии. — Москва: ЛОРИ, 2003 г. — 860 с.
В. Лаптев. С++. Экспресс-курс. — СПб: БХВ-Петербург, 2004 г. — 512 с.
Б. Эккель. Философия С++. — СПб: ПИТЕР, 2004 г. — 572 с.

Слайд 8Literatūra
К. Бек. Экстремальное программирование. — СПб: ПИТЕР, 2002.
К. Бек, М. Фаулер.

Экстремальное программирование. Планирование. — СПб: ПИТЕР, 2003 г. — 144 с.
К. Ауэр, Р. Миллер. Экстремальное программирование. Постановка процесса. — СПб: ПИТЕР, 2003 г. — 368 с.
К. Лоудон. С++. Краткий справочник. — СПб: ПИТЕР, 2004 г. — 220 с.
С. Уэллин. Как не надо программировать на С++. — СПб: ПИТЕР, 2004 г. — 240 с.
С. Макконнелл. Совершенный код. — СПб: «Питер», 2005. — 896 с.
Стандарт С++: INTERNATIONAL ISO/IEC STANDARD 14882 1998-09-01, 2003

Слайд 10Saturs
C++ rašanās vēsture;
Komentāri;
Piešķire;
Datu izvads.


Слайд 11Programmēšanas valodas
www.tiobe.com
https://en.wikipedia.org/wiki/List_of_C-family_programming_languages




https://www.levenez.com/lang/


Слайд 12C valodu saime


Слайд 14C valoda
Valoda C++ ir izcēlusies no valodas C, kuru (1970) 1972.

gadā izstrādājis AT&A Bell Laboratories līdzstrādnieks Deniss Ričijs (Dennis Ritchie).
C valodai par pamatu tika izmantotas B, BCPL, ALGOL 68 prog. val.

Dennis Ritchie (right) with Ken Thompson

Valodas C sākotnējais uzdevums bija operētājsistēmas UNIX veidošanai un uzturēšanai.
Tomēr šī valoda kļuva ļoti populāra un to sāka izmantot lietojumprogrammu izstrādei, kā arī citās operētājsistēmās.
Valoda C uzskatāma par kaut ko, kas ir pa vidu starp ļoti augsta un zema līmeņa programmēšanas valodām.
Kaut arī sistēmprogrammu rakstīšanai C uzskatāms par ļoti piemērotu, tomēr lietojumprogrammatūras izstrādē valodai C piemīt vairāki trūkumi – tajā rakstītās programmas nav tik viegli uztveramas un saprotamas kā citu augsta līmeņa programmēšanas valodu programmas, turklāt tajā nav daudzu iebūvētu automātiskās pārbaudes iespēju (resp.,augsta līmeņa konstrukciju) kā pierasts daudzās citās valodās.

https://lv.wikipedia.org/wiki/Deniss_Ri%C4%8Dijs


Слайд 15C++ vēsture
Lai kompensētu valodas C nepilnības, 20. gs. 70. gadu beigās

– 80. gadu sākumā AT&A Bell Laboratories līdzstrādnieks Bjerns Stroustrups (Bjarne Stroustrup) izstrādāja programmēšanas valodu C++, kas daudzos gadījumos ir izrādījusies labāka par savu priekšteci.
1983 C++1983 C++ Stroustrup C with Classes
Tajā ieviestas daudzas augsta līmeņa konstrukcijas, kas atvieglo programmētāja darbu.
Bez tam C++ ir saglabājis savietojamību ar valodu C (lielākā daļa C programmu ir arī C++ programmas), kas savulaik visticamāk bija izšķiroši, lai C++ iegūtu savu plašo pielietojumu un popularitāti.

https://en.wikipedia.org/wiki/Bjarne_Stroustrup


Слайд 16Standartizēšana
ISO International Standard ISO/IEC 14882:2014(E) – Programming Language C++

https://isocpp.org/std/the-standard


Слайд 17OS platformu atbalsts

http://ithare.com/mmog-server-side-programming-languages/


Слайд 18C++ ievads
C++ improves on many of C’s features.
C++ provides object-oriented programming

(OOP).
C++ is a superset to C.
No ANSI standard exists yet (in 1994).

Слайд 19C++ programmas failu struktūra
Programma valodā C++ sastāv:
no viena vai vairākiem C++

failiem (faila paplašinājums parasti .cpp vai .cc),
kā arī iespējami no citiem failiem, no kuriem tipiskākie ir t.s. hedera (jeb galvas) faili (faila paplašinājums .h).
Tātad, triviālā C++ programma sastāv no viena C++ faila.

Слайд 20C++ programmas kompilēšana un palaišana
Programmas rakstīšanas mērķis parasti ir iegūt izpildāmu

moduli (piemēram .exe failu), kas veic noteiktas darbības.
Lai no programmas iegūtu izpildāmo moduli, nepieciešams kompilators.

Слайд 21Kompilators
Kompilators (compiler) ir datorprogramma, kas pārveido noteiktā programmēšanas valodā uzrakstītu programmu

par izpildāmu moduli (vispārīgā gadījumā – par programmu mašīnkodā, tādu, kuru dators var tiešā veidā izpildīt).


Слайд 22Izpildāma moduļa iegūšana no C++ programmas vispārīgā gadījumā


Слайд 23Izpildāmā moduļa iegūšanas fāzes
1. fāze. Kompilēšana. Katram C++ failam tiek uzbūvēts

atbilstošs objektu fails (faila paplašinājums parasti .obj vai .o), kopumā veidojot objektu kodu;
2. fāze. Linkošana. No iegūtā objektu koda, kā arī citu programmu, t.sk. standarta bibliotēku objektu koda tiek izveidots gala produkts – izpildāmais kods (izpildāmais modulis vai moduļi).
Pilnu izpildāmā koda iegūšanas procesu mēdz saukt arī par uzbūvēšanu (build), tomēr sarunu valodā, tiek lietots termins kompilēšana.
Abas izpildāmā koda uzbūvēšanas fāzes parasti tomēr veic viens un tas pats kompilators.

Слайд 24Izstrādes vides
Programmas failu organizāciju, kā arī pareizu kompilatora un citu palīgprogrammu

izsaukšanas secību izpildāmā koda iegūšanai parasti nodrošina izstrādes vide, piemēram:
wxDev-C++ (http://wxdsgn.sourceforge.net/),
Microsoft Visual C++,
Borland C++,
Anjuta,
C++ Editor 1.7 (free),
Eclipse IDE for C/C++ Developers (http://www.eclipse.org/downloads/moreinfo/c.php),
NetBeans IDE 6.9 (http://netbeans.org/features/cpp/),
Izmantojot projektu (project) mehānismu, tādējādi programmētājs var abstrahēties no šīs shēmas un “ar vienas pogas spiedienu” nonākt no programmas līdz rezultātam.
Otrs bieži lietots variants programmas izpildāmā koda uzbūvēšanai, kas īpaši izplatīts Unix/Linux platformās, ir t.s. make mehānisms.
https://isocpp.org/get-started

Слайд 25Rezervētie vārdi I


Слайд 26Rezervētie vārdi II


Слайд 27Rezervētie vārdi III


Слайд 28Rezervētie vārdi IV


Слайд 29Rezervētie vārdi V


Слайд 30Valoda ir reģistrjūtīga
Very important: The C++ language is "case sensitive", that

means that an identifier written in capital letters is not equivalent to another one with the same name but written in small letters.
Thus, for example the variable RESULT is not the same as the variable result nor the variable Result.

Слайд 31C++ programmas vienkāršota struktūra


Слайд 32Programmas struktūra
#include
using namespace std;

int main ()
{
cout

endl;
return 0;
}

Слайд 33Bibliotēku piesaiste
1. #include

2. #include
using namespace std;

3. #include


std::cout << "Hello, world!" << endl;

4. #include vai #include



Слайд 34Funkcija
int main ()
{


return 0;
}


Слайд 35Komentāri
In C,
/* This is a single-line comment. */

In C++,
// This is

a single-line comment.


Слайд 36Komentāra piemērs
/********************************************************
**
** Programma “Hello, World”
** Izveidota 2007.04.05.
** Labota 2007.04.09.
** Autors Mr.

X
**
********************************************************/

Слайд 37Programma 1
// mana pirmaa programma C++

#include
using namespace std;

int main ()
{
cout

<< "Hello World!";
return 0;
}

Слайд 38Programma 1
// mana pirmaa programma C++

#include
using namespace std;

int main ()
{

cout << "Hello World!";
system("Pause");
return 0;
}

Слайд 39Programma 1
// mana pirmaa programma C++

#include
using namespace std;

int main ()
{

cout << "Hello World!";
system("Pause>>nul");
return 0;
}

Слайд 40Programma ar komentārijiem I
/* my second program in C++ with more

comments */
#include
using namespace std;

int main ()
{
cout << "Hello World! "; // says Hello World!
cout << "I'm a C++ program"; // says I'm a C++ program
system("Pause>>nul");
return 0;
}

Слайд 41Programma ar komentārijiem II
/* my second program in C++
with more

comments */

#include
using namespace std;

int main ()
{
cout << "Hello World! “<cout << "I'm a C++ program\n"; // says I'm a C++ program
cout << “Two lines”;
system("Pause>>nul");
return 0;
}

Слайд 42ESC sekvences


Слайд 43Mainīgo deklarēšana
Mainīgā deklarācija ietver šādas informācijas uzrādīšanu par mainīgo:
mainīgā tips,
mainīgā vārds,
sākuma

vērtība (neobligāti).
Mainīgā deklarēšanu veic deklarators.
Ar vienu šādu konstrukciju var deklarēt vienu vai vairākus viena tipa mainīgos.
Mainīgo deklarēšanu var veikt jebkurā programmas vietā, galvenais, lai tas notiktu pirms pirmās šo mainīgo izmantošanas.

Слайд 44Datu tipa struktūra


Слайд 45Valodas C++ datu pamattipi


Слайд 46Datu tipi
vienkāršie
(pamattipi jeb elementārie)

saliktie
(sarežģītie jeb struktūras)
veselie skaitļi
daļskaitļi
simboli
statiskie
dinamiskie
ieraksts
masīvs
kopa
saraksts
koks
masīvs
(int)
(float)
(char)
Datu tipu iedalījums


Слайд 47C valodas 4 datu tipu specifikatori


Слайд 48Tipu specifikatori


Слайд 49Datu tipu tabula


Слайд 500
+
32 bitu procesoram
Datu tipu vērtību diapazons


Слайд 51+
Datu tipu vērtību diapazons


Слайд 520
+
signed char = char
-
unsigned char

byte
1 = sizeof(char) ≤ sizeof(short) ≤ sizeof(int)

≤ sizeof(long) ≤ sizeof(float) ≤ sizeof(double) ≤ sizeof(long double)


ANSI C

Datu tipu vērtību diapazons


Слайд 53Deklarators
Deklarators (declarator) ir konstrukcija, kas paziņo, ka noteikts programmas elements (visbiežāk

mainīgais) tiks izmantots programmā.

Слайд 54Piešķiršanas priekšraksts
Piešķiršana (assignment) ir vērtības ierakstīšana mainīgajā.
Piešķiršanu veic piešķiršanas priekšraksts (assignment

statement), kas ietver sevī piešķiršanas operatoru (vienlīdzības zīmi).
Piemēri:
x = 5;
x = y = z;
x = (y + z) * 5;
arr[x] = sqrt(y);

Слайд 55Mainīgo deklarēšanas piemēri
int x;
int x1, x2;
double d;
double e=2007;
int m=7, n=5;
int p=-1,

q, r=89;
string s = "Hello, World!";
char v, w='X';

Слайд 56Programma 2
// operating with variables
#include

int main ()
{
// declaring variables:

int a, b;
int result;

// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;

// print out the result:
cout << result;
system("pause>>nul");

// terminate the program:
return 0;
}


Слайд 57Programma 3
// i/o example
#include

int main ()
{
int i;
cout

"Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i;
cout << " and its double is " << i*2 << ".\n";
return 0;
}

Слайд 58Mainīgā izmēra noteikšana
int x;
cout


Слайд 59Tipu pārveidošana
int i=66;
char c;

c = 65;
cout

(char)i << endl;

Слайд 60Papildus operatori tipa pārveidošanai
const_cast
dynamic_cast
reinterpret_cast
static_cast

Nodrošina dažādas pārbaudes.
Tipa pārveidošanas operators const_cast domāts, lai

pārdefinētu modifikatorus const vai volatile, bet citādi tips paliktu tāds pats.
Operators dynamic_cast pārbauda, vai ir iespējama norādītā tipa pārveidošana.
Operators reinterpret_cast domāts viena tipa pārveidošanai par pilnīgi citu un būtu uzskatāms par vistuvāko klasiskajam variantam. Parasti šo operatoru lieto, lai pārveidotu savstarpēji nesaderīgus norādes tipus.

Слайд 61Piemērs pārveidošana tipā char
(char)i
reinterpret_cast (i)


Слайд 62Izteiksmes


Слайд 63Darbības (operācijas)
Aritmētiskās
+ - * / %
Bitu līmeņa (bitwise) operācijas
, |,

&, ^, ~

Слайд 64Skaitliskās funkcijas
pow()
float pow (float base, float p);
Funkcija pow() atgriež vērtību,

ko iegūst, argumentu base kāpinot pakāpē p.
ceil()
float ceil (float num);
Funkcija ceil() atgriež mazāko veselo skaitli, kas lielāks vai vienāds par argumentu num
(noapaļošana uz augšu). Jāievēro, ka atgriežamā vērtība ir ar tipu “ar peldošo komatu”, tāpēc, lai noapaļoto vērtību piešķirtu mainīgajam ar vesela skaitļa tipu, papildus jāveic tipa
pārveidošana, piemēram, a = (int)ceil

Слайд 65
floor()
float floor (float num);
Funkcija floor() atgriež lielāko veselo skaitli, kas mazāks

vai vienāds par argumentu num
(noapaļošana uz apakšu). Papildus īpašības sk. pie funkcijas ceil apraksta.
round()
float round (float num);
Funkcija round() atgriež noapaļotu argumenta num vērtību. Papildus īpašības sk. pie funkcijas
ceil apraksta.
sin, cos, tan, asin, acos, atan, sinh, cosh, tanh
float sin (float arg);
Funkcijas sin() u.c. realizē attiecīgās trigonometriskās funkcijas vai to hiperboliskos variantus. Argumenta vērtība tiek mērīta radiānos.

Слайд 66
exp()
float exp (float arg);
Funkcija exp() atgriež argumenta arg eksponenti (skaitļa e

kāpinājumu pakāpē arg).
log()
float log (float arg);
Funkcija log() atgriež argumenta arg naturālo logaritmu.
log10()
float log10 (float arg);
Funkcija log10() atgriež argumenta arg logaritmu pie bāzes 10.
sqrt()
float sqrt (float arg);
Funkcija sqrt() atgriež argumenta arg kvadrātsakni.
fabs()
float fabs (float arg);
Funkcija fabs() atgriež argumenta arg absolūto vērtību.

Слайд 67Piemēri
pow(4, 0.5) // 2 kāpināšana 4 pakāpē 0.5
ceil(4.5) // 5 noapaļošana

uz augšu
ceil(-4.5) // -4 noapaļošana uz augšu
floor(4.5) // 4 noapaļošana uz apakšu
floor(-4.5) // -5 noapaļošana uz apakšu
round(4.5) // 5 noapaļošana matemātiski
round(-4.5) // -5 noapaļošana matemātiski
fabs(4.5) // 4.5 absolūtā vērtība (bez zīmes)
fabs(-4.5) // 4.5 absolūtā vērtība (bez zīmes)

Слайд 68Piešķiršanas operatori ar izrēķināšanu
+= -= *= /=

%=
<<= >>= ^= &= |=

i++ // i = i + 1
++i // i = i + 1
i-- // i = i - 1
--i // i = i - 1
i+=k // i = i + k
i-=k // i = i - k
i*=k // i = i * k
i/=k // i = i / k
i%=k // i = i % k

Слайд 69Piešķires operatora savienojumi
(+=, -=, *=, /=, %=, >>=,

|=)

value += increase; is equivalent to value = value + increase;

a -= 5; is equivalent to a = a - 5;
a /= b; is equivalent to a = a / b;
and the same for all other operations.

Слайд 70Piešķires aritmētiskās operācijas


Слайд 71Inkrementa un dekrementa operācijas


Слайд 72Mainīgā vērtības palielināšanas par 1 pieraksts
a++;
a+=1;
a=a+1;

are all equivalent in its

functionality: the three increase by 1 the value of a.

Слайд 73Inkrementa piemērs
In Example 1, B is increased before its value is

copied to A. While in Example 2, the value of B is copied to A and B is later increased.

Слайд 74Attieksmes operators
==, !=, >, =,


Слайд 75Attieksmes operāciju rezultāti
(7 == 5) would return false.

(5 > 4)

would return true.

(3 != 2) would return true.

(6 >= 6) would return true.

(5 < 5) would return false.

Слайд 76Loģiskās operācijas
!, &&, ||

!(5 == 5) returns false

!(6

4) returns true

!true returns false.

!false returns true.

Слайд 77Loģisko operāciju vērtību tabula
( (5 == 5) && (3 > 6)

) returns false ( true && false ).
( (5 == 5) || (3 > 6)) returns true ( true || false ).

Слайд 78Operatoru prioritātes


Слайд 79Operatori ar bitiem



Слайд 80Konstanšu definēšana (#define) I
#define identifier value

#define PI 3.14159265

#define NEWLINE '\n‘

#define WIDTH

100

Слайд 81Konstanšu definēšana (const) II
const int width = 100;
const char tab =

'\t';
const zip = 12440;

In case that the type was not specified (as in the last example) the compiler assumes that it is type int.

Слайд 82Nosacījuma operators
condition ? result1 : result2

if condition is true the expression

will return result1, if not it will return result2.



Слайд 83Kontroles jeb sazarošanās struktūra nepilnā
if (condition) statement
if (x == 100)  cout

<< "x is 100";
if (x == 100)  {   cout << "x is ";   cout << x;  }

Слайд 84Sazarošanās pilnā
if (condition) statement1 else statement2

if (x == 100) cout

"x is 100"; else cout << "x is not 100";
if (x > 0) cout << "x is positive"; else
if (x < 0) cout << "x is negative"; else cout << "x is 0";


Слайд 85Atkārtošanās struktūras jeb cikli I
while (expression) statement

while (n>0)
{
cout

n << ", ";
--n;
}

Слайд 86Programma
// custom countdown using while
#include
int main ()
{
int n;

cout << "Enter the starting number > ";
cin >> n;
while (n>0)
{
cout << n << ", ";
--n;
}
cout << "FIRE!";
return 0;
}

Слайд 87Cikli II
do statement while (condition);
do
{
cout

to end): ";
cin >> n;
cout << "You entered: " << n << "\n";
}
while (n != 0);

Слайд 88Programma
#include
int main ()
{
unsigned long n;
do
{
cout

<< "Enter number (0 to end): ";
cin >> n;
cout << "You entered: " << n << "\n";
} while (n != 0);
return 0;
}

Слайд 89Cikli III
for (initialization; condition; increase) statement;
for (int n=10; n>0; n--)
{
cout

<< n << ", ";
}


Слайд 90Programma
// countdown using a for loop
#include
int main ()
{
for (int

n=10; n>0; n--)
{
cout << n << ", ";
}
cout << "FIRE!";
return 0;
}

Слайд 91Izvēles struktūra
switch (expression)
{
case constant1: block of instructions 1;    

break;
case constant2: block of instructions 2;
break;
.
.
.
default: default block of instructions;
}

Слайд 92Izvēles struktūras piemērs I


Слайд 93Izvēles struktūras piemērs II
switch (x)
{
case 1:
case 2:
case 3:

cout << "x is 1, 2 or 3";
break;
default: cout << "x is not 1, 2 nor 3";
}

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика