Π£Ρ€ΠΎΠΊΠΈ язык программирования с – ΠšΡƒΡ€ΡΡ‹ программирования ΠΏΠΎ C++ — ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ языку программирования Π‘ΠΈ ++ | GeekBrains — ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚Π°Π» | GeekBrains

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык программирования C. Π£Ρ€ΠΎΠΊ 1

C β€” это достаточно «Π΄Ρ€Π΅Π²Π½ΠΈΠΉ» язык программирования, ΠΎΠ½ сформировался Π² Π½Π°Ρ‡Π°Π»Π΅ 70-Ρ…. НС смотря Π½Π° это, C β€” ΠΆΠΈΠ²ΠΎΠΉ язык Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ примСняСтся Π² настоящСС врСмя. Он Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½, использовался ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для написания сущСствСнных частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’Π°ΠΊΠΆΠ΅ Π½Π° Π½Π΅ΠΌ ΠΏΠΈΡˆΡƒΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, компиляторы ΠΈ Ρ€Π΅ΠΆΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ C Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ систСмным языком программирования.

Π•Π³ΠΎ ΠΆΠΈΠ²ΡƒΡ‡Π΅ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹, ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ Ρ‚ΠΎΠΌΡƒ прогрСссу ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π² срСдС дСсктопного ΠΈ мобильного ПО, Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. C Π½Π΅ являСтся языком достаточно высокого уровня, ΠΎΠ½ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ ΠΈ быстрыми.

C Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ООП Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² C++. Π₯отя послСдний Π²ΠΎΠ·Π½ΠΈΠΊ Π½Π° основС языка C, ΠΎΠ½ Π½Π΅ являСтся Π΅Π³ΠΎ «ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ», Π° прСдставляСт собой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ, Π½Π΅ зная C. Однако ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ C ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ знакомством с Π΅Π³ΠΎ «ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ младшим Π±Ρ€Π°Ρ‚ΠΎΠΌ», Ρ‚.ΠΊ. синтаксис языков ΠΏΠΎΡ…ΠΎΠΆ, C Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ·Π³ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ программиста свСрхвозмоТностями ΠΈ ΠΏΡ€ΠΈΡƒΡ‡Π°Π΅Ρ‚ ΠΊ пониманию сути происходящСго.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ C для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ знакомства с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ? Если Π²Ρ‹ Π½Π΅ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ Π² Π²ΡƒΠ·Π΅ ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, связанной с IT, Ρ‚ΠΎ Π½Π΅Ρ‚. C ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Π² частности – памяти. Π—Π΄Π΅ΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΠ½ΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ; эта Ρ‚Π΅ΠΌΠ° достаточно слоТная для понимания ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ изучаСтся Π² школС.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ C ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ основы программирования ΠΈ Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ этом ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Однако Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚ C, ΠΌΠ°Π»ΠΎ зная ΠΎ Π½Π΅ΠΌ ΠΏΠΎ сущСству. Π―Π·Ρ‹ΠΊ C Π±Ρ‹Π» создан Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² устройствС Β«ΠΆΠ΅Π»Π΅Π·Π°Β» ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ программистами для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы UNIX. Π•Π³ΠΎ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ ΠΊΠ°ΠΊ язык для обучСния Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π‘Ρ€Π΅Π΄Ρ‹ ΠΈ компиляторы для программирования Π½Π° C

Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· дистрибутивов GNU/Linux, Π²Π°ΠΌ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ с подсвСткой синтаксиса, Ρ‚Π°ΠΊΠΆΠ΅ понадобятся GCC ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» для программирования Π½Π° CΠ‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ для программистов, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дополнСния, Π² Ρ‚ΠΎΠΌ числС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», просмотр ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Π΄Ρ€. НапримСр, Geany ΠΈΠ»ΠΈ Atom.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Geany

C – ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования. Π’ GNU/Linux для получСния исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ GCC – Π½Π°Π±ΠΎΡ€ компиляторов, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² Ρ‚ΠΎΠΌ числС компилятор для C. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ· исходного Ρ„Π°ΠΉΠ»Π° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ Π΄Π°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ *.с) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исполняСмый, Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

, Π³Π΄Π΅ gcc β€” ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ ΠΈΠ½Ρ‹Π΅ дСйствия; -o – ΠΊΠ»ΡŽΡ‡, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя исполняСмого Ρ„Π°ΠΉΠ»Π°; hello – имя ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π°; hello.c – имя Ρ„Π°ΠΉΠ»Π° с исходным ΠΊΠΎΠ΄ΠΎΠΌ. Имя исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ:

Π’ этом случаС исполняСмый Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ имя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ a.out.

Для Windows сущСствуСт свой Π½Π°Π±ΠΎΡ€ компиляторов – MinGW. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав простой срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Dev-C++, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° языках C ΠΈ Π‘++.

ΠŸΡ€ΠΈ сохранСнии Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° «C source files (*.c)». ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выполняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши F9. ПослС исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сразу закрываСтся ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ происходило, ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ строки: #include <conio.h> ΠΈ getch(). (Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ это Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии Dev-C++.)

«Hello World» Π² GNU/Linux:

#include <stdio.h>
Β 
int main () {
	printf ("Hello World\n");
}

«Hello World» Π² Windows:

#include <stdio.h>
#include <conio.h>
Β 
int main () {
	printf ("Hello World\n");
Β 
	getch();
}

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, сущСствуСт большоС количСство кроссплатформСнных срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. НапримСр, Eclipse + ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CDT, KDevelop, CLion. ПослСдняя ΠΏΠ»Π°Ρ‚Π½Π°, выпускаСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ JetBrains – Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ IDE, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ 30-Ρ‚ΠΈ Π΄Π½Π΅Π²Π½Ρ‹ΠΉ Ρ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достаточно для обучСния. CLion ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE.

«Hello World» Π½Π° C

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сразу ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности языка программирования C.

Π’ языкС C Ρ€ΠΎΠ»ΡŒ основной Π²Π΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя функция main(). Π­Ρ‚Π° функция всСгда Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° языкС C, ΠΈ исполнСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π΅Π΅. Однако ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΈΡ… ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости простираСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° main(). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² языкС программирования C ΠΏΠΎΡ‡Ρ‚ΠΈ вСсь ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ функция main() являСтся Π³Π»Π°Π²Π½ΠΎΠΉ ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ функция main() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… int, поэтому ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Однако компилятор Π² этом случаС выносит ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.

Ѐункция printf() ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π•Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ write() языка Pascal ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print() Π² Python. Ѐункция printf() послС Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ выполняСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обозначаСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ \n. Π—Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹Π΅ выраТСния Π½Π° языкС C Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой.

