Компютърна програма: Разлика между версии

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
м излишна доп. точка (.. ---> .); козметични промени
########################################
Етикети: Визуален редактор Редакция чрез мобилно устройство Редакция чрез мобилно приложение етикет: премахнати източници/бележки
Ред 1: Ред 1:
[[##|##<code>##################################################################################################################################################################################################################################################################</code>]]
[[Файл:USB_flash_drive.JPG|мини|[[Микроконтролер]]ът отдясно на тази [[USB флаш]]ка се контролира от вградената в него компютърна програма.]]

'''Компютърната програма''' или още '''софтуерна програма''', или накратко '''програма''' е съвкупност от инструкции към [[компютър]]а <ref>Stair, Ralph M., et al. (2003) Principles of Information Systems, Sixth Edition. Thomson Learning, Inc. стр. 132. ISBN 0-619-06489-7.</ref>, които трябва да дадат някакъв определен изходен резултат. Компютърът изисква програмите да функционират, обикновено изпълнявайки програмните инструкции в [[централен процесор|централния процесор]]. <ref>Silberschatz, Abraham (1994). Operating System Concepts, Fourth Edition. Addison-Wesley. стр. 58. ISBN 0-201-50480-4.</ref> Програмата има изпълнителна форма, която компютърът директно използва, за да изпълни инструкциите, зададени от програмата. Тази същата програма има и четивна за човека част, наречена [[сорс код]], от който изпълнимите програми се компилират, като сорс кодът дава възможност на програмиста да изследва протичането на инструкциите или пък да разработва алгоритмите.


Сорс кодът на повечето програми се състои от списък с инструкции, които задължително въвеждат [[алгоритъм]] (известни като императивно програмиране). В други случаи (известни като декларативно програмиране) характеристиките на необходимата информация са определени и изборът на метода за получаване на искания резултат се оставя на [[компютърна платформа|платформата]], под която се изпълнява. Компютърните програми най-често са писани от хора наречени [[програмист]]и, но може и да са генерирани от други програми.
Сорс кодът на повечето програми се състои от списък с инструкции, които задължително въвеждат [[алгоритъм]] (известни като императивно програмиране). В други случаи (известни като декларативно програмиране) характеристиките на необходимата информация са определени и изборът на метода за получаване на искания резултат се оставя на [[компютърна платформа|платформата]], под която се изпълнява. Компютърните програми най-често са писани от хора наречени [[програмист]]и, но може и да са генерирани от други програми.
[[Файл:Object-Oriented-Programming-Methods-And-Classes-with-Inheritance.png|мини|Компютърна програчма, написана на обектно-ориентиран стил.]]
<div class="thumb tright">
<div class="thumb tright">
<div class="thumbinner" style="width:252px;">
<div class="thumbinner" style="width:252px;">
Ред 10: Ред 7:
<nowiki>#</nowiki>include &lt;stdio.h&gt;<br />
<nowiki>#</nowiki>include &lt;stdio.h&gt;<br />
<br />
<br />
int main()<br />
int ma
{<br />
<div style="margin-left: 10%">
<div style="margin-left: 10%">
<br />
printf("Hello world!\n"); <br />
return 0; <br />
</div>
</div>
} <br />
} <br />
</div>
</div>
<div class="thumbcaption">
<div class="thumbcaption">
<br />
Сорс код на програмата [[Hello, world]], написан на [[C (език за програмиране)|C]]
</div>
</div>
</div>
</div>
Ред 30: Ред 25:
Компютърните програми се зареждат в паметта и след това изпълняват инструкция по инструкция, до прекратяване и успешно завършване или със софтуерна или хардуерна грешка.
Компютърните програми се зареждат в паметта и след това изпълняват инструкция по инструкция, до прекратяване и успешно завършване или със софтуерна или хардуерна грешка.


Преди компютърът да може да изпълни каквато и да е програма, [[хардуер]]ът трябва да се инициализира. В модерните персонални компютри тази инциализация се извършва от програма, съхранена в програмируеми чипове [[RAM|памет]], инсталирани от производителя, наречени [[BIOS]]. BIOS-ът опитва да инициализира стартовата последователност, подготвяйки системата за изпълнение на програми от по-високо ниво.
Преди компютърът да може да изпълни каквато и да е програма, трябва да се инициализира. В модерните персонални компютри тази инциализация се извършва от програма, съхранена в програмируеми чипове [[RAM|памет]], инсталирани от производителя, наречени [[BIOS]]. BIOS-ът опитва да инициализира стартовата последователност, подготвяйки системата за изпълнение на програми от по-високо ниво.


== Програми и данни ==
== Програми и данни ==
Изпълнимата форма на програмата често се разглежда отделно от [[данни]]те, с които работи програмата. В някои случаи тази разлика се размива – например в програмите, които създават или променят данни, използвани впоследствие в същата програма (това се случва често в програми писани на Lisp).
Изпълнимата форма на програмата често се разглежда отделно от , с които работи програмата. В някои случаи тази разлика се размива – например в програмите, които създават или променят данни, използвани впоследствие в същата програма (това се случва често в програми писани на Lisp).


== Програмиране ==
== Програмиране ==
Програмите често съдържат разнообразни и различни алгоритми, които да ги управляват. Създаването на компютърна програма е процеса на писане на нов сорс код, последван от тестване, анализиране и подобряване на кода. Човекът, който изпълнява тази дейност се нарича [[програмист]] или софтуерен разработчик. Понякога дългият процес на програмиране се нарича също [[софтуерно инженерство]]. Последното стана по-популярно особено с развитието на тази дисциплина.
{{основна|Програмиране}}
Програмите често съдържат разнообразни [[структури от данни]] и различни алгоритми, които да ги управляват. Създаването на компютърна програма е процеса на писане на нов сорс код, последван от тестване, анализиране и подобряване на кода. Човекът, който изпълнява тази дейност се нарича [[програмист]] или софтуерен разработчик. Понякога дългият процес на програмиране се нарича също [[софтуерно инженерство]]. Последното стана по-популярно особено с развитието на тази дисциплина.


Други две форми на съвременна организация на програмирането са т.нар. екипно програмиране, при което всеки член на групата има равнопоставен глас в процеса на програмиране, с изключение на един, който направлява групата в отработването на различията. Тези групи се състоят от около 10 човека, за да могат да се ръководят. Втората форма се нарича „пеър програмиране“ или програмиране по двойки. В този случай са необходими двама софтуерни инженери, които съвместно програмират на една работна станция. Всеки от тях извършва дейност, с която другият не е ангажиран в момента, например, ако единият пише тестове, другият обмисля кой клас би задоволил тези тестове. Наричат ги драйвер и навигатор. Предполага се двамата партньори да разменят местата си на всеки половин час или след завършването на някой тест.
Други две форми на съвременна организация на програмирането са т.нар. екипно програмиране, при което всеки член на групата има равнопоставен глас в процеса на програмиране, с изключение на един, който направлява групата в отработването на различията. Тези групи се състоят от около 10 човека, за да могат да се ръководят. Втората форма се нарича „пеър програмиране“ или програмиране по двойки. В този случай са необходими двама софтуерни инженери, които съвместно програмират на една работна станция. Всеки от тях извършва дейност, с която другият не е ангажиран в момента, например, ако единият пише тестове, другият обмисля кой клас би задоволил тези тестове. Наричат ги драйвер и навигатор. Предполага се двамата партньори да разменят местата си на всеки половин час или след завършването на някой тест.
Ред 44: Ред 38:
* По всеобщо признание за най-кратка полезна програма в света се смята cont/rerun, използвана в остарялата [[операционна система]] CP/M. Била е дълга 2 [[байт]]а (JMP 100), прескачайки до началото на последно стартираната програма и по този начин рестартирайки я в паметта, без да е нужно да я зарежда от изключително бавните дискове на 80-те.
* По всеобщо признание за най-кратка полезна програма в света се смята cont/rerun, използвана в остарялата [[операционна система]] CP/M. Била е дълга 2 [[байт]]а (JMP 100), прескачайки до началото на последно стартираната програма и по този начин рестартирайки я в паметта, без да е нужно да я зарежда от изключително бавните дискове на 80-те.
* Според Международния Конкурс за Объркан код на С, най-малката програма в света се състои от 1 файл с нулеви байтове, която при изпълнение връща нулеви байтове на [[монитор|екрана]] (правейки я също най-малката самовъзпроизвеждаща се програма в света). Тази „програма“ е определена като такава поради недоглеждане в конкурсните правила, които скоро след това са променени, като е въведено изискване всички програми да бъдат по-големи от 0 байта.
* Според Международния Конкурс за Объркан код на С, най-малката програма в света се състои от 1 файл с нулеви байтове, която при изпълнение връща нулеви байтове на [[монитор|екрана]] (правейки я също най-малката самовъзпроизвеждаща се програма в света). Тази „програма“ е определена като такава поради недоглеждане в конкурсните правила, които скоро след това са променени, като е въведено изискване всички програми да бъдат по-големи от 0 байта.
* е първата
* [[Ада Лъвлейс]] е първата [[програмист]]ка. Когато превежда на английски лекцията на [[Чарлз Бабидж]] за неговата Аналитична машина, изнесена през 1842 г. в Торино, в разяснителните бележки тя детайлно описва метод за пресмятане на [[числа на Бернули]]. Това се признава от историци за първият [[алгоритъм]], първата компютърна програма, а самата тя е призната за първия програмист в света.


== Вижте също ==
== Вижте също ==
*
* [[Приложен софтуер]]
*
* [[Разработка на софтуер]]


== Източници ==
== Източници ==
<references/>

{{Превод от|en|Computer program|311803422}}

[[Категория:Софтуер]]
[[Категория:Софтуер]]
[[Категория:Програмиране]]
[[Категория:Програмиране]]

Версия от 18:57, 6 февруари 2019

####################################################################################################################################################################################################################################################################

Сорс кодът на повечето програми се състои от списък с инструкции, които задължително въвеждат алгоритъм (известни като императивно програмиране). В други случаи (известни като декларативно програмиране) характеристиките на необходимата информация са определени и изборът на метода за получаване на искания резултат се оставя на платформата, под която се изпълнява. Компютърните програми най-често са писани от хора наречени програмисти, но може и да са генерирани от други програми.

#include <stdio.h>

int ma


}


