Код ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° c: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€». Π―Π·Ρ‹ΠΊ программирования C

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

Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° — Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ПК ΠΈ сСрвСрами


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



Из этой ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Linux / Unix Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅: ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Linux


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ UNIX? ОБ UNIX Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ 1960-Ρ… Π³ΠΎΠ΄ΠΎΠ². Компания AT&T Bell Labs


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Shell Scripting β€” это ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, прСдназначСнная для


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ процСсс? ЭкзСмпляр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ называСтся процСссом. ΠŸΡ€ΠΎΡ‰Π΅ говоря, любая ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π΄Π°Π΅Ρ‚Π΅


Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ



Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Telnet? Telnet β€” это стандартный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP / IP для слуТбы Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…

А.3.1. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Linux. ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅








ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Web-сцСнарий



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Web-сцСнарий
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Web-сцСнарий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ напишСм, Π±ΡƒΠ΄Π΅Ρ‚ совсСм простым. Он Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° Web-страницу Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ.Π’ самом Π½Π°Ρ‡Π°Π»Π΅ этой ΠΊΠ½ΠΈΠ³ΠΈ, приступив ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ HTML, ΠΌΡ‹ создали Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Web-страничку 1.1.htm. НайдСм Π΅Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ Π΅Π΅ HTML- ΠΊΠΎΠ΄Π°,






ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (рис. 6.30) Π΄Π°Π²Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Windows ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ особСнных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ. Она ΠΏΠΎΠ»Π΅Π·Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ часто приходится Π΄Π΅Π»Π°Ρ‚ΡŒ арифмСтичСскиС вычислСния.

Рис. 6.30. Окно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠžΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
#NeTAMS version 3.1(1205.408) compiled by root@avm#configuration built Thu Aug 8 09:03:53 2002#begin#global variables configurationdebug noneuser name admin real–name Admin password aaa email root@localhost permit all#services configurationservice server 0login locallisten 20001max–conn 6service processor 0lookup–delay 60flow–lifetime 180policy name ip target proto ippolicy name www target proto tcp port 80 81 8080 3128policy name






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Web-сцСнарий



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Web-сцСнарий
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Web-сцСнарий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ напишСм, Π±ΡƒΠ΄Π΅Ρ‚ совсСм простым. Он Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π° Web-страницу Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ.Π’ самом Π½Π°Ρ‡Π°Π»Π΅ этой ΠΊΠ½ΠΈΠ³ΠΈ, приступив ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ HTML, ΠΌΡ‹ создали Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Web-страничку 1.1.htm. НайдСм Π΅Π΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π² Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚Π΅. Π’ самом ΠΊΠΎΠ½Ρ†Π΅ Π΅Π΅ HTML- ΠΊΠΎΠ΄Π°,






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π΄ΠΈΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π΄ΠΈΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ
ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. Когда Π΄ΠΈΠΎΠ΄ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, происходит отсСчка: Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ нСзависимо ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала подаСтся сумма напряТСний Π½Π° источникС ΠΈ






ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Удобная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стандартного элСктронного ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°. ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ расчСты, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ – ΠΎΠ½ располоТСн справа. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ «ΠΏΠΎΠ»ΡŒΠ·Ρƒ» структурированной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² подходящСм ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создали Π½ΠΎΠ²ΠΎΠ΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΈΠΌΠ΅Π½eΠΌ SimpleException, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°
Π’ Π½Π°Ρ‡Π°Π»Π΅ освоСния ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°ΠΌΠΈ Ρƒ программиста ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с рассмотрСния ΠΎΡ‡Π΅Π½ΡŒ простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ созданный Π½Π°ΠΌΠΈ Ρ‚ΠΈΠΏ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π° BinaryOp. Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹






ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Π£Π΄ΠΎΠ±Π½Ρ‹ΠΌ инструмСнтом для выполнСния вычислСний, прСобразования Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ являСтся ΠΏΠ°Π»ΠΈΡ‚Ρ€Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:β€’ матСматичСскиС ΠΈ тригономСтричСскиС расчСты;β€’ просмотр ΠΈ






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€
Когда Π²Ρ‹ создаСтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ интСрфСйсом ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ срСдств MFC AppWizard, Π² послСднСй Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс для ΠΎΠΊΠ½Π° просмотра прилоТСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс CView.ΠžΡ‚ класса






8.3. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



8.3. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… β€” Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΌ (рис.Β 71) ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ (рис.Β 72). Π’ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ вычислСния Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах счислСния (дСсятичной, ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ, Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ, Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ), Π° Ρ‚Π°ΠΊΠΆΠ΅






2.6.3. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



2.6.3. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, входящая Π² состав Windows,Β β€” это ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (рис.Β 2.135).

ΠŸΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡΡ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ… Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ чисСл ΠΊΠΎΡ€Π΅Π½ΡŒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‡Π΅Π½ΡŒ просто β€” Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ число






ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€



ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€
Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, основноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° – ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ.Для матСматичСских вычислСний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΡ‡Π΅Π½ΡŒ подходящим Π΅ΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (рис.Β 17.5).

Рис.Β 17.5. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ WindowsΠ•Π΅ интСрфСйс Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ самый ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€.






ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ COM-вирус



ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ COM-вирус
Π’ Π½Π°Ρ‡Π°Π»Π΅ COM-Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится ΠΊΠΎΠΌΠ°Π½Π΄Π° бСзусловного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° JMP, состоящая ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ содСрТит ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ 0E9h, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° – адрСс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ рассматриваСмый Π½ΠΈΠΆΠ΅ вирус ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ COM-Ρ„Π°ΠΉΠ»Ρ‹,














Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅?

ВсСм Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам хочСтся послС прохоТдСния Π²Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ курса ΠΏΠΎ языку программирования ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ сСбя Π² создании Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ практичСски ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ. ΠœΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ Π² дСйствии самый настоящий ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, созданный Π·Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° ЯП ΠŸΠΈΡ‚ΠΎΠ½.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считываСт ΠΈΠ· строки Π²Π²ΠΎΠ΄Π° Ρ‚Ρ€ΠΈ строки: 1-ΠΎΠ΅ число, 2-ΠΎΠ΅ число ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, послС Ρ‡Π΅Π³ΠΎ примСняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΊ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΌ числам («ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число» «ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ» «Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число»), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран.

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: +, -, /, *, mod, pow, div

,Π³Π΄Π΅

  • mod β€” это взятиС остатка ΠΎΡ‚ дСлСния,
  • pow β€” Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ,
  • div β€” цСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

Если выполняСтся Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Ρ€Π°Π²Π½ΠΎ 0, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ строку «Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!».

На Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ вСщСствСнныС числа!

Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

x=float(input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x ="))
y=float(input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ y ="))
z=input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (+, -, /, *, mod, pow, div) =")
if z==+:
result=x+y
elif z==-:
result=x-y
elif z==pow:
result=pow(x,y)
elif z==*:
result=x*y
elif y!=0:
if z==/:
result=x/y
elif z==div:
result=x//y
elif z==mod:
result=x%y
elif y==0:
result="Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!"
print("Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний =",result)

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ создания подуровня для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² вСтвлСния обусловлСна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС вычислСния, связанныС с Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ, Ссли Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ записано Π² послСдних строчках ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

elif y==0:  
result="Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!"

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вычислСний ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x = 12
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ y = 12
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (+, -, /, *, mod, pow, div) = pow
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСний = 8916100448256


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅. Β«Π£Π³Π°Π΄Π°ΠΉ число»

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹ΠΉ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Β» (язык C++) β€” ИНЀО-ΠœΠ•Π’ΠžΠ”

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΊΠΈ β„–1 (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Β») Π½Π° языкС C++. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±ΠΎΡ€Π° switch (...) case ... :


// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° "ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°)
    char op;    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-символ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (символьного Ρ‚ΠΈΠΏΠ°)
    
    // Π’Π²ΠΎΠ΄ΠΈΠΌ исходныС Π΄Π°Π½Π½Ρ‹Π΅
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ вычисляСм Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    switch (op) {
        case '+':
            cout << a << op << b << " = " << a + b << endl;
            break;
        case '-':
            cout << a << op << b << " = " << a - b << endl;
            break;
        case '*':
            cout << a << op << b << " = " << a * b << endl;
            break;
        case '/':
            if (b == 0)
                cout << "...Division by zero!" << endl;  // Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль!
            else
                cout << a << op << b << " = " << (double)a / b << endl;
            break;
        default:
            cout << "...Unknown operation!" << endl;  // НСизвСстная опСрация!
    }
    
    return 0;   // Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ) с ΠΊΠΎΠ΄ΠΎΠΌ 0
}

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠ°Π»ΠΎ отличаСтся ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ β€” с использованиСм условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ( if (...) ... else ... ):


// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° "ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°)
    char op;    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-символ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (символьного Ρ‚ΠΈΠΏΠ°)
    
    // Π’Π²ΠΎΠ΄ΠΈΠΌ исходныС Π΄Π°Π½Π½Ρ‹Π΅
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ вычисляСм Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    if (op == '+')
        cout << a << op << b << " = " << a + b << endl;
    else
        if (op == '-')
            cout << a << op << b << " = " << a - b << endl;
        else
            if (op == '*')
                cout << a << op << b << " = " << a * b << endl;
            else
                if (op == '/')
                    if (b == 0)
                        cout << "...Division by zero!" << endl;
                    else
                        cout << a << op << b << " = " << (double)a / b << endl;
                else
                    cout << "...Unknown operation!" << endl;
    
    return 0;   // Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ) с ΠΊΠΎΠ΄ΠΎΠΌ 0
}