Π’ языкС C Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ языка. НапримСр, Π² Python Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ функциями print() ΠΈ input(). Π’ C ΠΆΠ΅ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ просто Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ printf(), Ρ‚.ΠΊ. Π² самом C Π΅Π΅ просто Π½Π΅Ρ‚. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° stdio.h. ИмСнно для этого Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прописана строка

#include <stdio.h>. Include с английского пСрСводится ΠΊΠ°ΠΊ «Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ», Π° stdio Π΅ΡΡ‚ΡŒ сокращСниС ΠΎΡ‚ «ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ (input-output)».

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… (ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° *.h) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ объявлСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ОбъявлСниС β€” это просто описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚. Π‘Π°ΠΌ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅) находится Π½Π΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… (Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΆΠ΅ скомпилированы ΠΈ располоТСны Π² систСмных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. ΠŸΠ΅Ρ€Π΅Π΄ компиляциСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ запускаСтся прСпроцСссор языка C. Помимо ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТимоС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² Π½Π΅ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Π—Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅1 ΠΏΠ΅Ρ€Π²ΡƒΡŽ строчку ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ HelloWorld. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Удалось Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ»? КакоС ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹Π΄Π°Π» компилятор?

1 // — однострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π° языкС C; /* … */ — многострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π° языкС C.

C++ ΡƒΡ€ΠΎΠΊΠΈ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… — ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с нуля для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Π‘++ — это ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, высокоуровнСвый язык программирования. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ сфСр примСнСния. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‰Π°ΡΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. На сСгодня – это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½Π΅ΠΉΡˆΠΈΡ… ΠΈ ΠΈΠ·Π²Π΅ΡΡ‚Π½Π΅ΠΉΡˆΠΈΡ… языков.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΏΡ€ΠΎ C++

Π‘++ Π±Π΅Ρ€Ρ‘Ρ‚ основу Π² языкС Π‘ΠΈ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Π΅Ρ‰Ρ‘ Π² 1969-1973 Π³ΠΎΠ΄Π°Ρ…. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π»Π° компания Bell Labs Π²ΠΎ Π³Π»Π°Π²Π΅ с Π³Π»Π°Π²Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ДСннис Π ΠΈΡ‚Ρ‡ΠΈ. Π§Π΅Ρ€Π΅Π· 10 Π»Π΅Ρ‚ программист ΠΈΠ· Π”Π°Π½ΠΈΠΈ Π‘ΡŒΡ‘Ρ€Π½ Бтрауструп, Π² своё врСмя являвшийся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π‘ΠΈ, выпускаСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π‘++. Π’Π½Π°Ρ‡Π°Π»Π΅ своСго ΠΏΡƒΡ‚ΠΈ C++ являлся всСго лишь Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ, Π½Π΅ΠΊΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π‘ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ»ΠΎ язык, добавляя Π² Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП. Π‘Π°ΠΌ Бтрауструп ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ рассматривал язык всСго лишь ΠΊΠ°ΠΊ Β«Π‘ΠΈ с классами».

Π”Π°Ρ‚Π° роТдСния C++ приходится Π½Π° 1983 Π³ΠΎΠ΄. Π₯ΠΎΡ‚ΡŒ ΠΎΠ½ ΠΈ Π½Π΅ являлся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ языком, Π° лишь ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ Π‘ΠΈ, Π½ΠΎ всё ΠΆΠ΅ ΠΈΠΌΠ΅Π» ряд ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π° счёт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈ стал ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ языком программирования. Π‘ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ C++ Π² ΠΌΠΈΡ€Π΅ появилось ряд, Π½Ρ‹Π½Π΅ общСраспространённых, понятий:

  • Π˜Π½ΠΈΡ†ΠΈΠ°Ρ†ΠΈΡ классов с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ;
  • ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ наслСдования Π² ООП;
  • Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· памяти;
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
  • БистСма ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.
А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ язык Π‘ΠΈ?

Π―Π·Ρ‹ΠΊ Π‘ΠΈ ΠΏΠΎ сСй дСнь сохраняСт ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ нСсмотря Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ C++ ΠΈ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ послСднСго языка Π² сфСрС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ старый ΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΉ язык Π΄Π°ΠΆΠ΅ сСгодня популярСн? Всё просто – ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ язык — довольно Π·Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π΄Π΅Π»ΠΎ. Π§Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ просто ΠΏΠ»Ρ‹Π²ΡƒΡ‚ ΠΏΠΎ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ.

Π’ сСти ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ спСциалисты Π΄Π°ΡŽΡ‚ совСты, Ρ‡Ρ‚ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π‘-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков Π»ΡƒΡ‡ΡˆΠ΅ с Π‘ΠΈ. Они говорят, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΡΡƒΡ‚ΡŒ Π‘++. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ – это Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅. Если Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ с Π‘++, Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° появятся знания ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΈ соврСмСнных возмоТностях языка. Если ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ появится Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π‘ΠΈ, это Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил. Π”Π°ΠΆΠ΅ сам Ρ„Π°ΠΊΡ‚ нСобходимости ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° довольно старый Π‘ΠΈ ΡƒΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ большиС сомнСния.

Но Ссли Π²Ρ‹ всС ΠΆΠ΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ языком C++, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с большим Π²ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ смоТСтС ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с этим языком:

Π‘ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎ язык Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° этой страницС.

РаспространСниС C++

Π’ скорС послС Π²Ρ‹Ρ…ΠΎΠ΄Π° язык Π‘++ Π½Π°Ρ‡Π°Π» Π·Π°Π²ΠΎΡ‘Π²Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сфСры программирования. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ Π² Π½Π΅Π³ΠΎ внСдряли всё Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ всё большС отдаляло Π΅Π³ΠΎ ΠΎΡ‚ Ρ€ΠΎΠ»ΠΈ дополнСния ΠΊ Π‘ΠΈ. Π“ΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π΅Π³ΠΎ пСрСстали Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π‘ΠΈ, Ρ‚ΠΎΠ³Π΄Π°-Ρ‚ΠΎ язык ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ Π‘++. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΡƒΡ‚ΡŒ языков Ρ€Π°Π·ΠΎΡˆΡ‘Π»ΡΡ, ΠΎΠ½ΠΈ стали нСзависимыми (насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).

БСгодня Π‘++ — это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π² наслСдство ΠΎΡ‚ Π‘ΠΈ массу ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… возмоТностСй ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ½ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ примСняСтся Π² систСмном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

НСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… сфСр использования:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π² Ρ‚ΠΎΠΌ числС систСма Windows прСимущСствСнно базируСтся Π½Π° Π‘++;
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ²;
  • НаписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с нуля;
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° антивирусных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ.

Π‘++ ΡƒΡˆΡ‘Π» Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ систСмного программирования. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ всСх ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… стоит Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° быстродСйствии ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ΄ высокими Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для формирования графичСских Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’Π΅ΡΡŒΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠΎΠ², ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π‘++. Π—Π° послСдниС Π³ΠΎΠ΄Π° всё большС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ язык. Π”Π°ΠΆΠ΅ Π² сфСрС Π²Π΅Π±Π° нашлось мСсто этому языку. ВсСвозмоТныС Π²Π΅Π±-прилоТСния Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π‘++, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² качСствС основы, ΠΌΠΎΠΆΠ΅Ρ‚ просто для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ Ρ„Π°ΠΊΡ‚ остаётся Ρ„Π°ΠΊΡ‚ΠΎΠΌ. Если ΠΏΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ: слоТнСС Π½Π°ΠΉΡ‚ΠΈ сфСры, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π‘++ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, Ρ‡Π΅ΠΌ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот язык.


ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности C++

Π‘++ относится ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ языкам, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ компилятор измСняСт ΠΊΠΎΠ΄ C++, прСобраТая Π΅Π³ΠΎ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прСдустановлСнных инструкций. ВсС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ особСнностями, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ нСльзя Π²Π·ΡΡ‚ΡŒ ΠΈ пСрСнСсти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΎΠ΄Π½ΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Π’ΠΎΡ‡Π½Π΅Π΅, пСрСнСсти ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΎΠ½Π° Ρ‚Π°ΠΌ Π½Π΅ запустится. ΠŸΡ€ΠΈ этом исходный ΠΊΠΎΠ΄ прилоТСния прСимущСствСнно пСрСносится. ЕдинствСнноС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ – использованиС спСцифичСских возмоТностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ОБ.

Π£ Π‘++ Π΅ΡΡ‚ΡŒ компиляторы ΠΈ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ извСстных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π­Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходники ΠΏΠΎΠ΄ Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Π‘++ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ написаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² стилС ООП, Ρ‡Π΅Π³ΠΎ Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π‘ΠΈ. Π’ этом случаС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ становится лишь Π½Π°Π±ΠΎΡ€ΠΎΠΌ классов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ способны Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ элСмСнтами ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Как поэтапно развивался Π‘++?

Π¨Π°Π³ΠΈ развития Π‘++:

  • 1979-1980 – Π‘++ появился ΠΈ позиционировался, ΠΊΠ°ΠΊ язык Π‘ΠΈ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ классами;
  • 1983 – язык Π½Π°Ρ‡Π°Π» Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ всС ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π‘++;
  • 1985 – Ρ€Π΅Π»ΠΈΠ· коммСрчСского Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π‘++. Π’ этот ΠΆΠ΅ Π³ΠΎΠ΄ появилась пСрвая бумаТная ΠΊΠ½ΠΈΠ³Π° Β«Π―Π·Ρ‹ΠΊΠ° программирования C++Β», ΠΎΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π° описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, возмоТностСй ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» использования языка;
  • 1989 – Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° вторая вСрсия языка с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями;
  • Π‘ 1990 Π΄ΠΎ 2011 – ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 1998 Π³ΠΎΠ΄Ρƒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ язык. Π’ΠΎΡ‚ стандарт впослСдствии Π½Π°Π·Π²Π°Π»ΠΈ ISO/IEC 14882:1998, сСгодня — Π‘++98. Π’ 2003 Π³ΠΎΠ΄Ρƒ появилась ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ стандарта C++03;
  • 2011 – ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ стандарта C++11, Π² Π½Ρ‘ΠΌ появилось Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ. ОбновлСниС ΠΎΠ±ΠΎΠ³Π°Ρ‚ΠΈΠ»ΠΎ язык ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… возмоТностСй;
  • 2014 – выпуск ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π»ΠΎΠ³ΠΎ добавлСния ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии стандарта. Π•Π³ΠΎ ΠΏΡ€ΠΎΠ·Π²Π°Π»ΠΈ C++14;
  • 2017 – послСдний ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· языка.

Π‘Ρ€Π΅Π΄Ρ‹ программирования, компиляторы

Для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++ обязатСлСн компилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² подходящий ΠΊ исполнСнию Π² Ρ„Π°ΠΉΠ»Π΅. БСгодня компиляторов нСисчислимоС количСство. Они Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ массС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎ способу Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандартов. На этапС Π²Ρ‹Π±ΠΎΡ€Π° компилятора Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ постоянно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с C++ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ для вас срСду ΠΈΠ»ΠΈ ΠΆΠ΅ вовсС Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ компилятором, Ρ‡Ρ‚ΠΎ прСдставлСн Π½Π° этой страницС Π½ΠΈΠΆΠ΅. Π‘Ρ€Π΅Π΄ΠΈ самых популярных срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ: Visual C++, Xcode (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Мак), GCC, Intel C++ Compiler, Embarcadero (Borland) C++ Builder.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ курсы

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ курсы ΠΏΠΎ языку C++. На нашСм сайтС всС курсы ΠΏΠΎ языку Π‘++ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ этой ссылкС.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° C++ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ / Habr

ВсСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток!

Π­Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ всС-Ρ‚Π°ΠΊΠΈ стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ C++ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования для обучСния студСнтов, ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… прСподавания Π² Π’Π£Π—Π°Ρ…. Π§Π°ΡΡ‚ΡŒ суТдСния, ΠΊΠ°ΡΠ°ΡŽΡ‰Π΅Π³ΠΎΡΡ процСсса обучСния, основываСтся Π½Π° Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π΅ прСподавания (Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π°, Π²ΠΎ врСмя ΡƒΡ‡Ρ‘Π±Ρ‹ Π² аспирантурС), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΈ с прСподаватСлями ΠΈ студСнтами.
Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ прСимущСства языка программирования C++ ΠΈΠΌΠ΅Π½Π½ΠΎ для обучСния ΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания основных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρ‹ Π½Π° Ρ€ΠΎΠ»ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка (Pascal/Python/C#/Java) Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ, Π΄Π°Π±Ρ‹ Π½Π΅ Ρ€Π°Π·ΠΆΠΈΠ³Π°Ρ‚ΡŒ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€. Π•Ρ‰Π΅ Ρ€Π°Π· ΠΎΡ‚ΠΌΠ΅Ρ‡Ρƒ: Π½Π΅ для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ критСрия, ΠΊΠ°ΠΊ удобство.

Написано ΠΏΠΎΠ΄ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½Π½ΠΎ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ поста Β«Delphi XE5 ΠΊΠ°ΠΊ основа для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽΒ» (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания, доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вСрсия Β«ΠΎΡ‚ Π³ΡƒΠ³Π»Π°Β»).

0 Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Для Π½Π°Ρ‡Π°Π»Π°, Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для студСнтов Π½Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ вопрос Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования Π½Π΅ рассматриваСтся. ΠžΡΠ½ΠΎΠ²Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (Ссли ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ Π½Π° Python, Ρ…ΠΎΡ‚ΡŒ Π½Π° C++ (Java, C#, Pascal ΠΈ Ρ‚.Π΄.). Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ язык, Ρ‚Π΅ΠΌ ΠΎΠ½ Π»ΡƒΡ‡ΡˆΠ΅: Ρƒ людСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ алгоритмичСского ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΈ понимания Π±Π°Π·ΠΎΠ²Ρ‹Ρ… конструкций. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅, экономичСскиС, Π³ΡƒΠΌΠ°Π½ΠΈΡ‚Π°Ρ€Π½Ρ‹Π΅), ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ЯП совсСм Π½Π΅ трСбуСтся.
НСсмотря Π½Π° всю ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ написанного Π²Ρ‹ΡˆΠ΅, ΠΌΠ½ΠΎΠ³ΠΈΠΌ студСнтам-экономистам ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ курса ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Pascal Π½Π° практичСских занятиях ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ ΡƒΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с MS Word. Польза ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… занятий вСсьма ΠΈ вСсьма ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, студСнтов-ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° C++/C#/Java… Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ? Π“ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ примСнСния своих Π·Π½Π°Π½ΠΈΠΉ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ€ΠΎΠ΄Π΅ Mathcad, Simulink, Surfer ΠΈ Ρ‚.Π΄.
Учитывая Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅, рассмотрим процСсс Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для студСнтов ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ инТСнСрия») ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ с ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ Π² сторону IT (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°Β»). Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½ Ρ‚Π°ΠΊΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ достаточноС количСство Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ (Ρ‚.ΠΊ. рассматриваСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык, учитываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ курс): для Π΄Π²ΡƒΡ… связанных дисциплин (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΎΠΊΠΎΠ»ΠΎ 230 часов, Π² зависимости ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ заинтСрСсованности ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ склада ΡƒΠΌΠ° Ρƒ студСнтов. Π’Π°ΠΊΠΈΠ΅ студСнты Ρ‡Π°Ρ‰Π΅ всСго ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΈ написали сайт/ΠΈΠ³Ρ€ΡƒΡˆΠΊΡƒ. Π”Π²Π΅ эти ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, Π² совокупности, Π΄Π°ΡŽΡ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΡƒΡŽ Π±Π°Π·Ρƒ для Π½Π°Ρ‡Π°Π»Π° обучСния ΠΈ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡŽΡ‚ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния для обучСния языку. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, выпускникам рассматриваСмых ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ прСдстоит Π² дальнСйшСм Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² индустрии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка для Π½ΠΈΡ… особо Π²Π°ΠΆΠ΅Π½.
1 ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΆΠ΅ C++?

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ курсС закладываСтся базис для дальнСйшСго обучСния ΠΈ формируСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ студСнта ΠΊ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ Π·Π½Π°Π½ΠΈΠΉ. Π―Π·Ρ‹ΠΊ программирования ΠΈΠ³Ρ€Π°Π΅Ρ‚ здСсь Π½Π΅ послСднюю Ρ€ΠΎΠ»ΡŒ.
Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ C++ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования сущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:
  1. ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.
  2. Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ высокоуровнСвых ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… срСдств.
  3. РСализация ООП.
  4. STL.

Рассмотрим Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€. Π’ΡƒΡ‚ C++ прСдстаёт Π²ΠΎ всСй красС. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ компиляторов, ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, этапы сборки программы… Π”Π°, ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² простом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π±Π΅Π· подсвСтки синтаксиса ΠΈ Π°Π²Ρ‚ΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ‚Π°, Π½Π°ΠΉΡ‚ΠΈ Ρ‡Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всё устроСно:

  • Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – это просто тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам ΠΏΠΎ сСбС Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ прСвратился Π² исполняСмый Ρ„Π°ΠΉΠ». ВСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ – это Ρ‚ΠΎΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдназначСнная для написания исходного ΠΊΠΎΠ΄Π°.
  • Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ†ΠΈΠΈ сборки, ΠΈ сущСствуСт Π½Π΅ ΠΎΠ΄ΠΈΠ½ компилятор.
  • Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, написанный программистом, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, прСпроцСссором).

Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ спСциалист осознаСт, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ сам ΠΏΠΎ сСбС Π½Π΅ запускаСтся (Π² дальнСйшСм ΠΎΠ½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ заинтСрСсуСтся, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΈΠ»ΠΈ JIT-компиляция). Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ сСбС вопросы: «А ΠΏΠΎΡ‡Π΅ΠΌΡƒ?Β», «А Π² Ρ‡Ρ‘ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅?Β», «Как?Β». НС Π±ΡƒΠ΄Π΅Ρ‚ иллюзий ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π΄Π²ΡƒΡ… Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ процСсс сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ исходный ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ сторонними ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, ΠΏΡ€ΠΈ использовании IDE, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это всСго лишь ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ комплСкс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π² случаС нСдостаточной гибкости ΠΎΡ‚ Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ.

БтатичСская типизация. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ языка со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ ΠΈ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ зависит. Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ собой прСдставляСт объявлСниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ инициализация. ИспользованиС языка C++ Π΄Π°Ρ‘Ρ‚ это явно ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ способствуСт Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ пониманию Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Помимо этого ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Ρ†Π΅Π»Ρ‹Ρ… со Π·Π½Π°ΠΊΠΎΠΌ, Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ числа Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности, Ρ‡Π΅ΠΌ отличаСтся символ ΠΎΡ‚ строки ΠΈ Ρ‚.Π΄.

ВысокоуровнСвыС ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ срСдства. ИспользованиС Ρ‚Π°ΠΊΠΈΡ… срСдств, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти, позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ (ΠΈΠ»ΠΈ Π² дальнСйшСм способствуСт пониманию), Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ стэк, ΠΊΡƒΡ‡Π°, стэк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², раскрутка стэка ΠΈ Ρ‚.Π΄. Помимо этого, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ закрСпляСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ адрСсов ΠΈ адрСсной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… дСмонстрируСтся, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π°Π΄ΠΎ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ бСсконСчная, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ языков с GC ΠΏΡ€ΠΎΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ это Ρ‚Π°ΠΊΠΎΠ΅.
ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ простой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ссылкС, Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ ΠΈ пСрСнос ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ измСняСмыС ΠΈ Π½Π΅ измСняСмыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ дальнСйшСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² языкС N пСрСдаётся ΠΏΠΎ ссылкС, ΠΈ Ссли Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Π΅, Ρ‚ΠΎ ΠΎΠ½ΠΎ измСнится Π²Π΅Π·Π΄Π΅.

РСализация ООП. Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ чистая рСализация ООП Π±Π΅Π· всякого синтаксичСского сахара (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков). Π§Ρ‘Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ доступа ΠΊ Ρ‡Π»Π΅Π½Π°ΠΌ класса, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ мноТСствСнного наслСдования ΠΈ динамичСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ быстро ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ООП (абстракция, наслСдованиС, инкапсуляция ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ). Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ наглядно ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΊΠ°ΠΊ upcasting ΠΈ downcasting. Π’ дальнСйшСм, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° этих знаниях, Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ вСсь синтаксичСский сахар Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ контроля рСсурсов (Π² Ρ‚ΠΎΠΌ числС ΠΈ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Ρ€Ρ‘Ρ…Β» ΠΈΠ»ΠΈ ΡƒΠΆΠ΅ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ пяти», с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ C++11), Π·Π°Ρ…Π²Π°Ρ‚ ΠΈΡ… Π² конструкторС ΠΈ освобоТдСниС Π² дСструкторС Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌΡƒ пониманию ООП.
Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠ°ΠΊ Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ООП. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ примСняСтся Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ способствуСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ срСдства Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ исходя ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ.

STL. Π‘Π°ΠΌΠ° ΠΏΠΎ сСбС концСпция шаблонов C++, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ примСнСния ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ влияСт Π½Π° процСсс обучСния. Π—Π΄Π΅ΡΡŒ всС Π½Π° повСрхности ΠΈ понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€ Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° основС ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ прСдусмотрСна встроСнная опСрация сравнСния. МоТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ осущСствляСтся доступ ΠΊ элСмСнтам, ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ катСгориях ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Помимо этого закрСпляСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ программирования.

2 НСмного ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… обучСния

ΠŸΡ€ΠΎΡ†Π΅ΡΡ обучСния, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сущСствСнных ΠΏΡ€Π΅Π³Ρ€Π°Π΄, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ написано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅. ВСроятно, этот вопрос Π½Π΅ касаСтся Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… IT-Π²ΡƒΠ·ΠΎΠ², Π½ΠΎ Ссли Π²Π·ΡΡ‚ΡŒ рядовыС ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ учрСТдСния, Ρ‚ΠΎ ощущаСтся Π΄Π΅Ρ„ΠΈΡ†ΠΈΡ‚ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈ слабая мотивация студСнтов. Для большСй части практичСских дисциплин Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ спСциалисты, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ нСпосрСдствСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ПО. НапримСр, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ примСнял STL Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, вряд Π»ΠΈ смоТСт ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ Π·Π°Ρ‡Π΅ΠΌ. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ, искрСннС ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Delphi с Ρ„ΠΎΡ€ΠΌΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ самоС настоящСС ООП, учитывая, Ρ‡Ρ‚ΠΎ вСсь ΠΊΠΎΠ΄ (Π±Π΅Π· Π½Π°ΠΌΡ‘ΠΊΠ° Π½Π° собствСнныС классы, Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ) ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΎΡ‡Π΅Π½ΡŒ понятным ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«Button1Β», Π½Π΅ способствуСт процСссу обучСния. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΈ со стороны студСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ поняли, ΠΊΡƒΠ΄Π° ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ поступили. МногиС студСнты, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈ пониманию, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΊ ΡΠ°ΠΌΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ. НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ студСнты ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ прСкрасно Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Π² ΠΊΠΎΠ½Ρ†Π΅ обучСния Π½Π΅ получится спСциалист, ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π° junior-вакансию.
3 Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΌΠΈΡ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния слоТилась ситуация, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π½Π΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΎΠΏΡ‹Ρ‚ ΠΈΡ… примСнСния, Π° Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌΡƒ общСству Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ этому ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΡƒΠΌΠ΅ΡŽΡ‰ΠΈΡ… просто ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструмСнтов, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ столкнётся с Β«Π·Π°ΠΊΠΎΠ½ΠΎΠΌ дырявых абстракций». Однако людям, ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π½Π° долТности Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ вопросами Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всё устроСно. Одним ΠΈΠ· Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², приводящих ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ пониманию, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΈ Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования. На основании этого, язык C++, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ синтаксичСским сахаром Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ООП, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка программирования.

Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Π‘ΠΈ с нуля

1 ΡƒΡ€ΠΎΠΊ.Β  ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ΠΈ.Β Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β   Установка Би для Windows 7

Β  Β  Β  Β  Β  Β  Β  Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π‘ΠΈ.Β  Π’Ρ‹Π²ΠΎΠ΄ сообщСния Π½Π° экран  Β  Β  Β  Β  Β  Β  Π”Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования:

2 ΡƒΡ€ΠΎΠΊΒ  Β ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π‘ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΒ  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  ΠšΡƒΡ€Ρ Python

Β  Β  Β  Β  Β  Β  Β Π’ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ΅Ρ€ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈΒ  Β  Β  ΠšΡƒΡ€Ρ Vb

3 ΡƒΡ€ΠΎΠΊΒ  Β Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран Π² Π‘ΠΈ.Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β ΠšΡƒΡ€Ρ Pascal

Β  Β  Β  Β  Β  Β  Β  Β  Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экран. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Printf

4 ΡƒΡ€ΠΎΠΊΒ  Β Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² Π‘ΠΈ

Β  Β  Β  Β  Β  Β  Β Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ scanf

5 ΡƒΡ€ΠΎΠΊΒ  Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘ΠΈ++

Β  Β  Β  Β  Β  Β  Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ cout ΠΈ cin

6 ΡƒΡ€ΠΎΠΊΒ   Условия Π² Π‘ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if

Β  Β  Β  Β  Β  Β   УсловныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠžΠΏΠ΅Ρ€Ρ‚Π°ΠΎΡ€ If

7 ΡƒΡ€ΠΎΠΊΒ   ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π‘ΠΈ

Β  Β  Β  Β  Β  Β   ЛогичСскиС  выраТСния ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ andΒ  orΒ  (И,Β  Π˜Π›Π˜)

8 ΡƒΡ€ΠΎΠΊΒ  Β ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π² БИ

Β  Β  Β  Β  Β  Β  Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch

9 ΡƒΡ€ΠΎΠΊΒ  Β Π¦ΠΈΠΊΠ»Ρ‹ Π² Π‘ΠΈ.ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for

Β  Β  Β  Β  Β  Β   ЦикличСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Π¦ΠΈΠΊΠ» for

10 ΡƒΡ€ΠΎΠΊΒ Β Π¦ΠΈΠΊΠ» с условиСм Π² Π‘ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while

11 ΡƒΡ€ΠΎΠΊΒ Β Π“Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π‘ΠΈ.

Β  Β  Β  Β  Β  Β  Β  ГрафичСский Ρ€Π΅ΠΆΠΈΠΌ. РисованиС основных Ρ„ΠΈΠ³ΡƒΡ€ : Ρ‚ΠΎΡ‡ΠΊΠ°, линия, ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ

12 ΡƒΡ€ΠΎΠΊΒ  Β Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа Π² Π‘ΠΈ

Β  Β  Β  Β  Β  Β  Β  Β Π—Π°Π΄Π°Π½ΠΈΠ΅ случаных чисСл Π² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅Β 

13 ΡƒΡ€ΠΎΠΊΒ Β ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π‘ΠΈ.

Β  Β  Β  Β  Β  Β  Β  Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π—Π΄Π°Π½Π°ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π‘ΠΈ

14 ΡƒΡ€ΠΎΠΊΒ  Β ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Π‘ΠΈ. Β 

Β  Β  Β  Β  Β  Β  Β  ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ массива Π² Π‘ΠΈ. Π—Π°Π΄Π°Π½ΠΈΠ΅ массива с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Ρ‹Π²ΠΎΠ΄ массива Π½Π° экран.Β 

15 ΡƒΡ€ΠΎΠΊΒ  Β ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Π‘ΠΈ

Β  Β  Β  Β  Β  Β  Β  Β ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Π‘ΠΈ. Π’ΠΎΠΎΠ΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран

16 ΡƒΡ€ΠΎΠΊΒ  Π€Π°ΠΉΠ»Ρ‹ Π² Π‘ΠΈ

Β  Β  Β  Β  Β  Β  Β  Β  Β  Β Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„Π°ΠΉΠ»Ρ‹ Π² Π‘ΠΈ

17 ΡƒΡ€ΠΎΠΊ Ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° Π‘ΠΈ

Β  Β  Β  Β  Β  Β  Β   Поиск ΠΈ исправлСниС ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° си

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Β 

Β 

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ | Π£Ρ€ΠΎΠΊΠΈ Π‘++

  Обновл. 30 Ноя 2019  | 

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструкций ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти ΠΆΠ΅ инструкции. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Ρ‚Π°ΠΊΠΆΠ΅ Β«ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β» ΠΈΠ»ΠΈ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС», «софт») β€” это Π½Π°Π±ΠΎΡ€ инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. ЀизичСская Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, которая выполняСт эти инструкции, называСтся «ТСлСзом» ΠΈΠ»ΠΈΒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: процСссор, матСринская ΠΏΠ»Π°Ρ‚Π° ΠΈ Ρ‚.Π΄.). Π­Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ являСтся Π½Π°Ρ‡Π°Π»ΠΎΠΌ сСрии ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Π‘++ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅ способСн ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C++, Java, Python ΠΈ Ρ‚.Π΄. ΠžΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ процСссор, Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡΒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ΠΈΠ»ΠΈ Π΅Ρ‰Ρ‘ Β«ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ языком»). Π’ΠΎ, ΠΊΠ°ΠΊ эти инструкции ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этого ввСдСния, Π½ΠΎ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° (инструкция) состоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ†ΠΈΡ„Ρ€: 0 ΠΈΠ»ΠΈ 1. Π­Ρ‚ΠΈ числа Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡΒ Π±ΠΈΡ‚Π°ΠΌΠΈ (сокращСнно ΠΎΡ‚ Π°Π½Π³Π».Β Β«binary digitΒ») ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