Терминология

Комерсиалните компютърни програми са насочени към крайните потребители и по принцип представляват приложен софтуер, тъй като тези програми са фокусирани върху функционалността на това за което се използва компютърът (неговото приложение), за разлика от онези програми, които се фокусират върху функционалности на системно ниво (например операционната система Windows). На практика и приложният софтуер и системният софтуер могат коректно да бъдат наречени програми, а към тях се причислява и т.нар. фърмуер (софтуер, директно вграден в готова хардуерна система). Програмите, които се изпълняват на хардуера, са сбор от инструкции, във формат разбираем за централния процесор на компютъра, които водят до изпълнението на други специфични инструкции или пък на прости операции, като например събиране. И въпреки че компютърът изпълнява милиони такива операции в секунда, програмите, тези поредици от инструкции, са това което кара компютърът да прави нещо полезно, обикновено то се повтаря и е достоверно.

Изпълнение на програми

Компютърните програми се зареждат в паметта и след това изпълняват инструкция по инструкция, до прекратяване и успешно завършване или със софтуерна или хардуерна грешка.

Преди компютърът да може да изпълни каквато и да е програма, трябва да се инициализира. В модерните персонални компютри тази инциализация се извършва от програма, съхранена в програмируеми чипове памет, инсталирани от производителя, наречени BIOS. BIOS-ът опитва да инициализира стартовата последователност, подготвяйки системата за изпълнение на програми от по-високо ниво.

