Как се пишат компютърни програми - преглед на музикален софтуер
Как се правят програми?
Много просто! Всъщност процесът на писане на програмасе състои в писане (кодиране ) на някакъвалгоритъм с помощта на определенисредства. предоставени ви от езика за програмиране. Следователно, за успешното програмиране е необходимо да познавате добре две неща: първо (и преди всичко) – алгоритъма, и второ – набор от инструменти (механизми), с които този алгоритъм може да бъде имплементиран на език за програмиране.
И така, на първо място - алгоритъмът! Какво е алгоритъм? - това е крайната последователност от действия (предписания), чието изпълнение ви позволява да постигнете дадена цел.
Алгоритъмът винаги се компилира за конкретен изпълнител. Така например кулинарна рецепта за приготвяне на ястие или инструкции за използване на ютия са ориентирани към човека алгоритми. Тип инструкции:
- Задайте A от клавиатурата
- Нека B е равно на 10
- Съберете A и B и запишете резултата в C
- Ако C е по-голямо от 100, преминете към стъпка 8, в противен случай преминете към следващата стъпка.
- …
- …
- …
- Спри се
е типичен пример за алгоритъм, чийто изпълнител може да бъде компютър.
Алгоритмите, съставени за човек (алгоритми за домашната сфера), винаги предполагат определено ниво на първоначално обучение на изпълнителя. Например, когато се описва схема за плетене, не е необходимо да се обяснява как се държат иглите за плетене, как се плете бримка или какво е плетиво и сърмени конци - предполага се, че човек вече има тези знания.
Системите с инструкции на съвременните процесори включват стотици такива операции. Сред тях обаче никога няма да намерите команди като например въвеждане на стойност от клавиатурата, показване на знак на екрана или напр.„изчисляване на определен интеграл“, „пускане на звуков файл“ и др. Всички тези действия трябва да бъдат намалени (сведени) до набор от по-прости (елементарни) команди, които са достъпни за процесора.
Въпреки изключително ниското интелектуално ниво, компютърът все пак има огромна електронна памет, която ви позволява да съхранявате информация под формата на последователност от битове (двоични цифри). В допълнение, той е в състояние да работи феноменално бързо с поредици от електрически сигнали, представляващи определени числа. В комбинация с добри програми, написани от умни и талантливи хора, възможностите на компютърните технологии са наистина неограничени.
В зората на развитието на компютърните технологии програмите се създават директно под формата на последователност от инструкции на процесора, т.е. на машинен език. Това беше много трудоемка работа, която освен това изискваше добри познания по компютърна архитектура от програмиста. Скоро възникна идеята да се създаде система от конвенционални означения за записване на алгоритми във форма, разбираема за хората (т.е. език за алгоритмично програмиране) и програма за превод, която превежда този алгоритъм на машинен език. Използването на алгоритмични езици значително повишава "първоначалното ниво на знания" на компютъра. Сега такива операции са налични като:
- поставяне на число или друго, дадено в някаква променлива (всъщност в място в паметта)
- всякакви аритметични операции, както и много други математически операции, например повишаване на степен, извличане на квадратен корен, изчисляване на стойностите на тригонометрични функции и др.
- операции за сравнение
- прехвърлете управлението на даден оператор
- показване на знаци на екрана и въвеждане на данни от клавиатурата
- изображение на екранамонитор
- и така нататък.
В този случай става възможно да се работи не само с числова, но и със символна информация в ясна форма.
Моля, обърнете внимание, че такива операции като например „намиране на корена на нелинейно уравнение“, намиране на минимума и максимума на функцията, сортиране на масива от числа във възходящ ред и т.н. не са включени в горния списък. Те трябва да бъдат сведени до по-прости аритметични и логически операции.
По този начин набор от елементарни действия, които могат да бъдат изпълнени с помощта на език за алгоритмично програмиране, съставлява „първоначалното ниво на знания“, на което може да се разчита и да се вземе предвид при компилирането на алгоритми.
Как се пишат алгоритми?
За съжаление, едва ли е възможно да се отговори еднозначно и донякъде пълно на този въпрос! Все едно да се опитвате да отговорите на въпроса: как да рисувате картини или, да речем, как да композирате поезия? Работата е там, че процесът на създаване на алгоритъм и в крайна сметка на програма е творчески процес. Въпреки това, един художник или поет, в допълнение към таланта, трябва да притежава някаква обща техника за рисуване на картини или композиране на поезия. Това важи и за разработването на алгоритми.
След това ще разгледаме няколко примера, които ще ни позволят да идентифицираме общите принципи, според които се изграждат алгоритмите за компютри.
Пример 1. Напишете алгоритъм за намиране на максималното число сред дадена последователност от N числа.
- „И какво има да измислям - погледнах и избрах!“ – можете да възкликнете. Да, наистина можем да гледаме и избираме, но компютърът не може да направи това. Какво може? Може да събира, изважда, дели, умножава, сравнява числа...
Нека означим дадените числа като a1. a2. …, и n. Нека въведем допълнителни променливи: max - замаксималното число и i е поредният номер на елемента.
Нека устно опишем възможната последователност от действия:
- Въведете числа: n, a1. a2. …, и n
- Задайте променлива maxна стойност a1
- Променлива iзадавастойност 2
- Акоai max,тогавапроменлива maxзадайтестойността ai
- Увеличетестойността на променлива i с единица
- Акоi n,тогавапокажете максимум,в противен случайотидете на стъпка 4
Същият алгоритъм може да бъде представен по-ясно - под формата на блокова схема.