НапримСр, ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° машинного ΠΊΠΎΠ΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

10110000 01100001

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±ΠΈΡ‚ΠΎΠ² пСрСводится процСссором Π² инструкции для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ задания (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π° числа или ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ число Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ячСйку памяти). Π Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ процСссоров ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ инструкций, поэтому инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° процСссорах Intel Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° процСссорах Xenon, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… приставках Xbox. РаньшС, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ массово Ρ€Π°ΡΠΏΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ, программисты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСпосрСдствСнно Π½Π° машинном языкС, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΆΠ΅Π»ΠΈ сСйчас.

Π―Π·Ρ‹ΠΊ ассСмблСра

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° машинном языкС β€” ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ спСцифичСскоС, Ρ‚ΠΎ программисты ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ язык ассСмблСра. Π’ этом языкС каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° идСнтифицируСтся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Π° Π½Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ† с нулями), ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΈΡ… ΠΈΠΌΠ΅Π½Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΈΡΠ°Ρ‚ΡŒ/Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ стало Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, процСссор всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ язык ассСмблСра Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ассСмблСра, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. АссСмблСр – это транслятор (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄, написанный Π½Π° языкС ассСмблСра, Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык. Π’ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ этот язык Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ просто β€” «АссСмблСр».

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ АссСмблСра являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния) ΠΈ ΠΎΠ½ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° это ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ прСимущСства Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° этом языкС адаптируСтся ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ процСссору. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ процСссор Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° АссСмблСрС, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹Ρ… инструкций для выполнСния Π΄Π°ΠΆΠ΅ простого задания.