Програми и данни

Изпълнимата форма на програмата често се разглежда отделно от , с които работи програмата. В някои случаи тази разлика се размива – например в програмите, които създават или променят данни, използвани впоследствие в същата програма (това се случва често в програми писани на Lisp).

Програмиране

Програмите често съдържат разнообразни и различни алгоритми, които да ги управляват. Създаването на компютърна програма е процеса на писане на нов сорс код, последван от тестване, анализиране и подобряване на кода. Човекът, който изпълнява тази дейност се нарича програмист или софтуерен разработчик. Понякога дългият процес на програмиране се нарича също софтуерно инженерство. Последното стана по-популярно особено с развитието на тази дисциплина.

Други две форми на съвременна организация на програмирането са т.нар. екипно програмиране, при което всеки член на групата има равнопоставен глас в процеса на програмиране, с изключение на един, който направлява групата в отработването на различията. Тези групи се състоят от около 10 човека, за да могат да се ръководят. Втората форма се нарича „пеър програмиране“ или програмиране по двойки. В този случай са необходими двама софтуерни инженери, които съвместно програмират на една работна станция. Всеки от тях извършва дейност, с която другият не е ангажиран в момента, например, ако единият пише тестове, другият обмисля кой клас би задоволил тези тестове. Наричат ги драйвер и навигатор. Предполага се двамата партньори да разменят местата си на всеки половин час или след завършването на някой тест.

Интересно

  • По всеобщо признание за най-кратка полезна програма в света се смята cont/rerun, използвана в остарялата операционна система CP/M. Била е дълга 2 байта (JMP 100), прескачайки до началото на последно стартираната програма и по този начин рестартирайки я в паметта, без да е нужно да я зарежда от изключително бавните дискове на 80-те.
  • Според Международния Конкурс за Объркан код на С, най-малката програма в света се състои от 1 файл с нулеви байтове, която при изпълнение връща нулеви байтове на екрана (правейки я също най-малката самовъзпроизвеждаща се програма в света). Тази „програма“ е определена като такава поради недоглеждане в конкурсните правила, които скоро след това са променени, като е въведено изискване всички програми да бъдат по-големи от 0 байта.
  • е първата

Вижте също

Източници