Пример 2. Напишете алгоритъм за намиране на корените на квадратно уравнение.
Алгоритъмът може да се основава на добре известни формули:
Остава само да се предвидят изключителни ситуации, в противен случай компилираният алгоритъм няма да бъде универсален (няма да опише напълно изчислителния процес). Има три такива ситуации:
- a \u003d 0, уравнението се изражда в линейно bx + c \u003d 0 с корен x \u003d -c / b
- a = 0 и b = 0. уравнението губи смисъл
- (b 2 -4ac) 0 - уравнението има комплексни корени, реални и имагинерни части от които. съответно са равни:
,
По-долу е дадена блокова диаграма на възможен алгоритъм:

При компилиране на алгоритъма -
- могат да се използват само такива инструкции, които изпълнителят (компютърът) е в състояние да изпълни. Следователно е необходимо да познавате добре възможностите на изпълнителя и да се научите как да сведете решението на конкретен проблем до последователността на тези инструкции.
Как работят програмите и как се пишат?
Пускане на някоинякаквапрограма или игра някои от вас се чудят как - работят ли. Този въпрос е много интересен, както и отговорът на него, ще се опитам да отговоря днес # 8230
Всяка програма или игра се съхранява на носител за съхранение, като твърд диск, карта с памет, CD или DVD или някакъв друг, но след стартиране се зарежда в RAM паметта на компютър или друго устройство и започва своята работа от там.
Всяка програма или игра може да се състои от огромен брой такива блокове и компютърът обработва всички тези команди за секунди. Как работят, изглежда, че започват обяснено, сега нека да преминем към това как са написани.
Има два вида програмиране:
1.ниско ниво
2.високо ниво
Програмирането на ниско ниво днес се използва главно само за писане на специализирани програми, помощни програми и драйвери поради бързата скорост на изпълнение, спестяване на RAM и постоянна памет, възможност за писане без разчитане на операционната система, достъп до незащитен режим на процесора, но в същото време сложност и непоносимост към други устройства без промяна. По други въпроси, някои от тези функции се предоставят от съвременни езици на високо ниво. Но засега нека поговорим за езиците за програмиране на ниско ниво. Тези езици са възможно най-близо до машинния език, те не са живели до човешкия.
Например, ще дам няколко компилатора (програми, които превеждат нашите записи в машинен код за директно изпълнение на компютър) на език за програмиране на асемблер от ниско ниво.
FASM,MASM,TASM,NASM
Всички те са написани на асемблер, но имат различни диалекти. Всички те са разпределени в равни пропорции, но сега ще разгледамесамо FASM.
Ето пример за асемблерна програма за Windows и DOC:
включва 'win32ax.inc' .codemain. извикване на MessageBox. НУЛА. 'Здравей свят!'. „Примерен_код:“. MB_OKИзвикване на ExitProcess. 0.край главен
здравей db 13,10,#8221 Здравей, свят!$#8221
Както се вижда от примерите, те са трудни за разбиране, но ще има желание. Но за начало не е подходящ, бих препоръчал да научите някакъв език на високо ниво, защото възможностите му са достатъчни за решаване на много проблеми.
Какъв програмен език е написан в компютърна програма. Кажи ми, че искам да уча
DarkManProfi (513), затворен преди 2 години
Капачка с опитПросветен (26103) преди 2 години
PHP е основата за самореализация на всеки начинаещ уеб разработчик. Върху него са написани куп от вашите cms, включително популярните drupal, joomla, wordpress и нашето удобно mediawiki - което обаче скоро ще бъде изрязано от New Engine в racial erlang.
Python е идеалният език за обучение на ученици как да програмират, тъй като дори маймуна може да го направи. Какво по дяволите е маймуна, дори 1Snik или pohapeshnik няма да се прецака.
Паскал - използван за обучение на млади хора, докато не познаят още по-опростени езици.
Delphi - да, да, това е името не само на средата, но и на самия език, а от версия 7 - официално.
COBOL е незаслужено забравен хорър, летящ на крилете на нощта. Незаслужено: тъй като от време на време някой трябва да пише с глобални променливи, за да не се губи полезен опит.
1C - Cobol преведен на подкана за win-1251.
ABAP4 е вътрешният език на SAP. В същото време това е най-високо платеният език за програмиране.
Java - защото я бутат където не я мързи и очакват да не се бави там.
C# - опитайтекръстосване на Java, C++ и Delphi с функционални елементи.
FoxPro - доскоро беше доволен от широко разпространената СУБД. Малкото, което е направено по него до сега, кучко, живее, адски бъгаво и няма да умре. Типичен пример е Smeta-Bagheera.
SAS - вътрешен език на системата SAS
PL/SQL е езикът на Oracle DBMS. Ако PHP е основата за самореализация на всеки начинаещ уеб разработчик, то PL / SQL е основата за навлизане в света на начинаещите разработчици на бази данни. Което звучи страхотно в очите на другите. Езикът е процедурен, прост и доста достъпен за всеки.
C++ - изненада! Фактът, че C++ е приемлив за bydlocoders, е известен отдавна, включително на Линус Торвалдс. Много популярни, известни на всички, има много IDE за програмиране с мишката. Наф каза.
LUA е скриптов език, подобен на ++c. Използва се в някои игри и емулатори за внедряване на AI и други глупости.
Ruby - вижте Python
Още отговори
Източници: http://physics.herzen.spb.ru/library/03/01/pp/Advices/how_to_prog.htm, http://linuxguru.ru/programming/kak-rabotayut-programmy-i-kak-ix-pishut/, http://otvet.mail.ru/question/90822938

Софтуер за създаване на музика за начинаещи
Софтуер за създаване на музика за начинаещи Кажете ми софтуер за създаване на музика? за начинаещиLekto Студент (156) преди 5 годиниEjay ток .