НапримСр, Π²ΠΎΡ‚ Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ Π½Π° языкС ассСмблСра:

mov al, 061h

ВысокоуровнСвыС языки программирования

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΈ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉ слоТности Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ высокоуровнСвыС языки программирования. C, C++, Pascal, Java, JavaScript ΠΈ Perl β€” это всё языки высокого уровня. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ пСрСТивая ΠΎ совмСстимости ΠΊΠΎΠ΄Π° с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ процСссоров. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° языках высокого уровня, Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ. Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

Β  компиляция, которая выполняСтся компилятором;

Β  интСрпрСтация, которая выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ создаёт Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ (ΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния) ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ процСссор ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вСсь ΠΊΠΎΠ΄ компилируСтся Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ создаётся исполняСмый Ρ„Π°ΠΉΠ» ΠΈ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ компиляция Π½Π΅ выполняСтся.

Если ΠΏΠΎ-простому, Ρ‚ΠΎ процСсс компиляции выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ выполняСт ΠΊΠΎΠ΄, Π±Π΅Π· Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ компиляции Π² исполняСмый Ρ„Π°ΠΉΠ». Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ эффСктивны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСсс ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ выполняСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ:Β 

Π›ΡŽΠ±ΠΎΠΉ язык ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρ‚Π°ΠΊΠΈΠ΅ языки, ΠΊΠ°ΠΊ C, C++ ΠΈ Pascal β€” ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ «скриптовыС» языки, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Perl ΠΈ JavaScript β€” ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. НСкоторыС языки программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java) ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° высокоуровнСвых языков программирования