Π’ΠΎ ΠΆΠ΅ самоС, Π½ΠΎ для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ оформлСния:


// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° "ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°)
    char op;    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-символ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (символьного Ρ‚ΠΈΠΏΠ°)
    
    // Π’Π²ΠΎΠ΄ΠΈΠΌ исходныС Π΄Π°Π½Π½Ρ‹Π΅
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;
    
    // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ вычисляСм Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    if (op == '+')
        cout << a << op << b << " = " << a + b << endl;
    else if (op == '-')
        cout << a << op << b << " = " << a - b << endl;
    else if (op == '*')
        cout << a << op << b << " = " << a * b << endl;
    else if (op == '/')
        if (b == 0)
            cout << "...Division by zero!" << endl;
        else
            cout << a << op << b << " = " << (double)a / b << endl;
    else
        cout << "...Unknown operation!" << endl;
    
    return 0;   // Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ) с ΠΊΠΎΠ΄ΠΎΠΌ 0
}

И Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” с использованиСм скобок (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΈ Π² арифмСтичСских выраТСниях), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС, собствСнно, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚:


// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° "ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€"
#include <iostream>

using namespace std;

int main()
{
    int a, b;   // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ (Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°)
    char op;    // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ-символ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (символьного Ρ‚ΠΈΠΏΠ°)

    // Π’Π²ΠΎΠ΄ΠΈΠΌ исходныС Π΄Π°Π½Π½Ρ‹Π΅
    cout << "The simplest calculator." << endl;
    cout << "Enter arithmetic expression [e.g. a + b ]: ";
    cin >> a >> op >> b;

    // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΈ вычисляСм Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
    if (op == '+') {
        cout << a << op << b << " = " << (a + b) << endl;
    } else if (op == '-') {
        cout << a << op << b << " = " << (a - b) << endl;
    } else if (op == '*') {
        cout << a << op << b << " = " << (a * b) << endl;
    } else if (op == '/') {
        if (b == 0)
            cout << "...Division by zero!" << endl;
        else
            cout << a << op << b << " = " << ((double)a / b) << endl;
    } else {
        cout << "...Unknown operation!" << endl;
    }

    return 0;   // Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ) с ΠΊΠΎΠ΄ΠΎΠΌ 0
}


visual basic ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

По ΠΏΡ€ΠΎΡΡŒΠ±Π΅ DenJoy«Ρ сСгодня ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. Π­Ρ‚ΠΎ Π½Π°Π²Π΅Ρ€Π½ΠΎ самоС простоС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Basic»Π΅ =), Ρ‚.ΠΊ. Ρ‚Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ это всС Π»Π΅Π³ΠΊΠΎ, Π½ΠΎ я понимаю DenJoy, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Ρ‚ΡŒ. Π― сам ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ Π±Ρ‹Π» Ρ‚Π°ΠΊΠΈΠΌ. ВсС Ρ…Π²Π°Ρ‚ΠΈΡ‚ ! ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Для Π½Π°Ρ‡Π°Π»Π° посмотрим Π²ΠΈΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ:

Β Π’ Π²Π΅Ρ€Ρ…Π½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ тСкстовоС ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Ρ†ΠΈΡ„Ρ€Ρ‹. Π’ ΠΏΡ€Π°Π²ΠΎΠ΅ — Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ΠΉ Π·Π½Π°ΠΊ. Ну ΠΈ Π² Π½ΠΈΠ·Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ с Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ.

Π—Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°:Β 

Β Β  1. Π”Π²Π° тСкстовых поля с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈText1 ΠΈ Text2. Π£ Π½ΠΈΡ… свойство Enabled ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ€Π°Π²Π½Ρ‹ΠΌ False, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… нСльзя Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.

Β 2. ΠŸΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ с ΠΈΡ… стандартными Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ. Но ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽ !!! Π£ мСня ΠΎΠ½ΠΈ

Β ΠΈΠ΄ΡƒΡ‚ Π½Π΅ попорядку, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ΡΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΌΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с исходниками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пишСм ΠΊΠΎΠ΄:

» Π’Π²ΠΎΠ΄ΠΈΠΌ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, для присвоСния ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ Π½Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅
Dim a As String
Dim b As String

Private Sub Command1_Click()
» ΠŸΡ€ΠΈ Π½Π°ΠΆΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ с Ρ†ΠΈΡ„Ρ€ΠΎΠΉ «1», Π² тСкстовом ΠΏΠΎΠ»Π΅ появится «1»
Text1.Text = Text1.Text & «1»
End Sub

Private Sub Command11_Click()

» ПослС наТатия Π½Π° «*», присваиваСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «a» число ΠΈΠ· тСкстового поля β„–1

a = Text1.Text

» Π’ малСнькоС тСкстовоС ΠΏΠΎΠ»Π΅, пишСм Π·Π½Π°ΠΊ «*»
Text2.Text = «*»

» ΠžΡ‚Ρ‡ΠΈΡ‰Π°Π΅ΠΌ тСксотовоС ΠΏΠΎΠ»Π΅ β„–1
Text1.Text = «»
End Sub

Β 

Private Sub Command12_Click()

» ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° «=», присваиваСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «b» Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΈΠ· тСкстового поля β„–1
b = Text1.Text

» Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Π·Π½Π°ΠΊ Π² тСкстовом ΠΏΠΎΠ»Π΅ β„–2 ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠ΅ дСйствиС
If Text2.Text = «*»Then
Text1.Text = a * b
End If
If
Text2.Text = «/» Then
Text1.Text = a / b
End If
If
Text2.Text = «-» Then
Text1.Text = a — b
End If
End Sub

Β 

Private Sub Command13_Click()

» ΠžΡ‚Ρ‡ΠΈΡ‰Π°Π΅ΠΌ всС тСкстовыС поля
Text1.Text = «»
Text2.Text = «»
End Sub

Β 

Private Sub Command14_Click()
» ПослС наТатия Π½Π° «-«, присваиваСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «a» число ΠΈΠ· тСкстового поля β„–1

a = Text1.Text
Text2.Text = «-«
Text1.Text = «»
End Sub

Β 

Private Sub Command15_Click()
» ПослС наТатия Π½Π° «/», присваиваСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «a» число ΠΈΠ· тСкстового поля β„–1

a = Text1.Text
Text2.Text = «/»
Text1.Text = «»
End Sub

Β 

» ВсС Ρ‡Ρ‚ΠΎ Π½ΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ: ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, ΠΎΠ½Π° отабраТаСтся Π² тСкстовом ΠΏΠΎΠ»Π΅ β„–1

Β 

Private Sub Command2_Click()
Text1.Text = Text1.Text & «5»
End Sub

Β 

Private Sub Command3_Click()
Text1.Text = Text1.Text & «4»
End Sub

Β 

Private Sub Command4_Click()
Text1.Text = Text1.Text & «3»
End Sub

Β 

Private Sub Command5_Click()
Text1.Text = Text1.Text & «2»
End Sub

Β 

Private Sub Command6_Click()
Text1.Text = Text1.Text & «6»
End Sub

Β 

Private Sub Command7_Click()
Text1.Text = Text1.Text & «0»
End Sub

Β 

Private Sub Command8_Click()
Text1.Text = Text1.Text & «9»
End Sub

Β 

Private Sub Command9_Click()
Text1.Text = Text1.Text & «8»
End Sub

Β 

Private Sub Command10_Click()
Text1.Text = Text1.Text & «7»
End Sub

Β 

Β 

Π’ΠΎΡ‚, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, ΠΈ всС. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию. Π― сдСлал Π΅Π³ΠΎ ΠΌΠΈΠ½ΡƒΡ‚ Π·Π° 5-7. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ =). Π•Ρ‰Π΅ Ρ€Π°Π· Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡŽΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‚ΡŒ какая ΠΊΠ½ΠΎΠΏΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° C++

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ: admin

ΠœΠ΅Ρ‚ΠΊΠΈ: Новичку / Π‘++

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° C++ для консоли ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π΄ΡƒΠΌΠ°ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ интСрСсно.

Π’Π°ΠΊΠΆΠ΅ посмотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ «Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Qt 5 Π½Π° Linux UbuntuΒ», Ссли Π²Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° C++, Ρ‚ΠΎ Π²Π°ΠΌ стоит ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эту IDE.

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° C++ Π² консоли:

Как Π²Ρ‹ ΡƒΠΆΠ΅ поняли, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, для консоли ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, зависимо Π½Π° ΠΊΠ°ΠΊΠΎΠΉ OS Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.

Π’ Π½Π°Ρ‡Π°Π»Π΅ объявим всС Π½ΡƒΠΆΠ½Ρ‹Π΅ для нас ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

float a, b, c;

char d;

int p;

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ какая пСрСмСнная, для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Π°, a ΠΈ b Π½ΡƒΠΆΠ½Ρ‹ для записывания чисСл Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ дСйствия, Π° Π² c записываСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ d Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС Π·Π½Π°ΠΊ дСйствия, p Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° дСйствия счёта ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΎΠ½Π° Π½Π΅ сильно большая, поэтому Ρƒ вас Π½Π΅ Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

while (p != 2)