1. Π›Π΅Π³Ρ‡Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ/Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. Π’ΠΎΡ‚ Ρ‚Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ Π½Π° языкС C++:

Π° = 97;

2. ВрСбуСтся мСньшС инструкций для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ задания. Π’ C++ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого: Π° = Π¬ * 2 + 5; Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. Π’ языкС ассСмблСра Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 5 ΠΈΠ»ΠΈ 6 инструкций.

3. Π’Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚Π°ΠΊΠΈΡ… дСталях, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² рСгистры процСссора. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π΅Ρ€Π΅Ρ‚ это Π½Π° сСбя.

4. ВысокоуровнСвыС языки программирования ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Π΅Π΅ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ (Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ нюанс).sxemagotovo33Нюанс Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Microsoft Windows, ΠΈΠΌΠ΅ΡŽΡ‚ свои собствСнныС спСцифичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅. Но Ρ‚ΠΎΠ³Π΄Π° придСтся ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, спСцифичСскиС для ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Обо всём этом ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π΅Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ….

ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ:

sxemagotovo33 Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°…

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях:

ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ ΠΈ практичСский курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…:

практичСский курс

Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅?

Π’ своС врСмя (1991-1992 Π³ΠΎΠ΄Π°), Π²Ρ‹Π±Ρ€Π°Π² язык Π‘ΠΈ Π² качСствС основного языка программирования для матСматичСских классов, Π°Π²Ρ‚ΠΎΡ€ столкнулся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ отсутствия Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ школьникам. Π­Ρ‚ΠΎ Π²Ρ‹Π½ΡƒΠ΄ΠΈΠ»ΠΎ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой конспСкт Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°Π·Π²Π°Ρ‚ΡŒ Β«ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ курс программирования Π½Π° Π‘ΠΈΒ» β€” Π² Π½Π΅Π³ΠΎ вошли Ρ‚Π΅ свСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π°Π²Ρ‚ΠΎΡ€Ρƒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. ΠœΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½ΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ прСподавания ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ конспСкт Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ вострСбован ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ школьниками, Ρ‚Π°ΠΊ ΠΈ выпускниками.