{

Β Β Β Β // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ

Β Β Β Β cout << «1 = calculator \n2 — exit \n»;

Β Β Β Β // Π’Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ p

Β Β Β Β cin >> p;

Β Β Β Β // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ p

Β Β Β Β switch (p)

Β Β Β Β {Β Β  // Если p Ρ€Π°Π²Π½ΠΎ 1

Β Β Β Β Β Β Β Β case 1:

Β Β Β Β {

Β Β Β Β Β Β Β Β cout <<«First number «;

Β Β Β Β Β Β Β Β // Π’Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число

Β Β Β Β Β Β Β Β cin >> a;

Β Β Β Β Β Β Β Β cout << «Action with numbers «;

Β Β Β Β Β Β Β Β // Π’Π²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°ΠΊ дСйствия

Β Β Β Β Β Β Β Β cin >> d;

Β Β Β Β Β Β Β Β cout << «Second number «;

Β Β Β Β Β Β Β Β // Π’Π²ΠΎΠ΄ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число

Β Β Β Β Β Β Β Β cin >> b;

Β Β Β Β Β Β Β Β // Если Π·Π½Π°ΠΊ дСйствия Ρ€Π°Π²Π΅Π½ +

Β Β Β Β Β Β Β Β if (d == ‘+’)

Β Β Β Β Β Β Β Β Β Β Β Β // Π’ΠΎ складываСм числа

Β Β Β Β Β Β Β Β Β Β Β Β c = a + b;

Β Β Β Β Β Β Β Β // Если Π·Π½Π°ΠΊ дСйствия Ρ€Π°Π²Π΅Π½ —

Β Β Β Β Β Β Β Β if (d == ‘-‘)

Β Β Β Β Β Β Β Β Β Β Β Β // Π’ΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌ числа

Β Β Β Β Β Β Β Β Β Β Β Β c = a — b;

Β Β Β Β Β Β Β Β // Если Π·Π½Π°ΠΊ дСйствия Ρ€Π°Π²Π΅Π½ *

Β Β Β Β Β Β Β Β if (d == ‘*’)

Β Β Β Β Β Β Β Β Β Β Β Β // Π’ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ

Β Β Β Β Β Β Β Β Β Β Β Β c = a * b;

Β Β Β Β Β Β Β Β // Если Π·Π½Π°ΠΊ дСйствия Ρ€Π°Π²Π΅Π½ /

Β Β Β Β Β Β Β Β if (d == ‘/’)

Β Β Β Β Β Β Β Β Β Β Β Β // Π’ΠΎ Π΄Π΅Π»ΠΈΠΌ

Β Β Β Β Β Β Β Β Β Β Β Β c = a / b;

Β Β Β Β }

Β Β Β Β Β Β Β Β // Если p Ρ€Π°Π²Π½ΠΎ 2

Β Β Β Β Β Β Β Β case 2:

Β Β Β Β {Β Β  // Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°

Β Β Β Β Β Β Β Β break;

Β Β Β Β }

Β Β Β Β }

Β Β Β Β // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Β Β Β Β cout << «Result = » << c <<endl;

}

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΌΡ‹ Π΄Π°Ρ‘ΠΌ Π²Ρ‹Π±ΠΎΡ€, Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ матСматичСскиС дСйствия, ΠΈΠ»ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ всё это происходит Π² Ρ†ΠΈΠΊΠ»Π΅.

Если Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ произвСсти дСйствиС, Ρ‚ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число, ΠΏΠΎΡ‚ΠΎΠΌ дСйствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, зависимо ΠΎΡ‚ этого Π²Π²ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ Π·Π½Π°ΠΊ.

ВсСго доступно Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅, это слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ввСсти ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ Π½Π° этом этапС, это Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» соотвСтствСнно.

ΠŸΠΎΡ‚ΠΎΠΌ Π²Π²ΠΎΠ΄ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число, ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ всё ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅ всё ΠΎΡ‡Π΅Π½ΡŒ просто.

Π’Ρ‹Π²ΠΎΠ΄:

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° C++, ΠΈ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΡƒΡ‚ всё ΠΎΡ‡Π΅Π½ΡŒ просто, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π° этом языкС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ ΠΏΠΎΠΊΡ€ΡƒΡ‡Π΅, Π½ΠΎ Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, Ρ‚ΠΎ этого Π΄ΡƒΠΌΠ°ΡŽ Π²Π°ΠΌ ΠΏΠΎΠΊΠ° Ρ…Π²Π°Ρ‚ΠΈΡ‚.

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° всС соц-сСти Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… статСй Π±ΡƒΠ΄Π΅Ρ‚.

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π° соц-сСти:

ΠžΡ†Π΅Π½ΠΊΠ°:

(Пока ΠΎΡ†Π΅Π½ΠΎΠΊ Π½Π΅Ρ‚)

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

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

Пока ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½Π΅Ρ‚

Π’Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ:

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° Python 3

ВступлСниС

Π―Π·Ρ‹ΠΊ программирования Python — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числами ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ матСматичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ качСство ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано для создания ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π­Ρ‚ΠΎ руководство прСдставляСт собой ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Python 3. Π₯отя ΠΌΡ‹ рассмотрим ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов создания этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, сущСствуСт мноТСство возмоТностСй ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ

Для этого ΡƒΡ€ΠΎΠΊΠ° Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Python 3 Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ Π½Π° Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна ​​срСда программирования. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python, Π»ΠΈΠ±ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСду, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это, слСдуя https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local- Programming Environment-for-Python-3 [ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ руководство для вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы].

Π¨Π°Π³ 1 — Запрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π²Π²ΠΎΠ΄

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго, ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ прСдоставляСт уравнСния для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. ΠœΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π²Π²ΠΎΠ΄ΠΈΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π».

Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π² Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + input () +, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’Π½ΡƒΡ‚Ρ€ΠΈ скобок Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + input () + ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ string, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ , ΠœΡ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Для этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» Π΄Π²Π° числа, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ запросим Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π²Π° числа. ΠŸΡ€ΠΈ запросС Π²Π²ΠΎΠ΄Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» Π² ΠΊΠΎΠ½Ρ†Π΅ нашСй строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ строкой подсказки Π±Ρ‹Π» ΠΏΡ€ΠΎΠ±Π΅Π».

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

ПослС написания Π΄Π²ΡƒΡ… строк ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ + calculator.py + ΠΈ Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² нашСй срСдС программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ + python calculator.py +. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅.

OutputEnter your first number:
Enter your second number:

Если Π²Ρ‹ запуститС эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ нСсколько Ρ€Π°Π· ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ свой Π²Π²ΠΎΠ΄, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ появлСнии запроса Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти всС, Ρ‡Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ слова, символы, ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ просто ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ + input () + ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ strings ΠΈ Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ являСмся ΠΈΡ‰Ρƒ Π½ΠΎΠΌΠ΅Ρ€.

ΠœΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ число Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: 1) Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠ³Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ матСматичСскиС вычислСния, ΠΈ 2) для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ строку.

Π’ зависимости ΠΎΡ‚ Π½Π°ΡˆΠΈΡ… потрСбностСй Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΡƒΡŽ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + input () +, Π² Ρ†Π΅Π»ΠΎΠ΅ число ΠΈΠ»ΠΈ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. Для нас Ρ†Π΅Π»Ρ‹Π΅ числа ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ нашСй Ρ†Π΅Π»ΠΈ, поэтому ΠΌΡ‹ ΠΎΠ±Π΅Ρ€Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + input () + Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + int () + Π² https://www.digitalocean.com/community/tutorials/how- to-convert-data-types-in-python-3 [ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ] Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Π°Π½Π½Ρ‹Π΅ integer Ρ‚ΠΈΠΏ.

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа, ΠΌΡ‹ Π½Π΅ столкнСмся с ошибкой:

OutputEnter your first number:
Enter your second number:

Но Ссли ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ Π±ΡƒΠΊΠ²Ρ‹, символы ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΌΡ‹ столкнСмся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ошибкой:

OutputEnter your first number: sammy
Traceback (most recent call last):
 File "testing.py", line 1, in <module>
   number_1 = int(input('Enter your first number: '))
ValueError: invalid literal for int() with base 10: 'sammy'

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ установили Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для хранСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π² Π²ΠΈΠ΄Π΅ цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Π¨Π°Π³ 2 — Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ всСго 4 matСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²: + для слоТСния, + - + для вычитания, + * + для умноТСния ΠΈ + / + для дСлСния.

Когда ΠΌΡ‹ создаСм Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ каТдая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, поэтому здСсь ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с настройки добавлСния. ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π° числа Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΌΠΎΠ³ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ Π΄Π²Π° числа, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ

OutputEnter your first number:
Enter your second number:

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ контСкста, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±Ρ‹Π» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ string formatters, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш тСкст ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ числах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π²Π²ΠΎΠ΄ΠΈΡ‚, ΠΈ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСстС с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))


print(number_1 + number_2)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ матСматичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выполняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

OutputEnter your first number:
Enter your second number:
+  =

ИспользованиС строковых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€ΠΎΠ² прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ большС ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ².

На этом этапС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали для добавлСния:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

# Addition
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

# Subtraction



# Multiplication



# Division

ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ + - +, + * + ΠΈ + / + Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹ΡˆΠ΅. Если ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ всС Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Однако ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π·Π° Ρ€Π°Π·. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ условныС выраТСния.

Π¨Π°Π³ 3 — Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

Π‘ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ + calculator.py + ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ с добавлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вмСстС с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠœΡ‹ напишСм строку Π² нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

'''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
'''

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· символов ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой Π²Ρ‹Π±ΠΎΡ€, поэтому, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ + / +. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой символ, ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ +1 для слоТСния + ​​или + b для вычитания +.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ просим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ввСсти Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + input () +. ΠœΡ‹ помСстим строку Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + input () + ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ + operation +.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

На этом этапС, Ссли ΠΌΡ‹ запускаСм Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ наши условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ структурировали Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + if + Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΌ, Π³Π΄Π΅ выполняСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ 3 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° else-if ΠΈΠ»ΠΈ + elif + для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + else + Π±ΡƒΠ΄Π΅Ρ‚ установлСн для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки, Ссли Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΠ» символ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if operation == '+':
   print('{} + {} = '.format(number_1, number_2))
   print(number_1 + number_2)

elif operation == '-':
   print('{} - {} = '.format(number_1, number_2))
   print(number_1 - number_2)

elif operation == '*':
   print('{} * {} = '.format(number_1, number_2))
   print(number_1 * number_2)

elif operation == '/':
   print('{} / {} = '.format(number_1, number_2))
   print(number_1 / number_2)

else:
   print('You have not typed a valid operator, please run the program again.')

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, сначала ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ввСсти символ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠœΡ‹ скаТСм, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ + * + для умноТСния. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ 2 числа, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ + 58 + ΠΈ + 40 +. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

OutputPlease type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division

Please enter the first number:
Please enter the second number:
*  =

Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ структурируСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Β«+% +Β» ΠΏΡ€ΠΈ запросС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ, ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π²Π²Π΅Π΄Π΅Ρ‚ числа. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ситуаций.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π½ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π¨Π°Π³ 4 — ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала помСстим наш ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠœΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + Calculate () + ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ слой отступа Π²Π½ΡƒΡ‚Ρ€ΠΈ самой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π²Π½ΠΈΠ·Ρƒ нашСго Ρ„Π°ΠΉΠ»Π°.

# Define our function

   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

   number_1 = int(input('Please enter the first number: '))
   number_2 = int(input('Please enter the second number: '))

   if operation == '+':
       print('{} + {} = '.format(number_1, number_2))
       print(number_1 + number_2)

   elif operation == '-':
       print('{} - {} = '.format(number_1, number_2))
       print(number_1 - number_2)

   elif operation == '*':
       print('{} * {} = '.format(number_1, number_2))
       print(number_1 * number_2)

   elif operation == '/':
       print('{} / {} = '.format(number_1, number_2))
       print(number_1 / number_2)

   else:
       print('You have not typed a valid operator, please run the program again.')

# Call calculate() outside of the function

Π”Π°Π»Π΅Π΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π’ этом Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±ΠΎΡ€ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, хотят Π»ΠΈ ΠΎΠ½ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ снова ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ это Π½Π° Π½Π°ΡˆΠΈΡ… условных выраТСниях ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°, Π½ΠΎ Π² этом случаС Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ + if +, ΠΎΠ΄ΠΈΠ½ + elif + ΠΈ ΠΎΠ΄ΠΈΠ½ + else + для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок.

ΠœΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + again () + ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΅ Π½ΠΈΠΆΠ΅ нашСго ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° + def define (): +.

...
# Define again() function to ask user if they want to use the calculator again


   # Take input from user





   # If user types Y, run the calculate() function



   # If user types N, say good-bye to the user and end the program



   # If user types another key, run the function again



# Call calculate() outside of the function
calculate()

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСкоторая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ else, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹, вСроятно, ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, скаТСм, + y + ΠΈ + n + Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ + Y + Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС ΠΈ + N +. Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ string + str.upper () +:

...
def again():
   calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

   # Accept 'y' or 'Y' by adding str.upper()
   if calc_again == 'Y':
       calculate()

   # Accept 'n' or 'N' by adding str.upper()
   elif calc_again == 'N':
       print('See you later.')

   else:
       again()
...

На этом этапС ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ + again () + Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ + Calculate () +, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, хотят Π»ΠΈ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ.

def calculate():
   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

   number_1 = int(input('Please enter the first number: '))
   number_2 = int(input('Please enter the second number: '))

   if operation == '+':
       print('{} + {} = '.format(number_1, number_2))
       print(number_1 + number_2)

   elif operation == '-':
       print('{} - {} = '.format(number_1, number_2))
       print(number_1 - number_2)

   elif operation == '*':
       print('{} * {} = '.format(number_1, number_2))
       print(number_1 * number_2)

   elif operation == '/':
       print('{} / {} = '.format(number_1, number_2))
       print(number_1 / number_2)

   else:
       print('You have not typed a valid operator, please run the program again.')

   # Add again() function to calculate() function


def again():
   calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

   if calc_again.upper() == 'Y':
       calculate()
   elif calc_again.upper() == 'N':
       print('See you later.')
   else:
       again()

calculate()

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ + python calculator.py + Π² ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΈ Π²Ρ‹ смоТСтС Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Π¨Π°Π³ 5 — Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

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

def welcome():
   print('''
Welcome to Calculator
''')
...
# Don’t forget to call the function
welcome()
calculate()

Π•ΡΡ‚ΡŒ возмоТности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти большС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π²ΠΎ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Для Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ + plankton + ΠΏΡ€ΠΈ запросС числа. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли + number_1 + ΠΈ + number_2 + Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для случаСв, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ дСлСния (+ / +) ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ + 0 + для своСго Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ числа (+ number_2 +), ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ + ZeroDivisionError: Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль + ошибка. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `+ try …​ ΠΊΡ€ΠΎΠΌΠ΅ + `заявлСниС.

ΠœΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠ°ΠΊ Π²:

...
   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division