Π’ качСствС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ бСсплатно распространяСмая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Dev-C++ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ компилятор GCC.

Автор Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ содСрТания ΠΈ оформлСния этих ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ². Если Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Ρƒ вас Π΅ΡΡ‚ΡŒ прСдлоТСния, замСчания, ΠΆΠ°Π»ΠΎΠ±Ρ‹, ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ ΠΈ заявлСния, ΠΏΠΈΡˆΠΈΡ‚Π΅.

Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС

ВсС ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² нСкоммСрчСских цСлях ΠΏΡ€ΠΈ условии сохранСния авторства.

Π‘Π΅Π· письмСнного согласия Π°Π²Ρ‚ΠΎΡ€Π° Π—ΠΠŸΠ Π•Π©ΠΠ•Π’Π‘Π―:
  1. 1) публикация ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π² любой Ρ„ΠΎΡ€ΠΌΠ΅, Π² Ρ‚ΠΎΠΌ числС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Web-сайтах;
  2. 2) распространСниС Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²;
  3. 3) Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π² сборники Π½Π° Π»ΡŽΠ±Ρ‹Ρ… носитСлях ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;
  4. 4) ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ коммСрчСской Π²Ρ‹Π³ΠΎΠ΄Ρ‹ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ использования ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ².

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ приняли условия этого Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ распространяСтся свободно Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PDF. Для просмотра трСбуСтся бСсплатный просмотрщик Acrobat Reader. ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚ курса условно Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° 4 части:

  1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° языкС Π‘ΠΈ (860 Кб) 29.03.2014
    Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ основных конструкций языка ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
  2. XΡ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (792 Кб) 21.11.2013
    Π―Π·Ρ‹ΠΊ Π‘ΠΈ: массивы, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, структуры, ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки, структуры, рСкурсия.
  3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Π‘ΠΈ (937 Кб) 01.03.2014
    ΠŸΡ€ΠΈΠ΅ΠΌΡ‹ проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, структурноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, цСлочислСнныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, числСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.
  4. ДинамичСскиС структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС Π‘ΠΈ (666 Кб) 11.06.2009
    Бписки, стСки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ, Π³Ρ€Π°Ρ„Ρ‹.

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Для ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ учащихся ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, построСнныС Π½Π° основС этого конспСкта. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π° страницС ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ°

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСдусмотрСно ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка Π‘ΠΈ Π² 7-11 классах:

7 класс

Π§Π°ΡΡ‚ΡŒΒ I прСдставляСт собой Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ конспСкт курса 7 класса. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык Π‘ΠΈ строится Π½Π° Π±Π°Π·Π΅ алгоритмичСской ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄Π΅Ρ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π² 6 классС, работая с исполнитСлями.

Основная Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ учащихся с основными конструкциями языка Π‘ΠΈ: Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ, условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ. Π’Π΅ΡΡŒΠΌΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², связанных с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

8 класс

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ (Π² скобках ΡƒΠΊΠ°Π·Π°Π½Π° Ρ‡Π°ΡΡ‚ΡŒ конспСкта): ΠœΠ°ΡΡΠΈΠ²Ρ‹ (II), Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (II), Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки (II), Π’Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (III), ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (III). ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, Π² Ρ‚ΠΎΠΌ числС поиска, сортировки ΠΈ Ρ‚.ΠΏ. ДаСтся понятиС ΠΎΠ± эффСктивности Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

9 класс

ОсновноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Π‘ΠΈ. УчащиСся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ учатся ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π½Π° экранС, знакомятся с прСобразованиями систСм ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, знакомятся с числСнными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, учатся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ€Π°Π·Π΄Π΅Π»Ρ‹ 1-2 части III). Одно ΠΈΠ· Π·Π°Π΄Π°Π½ΠΈΠΉ посвящСно использованию ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠœΠΎΠ½Ρ‚Π΅-ΠšΠ°Ρ€Π»ΠΎ для вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ слоТной Ρ„ΠΈΠ³ΡƒΡ€Ρ‹. Из Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ (II), ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… строк (II). Вводится понятиС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ.

10 класс

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΡ языка Π‘ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ β€” Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (II), РСкурсия (II), Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ (II). ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка Паскаль Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ языка программирования. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° тСорСтичСских занятиях Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ Π½Π° Π΄Π²ΡƒΡ… языках.

11 класс

Π˜Π·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ особСнности языков, сколько Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ β€” ЧислСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (III), ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (III), ДинамичСскиС структуры Π΄Π°Π½Π½Ρ‹Ρ… (IV).

Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ C++

cpp-bookflowcpp-bookflow

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² любСзно прСдоставил Π°Π²Ρ‚ΠΎΡ€ Teantong. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ СдинствСнныС внятныС
ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠΈ Π² сСти Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎ языку C++. Ко всСм Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ΡΡ исходники.
НСсмотря Π½Π° экзотичСский Π²ΠΈΠ΄Π΅ΠΎ- ΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠΈ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ
Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Β 

Π£Ρ€ΠΎΠΊ 1.Β C++Β ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π£Ρ€ΠΎΠΊ 2. Π‘++ Π¦ΠΈΠΊΠ»Ρ‹

Π£Ρ€ΠΎΠΊ 3.Β C++ Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Π£Ρ€ΠΎΠΊ 4.Β C++Β ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch

Π£Ρ€ΠΎΠΊ 5.Β C++ АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π£Ρ€ΠΎΠΊ 6.Β C++Β Π’Π°Π±Π»ΠΈΡ†Π° умноТСния