''')
...
# Don’t forget to add more conditional statements to solve for power and modulo

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»Π°.

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ способов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок, измСнСния ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° кодирования. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ сущСствуСт СдинствСнно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ способа Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ сталкиваСмся.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом руководствС описан ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ созданию ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого руководства Π²Ρ‹ смоТСтС ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

ΠœΡ‹ заинтСрСсованы Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ваши Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для этого простого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки! ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π² коммСнтариях Π½ΠΈΠΆΠ΅.

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ, Ρ‚Π°ΠΊΡƒΡŽ ​​как крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π½ΠΎΠΆΠ½ΠΈΡ†Ρ‹.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

C для проСктирования ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями с использованиСм ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ

Π”ΠΎΠΌ »
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Π΅ Π½Π° C Β»
C ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ корпуса

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ +, -, *, /,%, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² соотвСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, это полная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° для основных арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch Π½Π° языкС программирования c .

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ

 / * C ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для проСктирования ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ.* /
 
#include 
 
int main ()
{
    int num1, num2;
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ;
    char ch; // ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°
     
    printf ("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число:");
    scanf ("% d", & num1);
    printf ("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число:");
    scanf ("% d", & num2);
     
    printf ("Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для выполнСния (+, -, *, /,%):");
    scanf ("% c", & ch);
     
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = 0;
    ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ (ch)
    {
        case '+':
            Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = число1 + число2;
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;
             
        кСйс '-':
            Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = число1-число2;
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;
         
        кСйс '*':
            Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = число1 * число2;
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;
             
        кСйс '/':
            Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = (число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой) число1 / (число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ) число2;
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;
             
        кСйс '%':
            Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = число1% число2;
            ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;
Π΄Π΅Ρ„ΠΎΠ»Ρ‚:
            printf ("НСвСрная опСрация.\ n ");
    }
 
    printf ("Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:% d% c% d =% f \ n", num1, ch, num2, result);
    Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 0;
}
 

Π’Ρ‹Ρ…ΠΎΠ΄

 ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запуск:
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: 10
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: 20
    Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для выполнСния (+, -, *, /,%): +
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 10 + 20 = 30,000000

    Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³ΠΎΠ½:
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: 10
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: 3
    Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для выполнСния (+, -, *, /,%): /
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 10/3 = 3.333333

    Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΎΠ³ΠΎΠ½:
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: 10
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: 3
    Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ для выполнСния (+, -, *, /,%):>
    НСвСрная опСрация.
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 10> 3 = 0,000000

 

C Switch Case ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β»


TOP ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ / трудности программирования ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ

ΠžΠ‘ΠͺΠ―Π’Π›Π•ΠΠ˜Π•

[Ρ€Π΅ΡˆΠ΅Π½ΠΎ] Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π² C

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ! : смСх:
Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊ ΠΎ написании элСктронного письма: ΡƒΡΠΏΠ΅ΡˆΠ½Π°Ρ компиляция ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали элСктронноС письмо Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ языкС — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° английском, Π° Π½Π΅ Π½Π° Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΎΠΌ, — Π° Π½Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСктронноС письмо содСрТало сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ этап Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π½Π° самом Π΄Π΅Π»Π΅ это Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΈΠ»ΠΈ пятый, Π½ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚Π΅ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌ этапам ΠΏΠΎΠ·ΠΆΠ΅): тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

Для Π½Π°Ρ‡Π°Π»Π° посмотритС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ Ρ‡Π΅ΠΌ это отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ это Π΄Π΅Π»Π°Π΅Ρ‚. НапримСр, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ число, ΠΈ ΠΎΠ½Π° ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚, Ρ‚ΠΎ, Ссли Π²Π²ΠΎΠ΄ / Π²Ρ‹Π²ΠΎΠ΄ Π±Ρ‹Π» Ρ‚Π°ΠΊΠΈΠΌ:

Π’Ρ…ΠΎΠ΄ ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ ЀактичСский Π²Ρ‹Ρ…ΠΎΠ΄
  1 2 1
  2 4 4
  3 6 9
  4 8 16 

Π’ΠΎΠ³Π΄Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Π±ΠΈΡ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ — ΠΎΠ½ Π½Π΅ прибавляСт сСбя ΠΊ самому сСбС ΠΈΠ»ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° 2, ΠΎΠ½ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° сСбя ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π²Π²ΠΎΠ΄Π°.
Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ΄, ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π³Π΄Π΅-Ρ‚ΠΎ здСсь:

int Double (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ int)
   {
   Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ * Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
   } 

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Когда ΠΎΠ½ достигнСт Ρ‚ΠΎΡ‡ΠΊΠΈ останова, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ остановится ΠΈ пСрСдаст ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ построчно (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ «пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Β») ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ) содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости (Ρ‡Π΅Ρ€Ρ‚ возьми, Π²Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ).
ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ каТдая строка Π² ΠΊΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ сравнитС это с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сдСлала, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Step overΒ» для выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π‘Π΄Π΅Π»Π°Π» Π»ΠΈ ΠΎΠ½ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ? Если Π΄Π°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС.
Если Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ? Π§Π΅ΠΌ ΠΎΠ½ отличаСтся?
НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ части этого ΠΊΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.
Π­Ρ‚ΠΎ Π½Π°Π²Ρ‹ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стоит Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΊΠ°ΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, Ρ‚Π°ΠΊ ΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.И, ΠΊΠ°ΠΊ ΠΈ всС Π½Π°Π²Ρ‹ΠΊΠΈ, ΠΎΠ½ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании!
ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ — Π²ΠΈΠ΄Π΅ΠΎ

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° языкС C. Π­Ρ‚ΠΎΡ‚ простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π•ΡΡ‚ΡŒ Π΄Π²Π° способа ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π² создании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ +, — ΠΈ -.

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° языкС C Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ бСсплатный исходный ΠΊΠΎΠ΄ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ исходный ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сСйчас». Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ созданиС ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° языкС C, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ установлСна ​​программа Code Blocks ΠΈΠ»ΠΈ любая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° C.

ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° языкС C: шаги ΠΏΠΎ созданию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

НСобходимоС врСмя: 5 ΠΌΠΈΠ½ΡƒΡ‚.

Π’ΠΎΡ‚ шаг ΠΏΠΎ созданию ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

  • Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

    Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° IDE ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β« ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β».

  • Π¨Π°Π³ 2: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

    Π—Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β« консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β», Π° послС этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β« ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Β».

  • Π¨Π°Π³ 3: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык C.

    Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β« C language Β» ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β« next Β».

  • Π¨Π°Π³ 4: НазовитС свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

    НаконСц, Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ созданный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β« ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Β», послС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β« Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Β».

  • Π¨Π°Π³ 5: ЀактичСский ΠΊΠΎΠ΄.

    НаконСц, ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π½Π°ΡˆΡƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ C, добавляя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹. символ для Power
    Enter! символ для Factorial

    • Π’Ρ‹Π²ΠΎΠ΄ для Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ символ *, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попросит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π° числа для выполнСния умноТСния. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ * ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ 4 Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 5. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ENTER, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° снимкС экрана Π½ΠΈΠΆΠ΅:

    • Π’Ρ‹Π²ΠΎΠ΄ для ΠΎΠΊΠ½Π° умноТСния Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ Π½Π° C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ +, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попросит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти Π»ΡŽΠ±Ρ‹Π΅ Π΄Π²Π° числа для выполнСния умноТСния.НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ + ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ 10 Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 12, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 13, Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 12. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ENTER, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° снимок экрана Π½ΠΈΠΆΠ΅:

    • Π’Ρ‹Π²ΠΎΠ΄ ΠΎΠΊΠ½Π° слоТСния Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ -, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попросит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти количСство элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅.НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ — ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ 45 Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 20. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ENTER, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° снимкС экрана Π½ΠΈΠΆΠ΅:

    • Π’Ρ‹Π²ΠΎΠ΄ ΠΎΠΊΠ½Π° вычитания Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅. Π½Π° C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ / символ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попросит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти количСство элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅. НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ символ / ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ 39 Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 3.символ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 5 Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ 5. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ENTER, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° снимкС экрана Π½ΠΈΠΆΠ΅:

    • Π’Ρ‹Π²ΠΎΠ΄ для ΠΎΠΊΠ½Π° мощности Π² ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ Π½Π° языкС C с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ:

    О ΠŸΠ ΠžΠ•ΠšΠ’Π• Π”Π•Π’ΠΠ›Π˜ ΠŸΠ ΠžΠ•ΠšΠ’Π
    НазваниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° C
    Π―Π·Ρ‹ΠΊ программирования: 57
    Π―Π·Ρ‹ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 57 Π―Π·Ρ‹ΠΊ программирования C
    Имя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: itsourcecode.com
    IDE Tool (рСкомСндуСтся): Dev-C ++ / Codeblocks
    Π’ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
    Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…: Ρ„Π°ΠΉΠ» БохраняСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅.
    Π”Π°Ρ‚Π° ΠΈ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: 21 июля 2021 — 5:02

    Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ быстроС сканированиС Π½Π° вирусы для бСзопасности Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

    Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ быстроС сканированиС для бСзопасности Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

    Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

    Запросы

    Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ прСдлоТСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° языкС C с Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ , поТалуйста, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½ΠΈΠΆΠ΅ .

    DIY ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ :: ΠœΠ°Π»Ρ‹ΠΉ компилятор C


    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ассСмблСрС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ, поэтому ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ
    программисты, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык программирования Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ C (Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ назывался «B»),
    ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Bell Laboratories ДСннисом Π ΠΈΡ‡ΠΈ Π² 1972 Π³ΠΎΠ΄Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшой
    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ DIY.

    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ‚Π΅ΠΌ


    Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС ассСмблСра Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ
    Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ процСссом.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ программисты ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ высокоуровнСвыС
    языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΈΡ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.
    НапримСр, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«lowerΒ», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π½Π° C:

    Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° языкС ассСмблСра. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ символ ASCII с ΠΈΠΌΠ΅Π½Π΅ΠΌ c ΠΈ, Ссли этот символ
    находится Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС (ΠΎΡ‚ A Π΄ΠΎ Z), функция Π²Π΅Ρ€Π½Π΅Ρ‚ свой Π°Π½Π°Π»ΠΎΠ³ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС (ΠΎΡ‚ a Π΄ΠΎ z).Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ C,
    Π²Ρ‹, вСроятно, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ смотрСли Π½Π°
    Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ язык ассСмблСра.

    Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΎΠ±Π΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ идСю создания нСбольшого компилятора C для использования с ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ΠΎΠΌ DIY, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ.
    Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅ΠΌΠ°Ρ…; Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС


    ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹
    Если ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компилятор C, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ C (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
    написано Π½Π° C) Π² качСствС Π²Π²ΠΎΠ΄Π°, Π½ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС Π²Ρ‹Π²ΠΎΠ΄Π°? На самом Π΄Π΅Π»Π΅ здСсь Π΅ΡΡ‚ΡŒ Π΄Π²Π° основных сцСнария;
    Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, наш компилятор ΠΌΠΎΠ³ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» *.ram , содСрТащий ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ DIY Calculators, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ компилятор ΠΌΠΎΠΆΠ΅Ρ‚ вывСсти ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» * .asm , содСрТащий исходный ΠΊΠΎΠ΄ сборки DIY Calculator.
    Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» впослСдствии Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ассСмблСра DIY Calculators, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

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

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ Π²Ρ‚ΠΎΡ€ΠΎΠΉ сцСнарий, описанный Π²Ρ‹ΡˆΠ΅, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ компилятор ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сгСнСрировал сборку
    Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ΄Π°, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠΎΠΉΡ‚ΠΈ двумя путями: (Π°) ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ассСмблСр Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ (Π±) компилятор ΠΌΠΎΠ³ Π±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ
    ассСмблСр автоматичСски. Π’ послСднСм случаС, Ссли Π²Ρ‹ создаСтС компилятор C (Π° Π½Π΅ ΠΌΡ‹),
    Ρ‚ΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ ассСмблСр Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° DLL (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ·
    Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, ΠΊΠ°ΠΊ описано Π½Π° страницС О нас / Π‘Π²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ
    Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ Π²Π΅Π±-сайтС DIY Calculator для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.


    Π’Ρ‹Π±ΠΎΡ€ подмноТСства C
    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π³Π»Π°Π²Π½ΠΎΠ΅ сообраТСниС — Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подмноТСство C, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ†Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ
    подмноТСство, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ созданиС компилятора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ Π±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ вСсь язык C, Π±Ρ‹Π»ΠΎ Π±Ρ‹ слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

    Π’Ρ‹Π±ΠΎΡ€ подмноТСства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Π½ΠΎ ΠΏΡ€ΠΈ этом остаСтся достаточно простым для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, являСтся Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, которая
    ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ.ΠœΡ‹ обсудили нСсколько ΠΈΠ΄Π΅ΠΉ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ
    этого письма. Однако ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΌΡ‹ вСрнСмся ΠΊ этой Ρ‚Π΅ΠΌΠ΅ Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅ обсуТдСниС создания Ρ„ΠΎΡ€ΠΌΡ‹ Бэкуса-Наура (BNF) с описаниСм подмноТСства языков, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ.
    для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΠ±Ρ‰ΠΈΠ΅ примСчания Π½ΠΈΠΆΠ΅.


    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ компилятора
    Π₯ΠΌΠΌΠΌ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ Π²Π΄ΠΎΡ… ΠΈΠ· Π½Π°ΡˆΠΈΡ… обсуТдСний Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компилятор C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
    ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ C ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ассСмблСрный ΠΊΠΎΠ΄ DIY Calculator.Однако Π½Π° самом Π΄Π΅Π»Π΅ ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ.
    ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания нашСго компилятора.

    Π—Π°Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅: сущСствуСт мноТСство языков программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ada, Algol, BASIC, C, C ++,
    COBOL, Forth, FORTRAN, Java, Lisp, Pascal, Perl ΠΈ Prolog (ΠΈ это лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…). Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ наш C
    компилятор, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ любой ΠΈΠ· этих языков. На самом Π΄Π΅Π»Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, созданиС компилятора Π½Π° любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС, ΠΊΡ€ΠΎΠΌΠ΅ C, вСроятно,
    заставляСт наш ΠΌΠΎΠ·Π³ Π±ΠΎΠ»Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ сильно, Ρ‡Ρ‚ΠΎ это Π½Π΅ стоит усилий.

    Π₯ΠΎΡ€ΠΎΡˆΠΎ, поэтому, прСдполагая, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ собираСмся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ наш компилятор Π½Π° C, ΠΌΡ‹, вСроятно, скомпилируСм эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ стандарт.
    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° нашСм домашнСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ создали собствСнный компилятор DIY Calculator, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с исходным ΠΊΠΎΠ΄ΠΎΠΌ (написанных Π½Π° нашСм
    C подмноТСство) Π² ΠΊΠΎΠ΄ сборки DIY Calculators, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ впослСдствии ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ собран Π² ΠΌΠ°ΡˆΠΈΠ½Ρƒ DIY Calculators.
    ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    Π­Ρ‚ΠΎ простой сцСнарий, ΠΈ поэтому ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ Π½Π΅ΠΌΡƒ ΠΈ ΡΡ‚Ρ€Π΅ΠΌΠΈΠ»ΠΈΡΡŒ.Однако Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠΏΡƒΡ‰Π΅Π½ΠΈΠ΅ΠΌ с нашСй стороны
    Ссли ΠΌΡ‹ Π½Π΅ упомянули, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π² сказкС, ΠΊΠ°ΠΊ обсуТдаСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΠ΅


    НСмного Π³ΠΎΠ»ΠΎΠ²ΠΎΡ€Π΅Π·ΠΎΠ²
    Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш Ρ€Π°Π·ΡƒΠΌ Π±Ρ‹Π» Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ потрясСн. Но сначала ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ
    наши Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для стимуляции старых ΠΊΠ»Π΅Ρ‚ΠΎΠΊ сСрого ΠΌΠΎΠ·Π³Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ
    ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простыС сцСнарии использования, прСдставлСнныС Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

    Π£Π±Ρ€Π°Π² ласки с Π΄ΠΎΡ€ΠΎΠ³ΠΈ (ΠΈ помня, Ρ‡Ρ‚ΠΎ ΠžΡ€Π»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π»Π΅Ρ‚Π°Ρ‚ΡŒ, Π½ΠΎ ласки Ρ€Π΅Π΄ΠΊΠΎ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΡΡ‚Ρ€ΡƒΡŽ
    Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ!
    ), Π΄Π°Π²Π°ΠΉΡ‚Π΅ вСрнСмся ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΌΡ‹ создаСм ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ наш компилятор DIY Calculator, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ.
    Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ здСсь, Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ, исходный ΠΊΠΎΠ΄ C, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для создания нашСго компилятора DIY Calculator, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС
    ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° языкС программирования C (Π΄Π°ΠΆΠ΅ самыС слоТныС).Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ нашСй ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅
    подмноТСство языка программирования C Ρ€Π°Π½Π΅Π΅ Π² этих обсуТдСниях, ΠΌΡ‹ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ C
    ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ собираСмся ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ компилятора DIY Calculator, Π±ΡƒΠ΄ΡƒΡ‚ написаны с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этого подмноТСства.

    Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ исходный ΠΊΠΎΠ΄ для компилятора DIY Calculator, ΠΌΡ‹ фактичСски создаСм этот компилятор.
    ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нашС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ подмноТСство. Π’ этом случаС ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄Π²Π΅Ρ€ΡŒ ΠΈΠ½Ρ‚Ρ€ΠΈΠ³ΡƒΡŽΡ‰Π΅ΠΉ возмоТности, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡƒΡ‚ΡŒ с аннотациями (a) (с синими стрСлками) для создания компилятора DIY Calculator, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
    Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° основном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.Π—Π°Ρ‚Π΅ΠΌ (ΠΈ это слоТная Ρ‡Π°ΡΡ‚ΡŒ) ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡƒΡ‚ΡŒ с аннотациями (b) (ΠΈ ΠΏΡƒΡ€ΠΏΡƒΡ€Π½Ρ‹ΠΌΠΈ стрСлками)
    Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ компилятора DIY Calculator, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° самом DIY Calculator! (Для вашСго интСрСса Ρ†Π²Π΅Ρ‚ Β«ΠΏΡƒΡ€ΠΏΡƒΡ€Π½Ρ‹ΠΉΒ»
    Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ краситСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π±Ρ‹Π» Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ Π±ΠΈΡ‚Π²Ρ‹ ΠΏΡ€ΠΈ ΠœΠ°Π΄ΠΆΠ΅Π½Ρ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΉ Π² Π˜Ρ‚Π°Π»ΠΈΠΈ Π²
    1859: Π³ΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΠΊΡ€Π°ΡΠΈΡ‚Π΅Π»ΡŒ Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚!)

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

    НапримСр, Π½Π°ΠΌ понадобится способ ввСсти ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ C Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ DIY Calculators, Ρ‡Ρ‚ΠΎΠ±Ρ‹
    Π΄Π°ΠΉΡ‚Π΅ компилятору DIY Calculator Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ для компиляции. Одним ΠΈΠ· Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ этой Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использованиС «Окна консоли».
    ΠΈ Β«QWERTY KeyboardΒ», ΠΊΠ°ΠΊ описано Π² Ρ‚Π΅ΠΌΠ΅ BASIC Interpreter Π½Π° страницС Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты
    Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Π²Π΅Π±-сайта DIY Calculator.


    ΠžΠ±Ρ‰ΠΈΠ΅ примСчания (совмСстноС использованиС вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹)

    1) Если Π²Ρ‹ всС ΠΆΠ΅ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компилятор C, ΠΊΠ°ΠΊ описано здСсь, Π±Ρ‹Π»ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ заинтСрСсованы
    видя это ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это. ΠœΡ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ инструмСнт доступным Π½Π° Π²Π΅Π±-сайтС DIY Calculator.
    (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, отдавая Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ).
    2) ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ прСдставлСнныС здСсь ΠΈΠ΄Π΅ΠΈ — это всСго лишь нСсколько мыслСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π°ΠΌ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ Π²ΠΎ врСмя курса.
    письма Как ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ .Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… сообраТСниях, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π½Π°ΠΌΠΈ
    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, ΠΊΠ°ΠΊ описано Π½Π° страницС About / Contact Us Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ Π²Π΅Π±-сайтС DIY Calculator, ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅
    ΠΈΡ… Π² список, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΌ, Ссли ΠΌΡ‹ (ΠΈΠ»ΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ) Ρ€Π΅ΡˆΠΈΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ компилятор.
    3) ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π”ΠΆΠΎΠ½ΠΎΠΌ Бэкусом ΠΈ ΠŸΠΈΡ‚Π΅Ρ€ΠΎΠΌ Науром Π² ΠΊΠΎΠ½Ρ†Π΅ 1950-Ρ… — Π½Π°Ρ‡Π°Π»Π΅
    1960-Π΅, Π€ΠΎΡ€ΠΌΠ° Бэкуса-Наура (BNF) — это ΠΌΠ΅Ρ‚ΠΎΠ΄ рСкурсивного опрСдСлСния Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠΈ слов, символов,
    ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, связанныС с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ языком.НаличиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ описания Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ создания
    парсСр для языка. ПолноС описаниС BNF нашСго ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ языка ассСмблСра ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ E ΠΊ The
    ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρƒ DIY
    , которая сама находится Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС, ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ нашСй ΠΊΠ½ΠΈΠ³Π΅, How Computers
    Π‘Π΄Π΅Π»Π°ΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ
    . Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ компилятор C, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ
    процСсса ΠΏΡƒΡ‚Π΅ΠΌ докумСнтирования ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ описания BNF подмноТСства языков, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

    Вопросы?
    ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, всСгда Π΅ΡΡ‚ΡŒ Π½Π°Π΄ Ρ‡Π΅ΠΌ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ.
    Π£ нас Π±Ρ‹Π»Π° Ρ„ΠΎΡ€Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»Π³ΠΎ нСистово Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΠ»ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли вас интСрСсуСт
    создаСтС компилятор C ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ идСями, поТалуйста, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°ΠΌ, ΠΊΠ°ΠΊ описано
    Π½Π° страницС About / Contact Us Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ Π²Π΅Π±-сайтС DIY Calculator.

    C-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с мСню для ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

    #include

    void main ()

    {

    int num1, num2, option;

    Π΄ΠΎ

    {

    printf («\ nΠ’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ \ n»);

    printf («1.Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \ n2. ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ \ n3.Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ \ n4. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ \ n5.Exit \ n»);

    scanf («% d», & опция);

    if (option == 5)

    {

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    }

    ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ (опция)

    {

    case 1:

    printf (Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ nΒ»);

    scanf («% d», & num1);

    printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ n»);

    scanf («% d», & num2);

    printf (Β«Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅% d ΠΈ% d:% d \ nΒ», num1, num2, num1 + num2);

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    case 2:

    printf (Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ nΒ»);

    scanf («% d», & num1);

    printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ n»);

    scanf («% d», & num2);

    printf («Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅% d ΠΈ% d:% d \ n», num1, num2, num1-num2);

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    case 3:

    printf (Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ nΒ»);

    scanf («% d», & num1);

    printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ n»);

    scanf («% d», & num2);

    printf («Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅% d ΠΈ% d:% d \ n», num1, num2, num1 * num2);

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    case 4:

    printf (Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ nΒ»);

    scanf («% d», & num1);

    printf («Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число \ n»);

    scanf («% d», & num2);

    if (num2 == 0)

    {

    printf («ΠžΡˆΠΈΠ±ΠΊΠ° \ n»);

    }

    else

    {

    printf («Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅% d ΠΈ% d:% d \ n», num1, num2, num1 / num2);

    }

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    случай 5:

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

    printf («ΠΠ΅Π΄ΠΎΠΏΡƒΡΡ‚имая опция \ n»);

    ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²;

    }

    } while (опция! = 5);

    }

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования C, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ C, исходный ΠΊΠΎΠ΄ C ΠΈ ΠΊΠΎΠ΄ C с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ

    3d модСль

    BM3D Image Denoising
    Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ†Π΅Π½ΠΊΠΈ оптичСского ΠΏΠΎΡ‚ΠΎΠΊΠ°
    — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π΅ΠΊΠ°Π»Π΅ΠΉ — Π² c
    — ΠΌΠ°ΠΊΡ€ΠΎΠΏΠΎΠΌΠΎΡ‰ΡŒ — Π² c
    — pt-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ http, smtp-адрСса — Π² c
    — Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ pt, командная строка — Π² c
    — ptextensions ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ — Π² c
    -ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°- Π² c
    1 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ мобильной ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ добавлСнию кустСров Π² c
    Π’Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ космичСский ΠΊΠΎΡ€Π°Π±Π»ΡŒ
    7 дСмонстраций opengl для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ срСднСго уровня c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ исходный ΠΊΠΎΠ΄
    А.inf Ρ„Π°ΠΉΠ» для рСгистрации ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ рСгистрации Π²Π°ΡˆΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² .. Π² c
    ВрСхмСрная Π»Π΅Π½Ρ‚Π° (дСмонстрация opengl) c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ исходный ΠΊΠΎΠ΄
    ΠœΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² c
    Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ мыслСй c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ΠžΡ‡Π΅Π½ΡŒ простой Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ bmp (bitmap) c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    Часы 1derful
    Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° 1derful graph c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ вставки ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ 1derful c ΠΈ исходный ΠΊΠΎΠ΄
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ 1derful paint express c ΠΈ исходный ΠΊΠΎΠ΄
    Π”Π²ΡƒΡ…ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΈΠ³Ρ€Π° (с простым AI) c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ конус (дСмонстрация opengl)
    Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ вСлосипСдный Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ (opengl дСмонстрация)
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ 3-d spring (opengl demo) c ΠΈ исходный ΠΊΠΎΠ΄
    Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (дСмонстрация opengl) c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ исходный ΠΊΠΎΠ΄
    3d часы, opengl c
    3d ΠΊΡƒΠ± magic open gl
    3D-иллюзия) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ dos c ΠΈ исходный ΠΊΠΎΠ΄
    3D Π² c Howto
    Плагин 3d для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° winamp c ΠΈ исходный ΠΊΠΎΠ΄
    3D Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠ΅Π½Π½ΠΈ Π² gdi cool
    3D-пространство
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° 3drotation c ΠΈ исходный ΠΊΠΎΠ΄
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ 3ds explode c ΠΈ исходный ΠΊΠΎΠ΄
    6-сторонний Ρ€ΠΎΠ»ΠΈΠΊ для ΠΈΠ³Ρ€Ρ‹ Π² кости
    Бимулятор 8085 Π² c
    Π‘Ρ‚Π΅ΠΊ с использованиСм связанного списка Π² c
    Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ список ссылок Π² c
    Банковский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² c
    Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для адрСсной ΠΊΠ½ΠΈΠ³ΠΈ ii Π² c
    Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ адрСсной ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° c
    Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Π² c
    Базовая концСпция c-структур
    Базовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° first c Π² c
    ОсновноС ΠΎΠΊΠ½ΠΎ (с Π“Π”Π˜ сбоку)
    Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ пСтлям Π² c
    Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ рСкурсии Π² c
    Π›ΡƒΡ‡ΡˆΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² c
    Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска Π² c Π² c
    Код вставки Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Π² c
    Код ΠΎΠ±Ρ…ΠΎΠ΄Π° Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Π² c
    ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒ растровых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² c
    Π₯Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ растровых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² c
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ c ΠΈ исходный ΠΊΠΎΠ΄
    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ bst Π½Π° c
    Класс c для опрСдСлСния вСрсии windows Π² c
    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ c Π½Π° языкС c
    ΠŸΠ°ΠΊΠ΅Ρ‚ c n-grams Π² c
    ΠšΡ€ΡƒΠ³ 2003
    Часы Π² c
    Класс ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² строки cmd Π² c
    ΠšΡ€Π°ΡΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π² dos
    ПолноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ дСмонстрируСт возмоТности Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π² DOS Π² c
    ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΎΠΊΠ½Π° проигрыватСля Windows Media для Win32 Π² c
    ΠšΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ‚Π½Ρ‹ΠΉ класс строки ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² c
    Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ connect 4 (с графичСским интСрфСйсом) Π² c
    Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π°ΠΏΠΏΠ»Π΅Ρ‚Π° ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π² c
    ΠšΠ»Π°ΡΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ сСрвСр Π² c
    Классная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, выглядящая ΠΊΠ°ΠΊ windows-sanshell Π² c
    БистСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² c
    Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ поиска ΠΏΠΎ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… c
    A dbms syatem in c in c
    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния activex броска ΠΊΡƒΠ±ΠΈΠΊΠ° Π² c
    Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° dns Π² c
    ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ dos Π² c
    Двусвязный список Π² c
    Двусвязный список с ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ (конструктор, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€) Π² c
    ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для рисования, ΠΎΡ‡Π΅Π½ΡŒ похоТая Π½Π° widnows paint
    Напильник c
    Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ с графичСским интСрфСйсом Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ dos c ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»ΠΎΡ‚Ρ‚Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ c-Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ
    ΠžΠ±Ρ‰ΠΈΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² c
    ΠžΠ±Ρ‰ΠΈΠΉ связанный список Π² c
    ΠžΠ±Ρ‰Π°Ρ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² c Π² c
    ΠžΠ±Ρ‰ΠΈΠΉ стСк Π² c Π² c
    Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ класс ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ любоС ΠΎΠΊΠ½ΠΎ (Π±Π΅Π· ΠΌΡ„ΠΊ) Π² c
    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ gradient c ΠΈ исходный ΠΊΠΎΠ΄
    Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π° c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ исходным ΠΊΠΎΠ΄ΠΎΠΌ
    ГрафичСскоС мСню с систСмным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ vdu, kbd, диск, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ сСрв.Π² c
    ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ функция разбиСния строки Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Π² c
    ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пароля win32 (Π½Π΅ mfc) c исходный ΠΊΠΎΠ΄
    ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ win32 setwindowrgn (Π½Π΅ mfc) Π½Π° c
    ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ систСмного мСню win32 (Π½Π΅ mfc) Π½Π° c
    ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пСрСчислСния ΠΎΠΊΠΎΠ½ Win32 (ΡƒΠ±ΠΈΠΉΡ†Π°) (Π½Π΅ mfc) ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ 31503 c исходный ΠΊΠΎΠ΄
    Π“Ρ€ΡƒΠΏΠΏΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° слов для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² cstl Π² c
    ГрафичСский интСрфСйс для простой систСмы Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² c
    Удобная адрСсная ΠΊΠ½ΠΈΠ³Π° Π΄Π΅Π½Π΄ΠΈ Π² c
    Класс шаблона Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² c
    Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для Windows ΠΈ консольного программирования
    ΠŸΠ°ΠΊΠ΅Ρ‚ jumbo code Π² c

    ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ 8051 (89c51,89c52), Π–Πš-дисплССм 16×2 ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ 4×4

    Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ простой Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ 8051 (89c51,89c52).ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’Π²ΠΎΠ΄ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ 4 Γ— 4, Π° Π²Ρ‹Π²ΠΎΠ΄ отобраТаСтся Π½Π° Π–Πš-дисплСС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 16 Γ— 2 символов. ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅.

    ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с keil ide, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ 8051 ΠΈ ΠΆΠΊ-дисплССм 16 Γ— 2

    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ трСбования ΠΊ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ

    • Один ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ 89c52 ΠΈΠ»ΠΈ 89c51
    • Π₯лСбная ΠΏΠ»Π°Ρ‚Π° ΠΈΠ»ΠΈ пСчатная ΠΏΠ»Π°Ρ‚Π° (созданиС Ρ†Π΅ΠΏΠΈ)
    • Π–Πš-дисплСй 16 Γ— 2 (ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста)
    • ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° 4 Γ— 4 (ΠΏΡ€ΠΈΠ΅ΠΌ Π²Π²ΠΎΠ΄Π°)
    • ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ (для настройки контрастности Π–Πš-дисплСя)
    • ΠšΡ€ΠΈΡΡ‚Π°Π»Π» (11.0592 ΠœΠ“Ρ†)

    Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒ со схСмой ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 8051

    ΠŸΠΎΡ€Ρ‚-1 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 8051 сопряТСн с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ 4 Γ— 4. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Π½ΠΈΠΆΠ½ΠΈΡ… Π±ΠΈΡ‚Π° 8051 ΠΏΠΎΡ€Ρ‚-1 — это ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ строки ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ 4 Γ— 4, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π±ΠΈΡ‚Π° — ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΡƒΠ»ΠΎΠ½Ρ‹ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ 4 Γ— 4. ΠŸΠΎΡ€Ρ‚-1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ€Ρ‚. Π–Πš-дисплСй 16 Γ— 2 сопряТСн с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ 8051 Π² 8-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π–ΠΊ 16Ρ…2 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ-2 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 89c51. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ 20 ΠœΠ“Ρ† ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для питания ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 89c52.ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ — это ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° сброса настроСк.

    ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ 8051 (89c51,89c52)

    8051 ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

    Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ объяснСниС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ. ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с синтаксисом языка c / c ++. Если Π²Ρ‹ этого Π½Π΅ сдСлаСтС, Ρ‚ΠΎ сначала Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ нСсколько руководств ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° c / c ++ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с синтаксисом языка программирования c / c ++.

    Начиная с Π½Π°Ρ‡Π°Π»Π°, пСрвая строка ΠΊΠΎΠ΄Π°. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° reg51.h Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ 8051 (89c51,89c52). Π­Ρ‚ΠΎΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Keil сначала провСряСт этот Ρ„Π°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π² вашСм ΠΊΠΎΠ΄Π΅. Если ΠΎΠ½ присутствуСт, компилятор ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ваш ΠΊΠΎΠ΄, отсутствиС этого Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. Π”Π°Π»Π΅Π΅ объявлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

    Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° 8051, ΠΊΠΎΠ΄

    void lcdcmd (символ бСз знака)

    • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠšΠžΠœΠΠΠ” Π½Π° lcd.(Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, просто Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ слово ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹)

    void lcddata (unsigned char)

    • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ДАННЫΠ₯ Π½Π° lcd. (Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, просто Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ слово Π΄Π°Π½Π½Ρ‹Ρ…)

    void MSDelay (unsigned int)

    void disp_num (float num)

    • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ числа Π½Π° Π–Πš-дисплСС послС расчСта.

    int get_num (символ ch)

    • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ символа Π² число

    пусто lcdinit ()

    • Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π–Πš-чипсСта.(Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ссылку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ lcdΒ»)

    char scan_key (void)

    • Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

    8051 ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ main () функция ΠΊΠΎΠ΄Π°

    Π― ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽ Ρ‚Π΅Π»ΠΎ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» while, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π²Π΅Ρ‡Π½ΠΎ. Ѐункция lcdinit () ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π°Π±ΠΎΡ€Π° микросхСм lcd с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ lcd (Π½Π΅ понимаю, просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ссылку, ΠΈ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ руководство ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ lcd).Π—Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ while я ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽ строку Π½Π° Π–Πš-дисплСС ENTER 1 NO =. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ key = scan_key () — это сканированиС клавиши, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Ѐункция scan_key () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. k2 = get_num (key) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ scan_key (), Π² Ρ†ΠΈΡ„Ρ€Ρƒ.

    Scan_key () Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ ΠΊΠ°ΠΊ символ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² число. get_num (key) выполняСт эту Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° нас.Π—Π°Ρ‚Π΅ΠΌ функция lcddata () ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ символ Π½Π° Π–Πš-дисплСС, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° lcdcmd (0x01) ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ всС содСрТимоС Π–Πš-дисплСя.

    Π—Π°Ρ‚Π΅ΠΌ Π½Π° Π–Πš-дисплСС Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка с надписью operator =. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ шаги ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ. Π—Π°Ρ‚Π΅ΠΌ появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка с надписью Enter 2 no = ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ no. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ссли Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ + ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ disp_num (K1 + k2), Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΄Π²Π° числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π²Π²Π΅Π»ΠΈ. Для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° — это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅, Π° для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² — для Π½ΠΈΡ….ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π–Πš-дисплСй — ΠΎΡ‡Π΅Π½ΡŒ ваТная функция, Π΅Π΅ краткая информация доступна Π² Π–Πš-Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Π΅ΠΌ функция Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² процСсс. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ запускС встроСнного ΠΊΠΎΠ΄Π° Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ. Ѐункция scan_key () ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ссылкС ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ 4 Γ— 4.

    Ѐункция disp_num () ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ вычислСнноС Π½Π°ΠΌΠΈ число Π½Π° Π–Πš-дисплСС 16 Γ— 2.

    Π’ функциях объявлСно нСсколько ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивов.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивах ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° Π–Πš-дисплСС 16 Γ— 2 Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 8051. На самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹. Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ рСгистры Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 8051 (89c51,89c52) sfr’s.

    SFR — это прямыС ячСйки памяти для ΠΏΠΎΡ€Ρ‚ΠΎΠ², рСгистров ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² 8051. Sfr ldata = 0xA0 обращаСтся ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ 2 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. 0xA0 — это Sfr для ΠΏΠΎΡ€Ρ‚Π° 2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ldata — это пСрСмСнная, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π½Π° ΠΏΠΎΡ€Ρ‚ 2 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΠ½Ρ‹. Π–Πš-дисплСй управляСтся ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ Port-3 β„–5,6,7. Π’Ρ‹Π²ΠΎΠ΄Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π–Πš-дисплСя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ 2 ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΠΎΡ€Ρ‚-1 — сканированиС строк ΠΈ ΠΊΡƒΠ»ΠΎΠ½ΠΎΠ² ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ 4 Γ— 4.

    Π‘Π½Π°Ρ‡Π°Π»Π° я ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽ своС число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² Ρ†Π΅Π»ΠΎΠ΅ Π½Π° numb = (int) num. Π—Π°Ρ‚Π΅ΠΌ я ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ, мСньшС Π»ΠΈ num 0 ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Если число ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, я ΡƒΠΌΠ½ΠΎΠΆΠ°ΡŽ Π΅Π³ΠΎ Π½Π° -1 ΠΈ дСлаю ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ — ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π° Π–Πš-дисплСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ соотвСтствуСт Ρ„ΠΎΡ€ΠΌΠ΅. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС 10, я Π½Π°Ρ…ΠΎΠΆΡƒ Π΄Π΅ΡΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² число / 10, Ссли тСндСнция Π½Π΅ Ρ€Π°Π²Π½Π° 0, Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π–Πš-дисплСС.lcddata (дСсятая Ρ†ΠΈΡ„Ρ€Π° + 0x30) Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚. На самом Π΄Π΅Π»Π΅, ΠΊΠΎΠ³Π΄Π° я дСлю numb / 10, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ TEnthdigit, находится Π² Ρ„ΠΎΡ€ΠΌΠ΅ ASCII, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ TenthDigit являСтся символьной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, поэтому, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII для символа, просто Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ 0x30 ΠΈΠ»ΠΈ 48, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это значСния, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€Ρ‹. Π§Π΅ΠΌ для Ρ†ΠΈΡ„Ρ€Ρ‹ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ numb-TenthDigit * 10, ΠΎΠ½Π° даст Π½Π°ΠΌ Ρ†ΠΈΡ„Ρ€Ρƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ASCII, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0x30. Если Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΊ Π½Π΅ΠΌΡƒ 0x30 (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ) ΠΈΠ»ΠΈ 48 (дСсятичный), Ρ‚ΠΎ Π½Π° Π–Πš-дисплСС Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы.ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ символы Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ASCII. Π—Π°Ρ‚Π΅ΠΌ рассчитываСтся дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ выводится Π½Π° Π–Πš-дисплСй с использованиСм Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ скопируйтС ΠΊΠΎΠ΄, Π·Π°ΡΡ‚Π°Π²ΠΈΠ²ΡˆΠΈΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΡƒΡŽ схСму Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ 8051 (89c51,89c52), ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ своС Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅.

    ΠœΠ°ΡΡΠΈΠ²Ρ‹ символов ΠΈ sfr, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² функциях ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

    Π•Ρ‰Π΅ нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ созданию Π΄Π²ΡƒΠ·Π½Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ Π½ΠΈΠΆΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ бСсплатныС исходныС ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ схСмы ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ….НаТмитС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ΄ (C ++, Hex), скомпилированный Π² keil U-vision 4. Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ свой ΠΎΡ‚Π·Ρ‹Π² ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½ΠΈΠΆΠ΅

    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ здСсь ……

    .

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

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