Π£Ρ€ΠΎΠΊ 7.Β C++ БросаниС Ρ‚Π΅Π»Π° ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Ρƒ

Π£Ρ€ΠΎΠΊ 8.Β C++ ЧислСнноС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π£Ρ€ΠΎΠΊ 9.Β C++Β Π˜Π³Ρ€Π° Π£Π³Π°Π΄Π°ΠΉ число

Π£Ρ€ΠΎΠΊ 10.Β C++Β ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠ³ΠΎ дСлСнияё

Π£Ρ€ΠΎΠΊ 11. C++ Π˜Π³Ρ€Π° ΡƒΠ³Π°Π΄Π°ΠΉ число

Π£Ρ€ΠΎΠΊ 12. Π‘++ ΠšΠ»Π°ΡΡΡ‹

Π£Ρ€ΠΎΠΊ 13. C++ ΠœΠ°ΡΡΠΈΠ²Ρ‹

Π£Ρ€ΠΎΠΊ 14. C++ Π”Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π£Ρ€ΠΎΠΊ 15. C++ БулСвая Π»ΠΎΠ³ΠΈΠΊΠ°

Π£Ρ€ΠΎΠΊ 16. C++ Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° запись Π² Ρ„Π°ΠΉΠ»

Π£Ρ€ΠΎΠΊ 17. C++ ΠŸΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ сортировка

Π£Ρ€ΠΎΠΊ 18. C++ Поиск числа Π² отсортированом массивС

Π£Ρ€ΠΎΠΊ 19. C++ vector

Π£Ρ€ΠΎΠΊ 20. C++ ВСлСфоная ΠΊΠ½ΠΈΠ³Π°

Π£Ρ€ΠΎΠΊ 21. C++ Π¨ΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ нахоТдСния чисоа ПИ

Π£Ρ€ΠΎΠΊ 22. C++ НСмного ΠΎΠ± OpenGL

Π£Ρ€ΠΎΠΊ 23. C++ Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли Π΄ΠΎΠ»Π³ΠΎ ΠΏΠΎΠ΄Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ½Π΅Ρ‚ΠΊΡƒ

Π£Ρ€ΠΎΠΊ 24. C++ РисованиС Π² полярных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…

Π£Ρ€ΠΎΠΊ 25. C++ РСкурсия

Π£Ρ€ΠΎΠΊ 26. C++ Π‘Π°Π»Ρ„Π΅Ρ‚ΠΊΠΈ

Π£Ρ€ΠΎΠΊ 27. C++ РСкурсия [ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅]

Π£Ρ€ΠΎΠΊ 28. C++ Π Π°Π·Π±ΠΎΡ€ арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π£Ρ€ΠΎΠΊ 29. Tetris game in 10 minutes (Π˜Π³Ρ€Π° тСтрис Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚)

Π£Ρ€ΠΎΠΊ 30. C++ Π’Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΊΡƒΠ±

Π£Ρ€ΠΎΠΊ 31. C++ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ саму сСбя

Π£Ρ€ΠΎΠΊ 32. C++ ΠšΡ€Π°ΡΠΈΠ²Ρ‹ΠΉ спСц-эффСкт

Π£Ρ€ΠΎΠΊ 33. Π‘++ ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€Π°Π²ΠΈΡ‚Π°Ρ†ΠΈΠΈ

Π£Ρ€ΠΎΠΊ 34. Π‘++ РисуСм Ρ„Ρ€Π°ΠΊΡ‚Π°Π» ΠœΠ°Π½Π΄Π΅Π»ΡŒΠ±Ρ€ΠΎΡ‚Π°

Π£Ρ€ΠΎΠΊ 35. Π‘++ ΠšΠΈΡ‚ ΠΈ ΠΊΠΎΡ‚

Π£Ρ€ΠΎΠΊ 36. Π‘++ Часы

Π£Ρ€ΠΎΠΊ 37. Π‘++ ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠ·Π° Π½Π° ΠΏΡ€ΡƒΠΆΠΈΠ½Π΅

Π£Ρ€ΠΎΠΊ 38. Π‘++ ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΠΈΠ½ΠΊΠΈ

Π£Ρ€ΠΎΠΊ 39. Π‘++ ΠžΠ±Ρ…ΠΎΠ΄ доски ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ½Π΅ΠΌ

Π£Ρ€ΠΎΠΊ 40. Π‘++ ΠžΠ±Ρ…ΠΎΠ΄ доски ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ½Π΅ΠΌ [ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅]

Π£Ρ€ΠΎΠΊ 41. C++ Π’ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ [A* pathfinding]

Π£Ρ€ΠΎΠΊ 42. C++ БроуновскоС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅

Π£Ρ€ΠΎΠΊ 43. C++ Π Π°Π±ΠΎΡ‚Π° с ΠΌΡ‹ΡˆΠΊΠΎΠΉ

Π£Ρ€ΠΎΠΊ 44. C++ РисованиС Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²

Π£Ρ€ΠΎΠΊ 45. C++ Π’ΠΎΠ»Π½Ρ‹

Π£Ρ€ΠΎΠΊ 46. C++ Π₯анойская башня Π±Π΅Π· рСкурсии

Π£Ρ€ΠΎΠΊ 47. C++ Анимация ханойской башня Π² OpenGL

Π£Ρ€ΠΎΠΊ 48. C++ Π—Π°Π³Π°Π΄ΠΊΠ° Π­ΠΉΠ½ΡˆΡ‚Π΅ΠΉΠ½Π°

Π£Ρ€ΠΎΠΊ 49. C++ Π—Π²Π΅Π·Π΄Π½ΠΎΠ΅ Π½Π΅Π±ΠΎ

Π£Ρ€ΠΎΠΊ 50. C++ Matrix Code

Π£Ρ€ΠΎΠΊ 51. C++ Π”Π΅Π»Π΅Π½ΠΈΠ΅

Π£Ρ€ΠΎΠΊ 52. C++ Π‘ΠΏΡ€Π°ΠΉΡ‚Ρ‹

Π£Ρ€ΠΎΠΊ 53. C++ Код Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°

Π£Ρ€ΠΎΠΊ 54. Π‘++ Быстрая сортировка

Π£Ρ€ΠΎΠΊ 55. C++ Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ числа (Ρ‡Π°ΡΡ‚ΡŒ 1)

Π£Ρ€ΠΎΠΊ 56. C++ Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ числа (Ρ‡Π°ΡΡ‚ΡŒ 2)

Π£Ρ€ΠΎΠΊ 57. C++ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° слияниСм

Π£Ρ€ΠΎΠΊ 58. C++ ΠœΡƒΠ·Ρ‹ΠΊΠ°

Π£Ρ€ΠΎΠΊ 59. C++ Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π£Ρ€ΠΎΠΊ 60. C++ РимскиС числа

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *