Програма

От Администрация и управление
Направо към навигацията Направо към търсенето

Програма е последователност от инструкции (команди), които спазват указанията на определен алгоритъм и водят до решаването на определена задача. Програма е и план за действие, насочен към изпълнение на ясна цел, с подробности за това каквотрябва да се направи, от кого, кога и какви средства ще бъдат използвани. Програмиране е процесът на създаване на програми.

Програма = Алгоритъм + Съвкупност от данни

Видове програми

Компютърна програма

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

Програми за разработване на софтуер

Това са софтуерни пакети, които включват всичко необходимо за разработването на професионални софтуерни решения. Обикновено софтуерът за разработка включва: текстов редактор за въвеждане, редактиране и четене на сорс-код; дебъгер - средство за проверка на изпълнявания код; компилатор - средство за компилиране на сорс-код до изпълнима програма. Софтуерените пакети, които включват всички тези инструменти се наричат Интегрирани Средства за Разработване (ИСР) - IDE (Integrated Development Environment). Съществуват много и най-различни ИСР за всеки програмен език.

Машинен език

Компютърът работи с азбука, изградена от цифрите 0 и 1;

Всяка инструкция (команда), изграждаща дадена програма, представлява набор от нули и единици;

Изпълнението на една програма, която е последователност от такива инструкции, започва със зареждането и в паметта. Процесорът извлича всяка инструкция от паметта по реда на задаването й, след което я изпълнява.

Процесорът е главната част на един компютър и извършва всички изчисления и логически операции.

Машинна инструкция наричаме всяко елементарно действие, което може да извърши един процесор;

Машинен език е съвкупността от всички машинни инструкции на един процесор;

Асемблерни езици

При тях на машинните инструкции се дават мнемонични имена, а също така се задават имена на адресите в паметта, в които се съхраняват данни.

Алгоритмични езици

Това са строги (формални) езици, по това приличат на машинните и асемблерните, но близки до говоримите езици и имащи лесна за възприемане логика

Представители са: Фортран, Алгол, Кобол, Паскал, Ада, С, С++, С# и др.

В последните години най-широко приложение намират обектно-ориентираните езици за програмиране.

Представители на тази група са: С++, С#, Smalltalk, Modula, Object Pascal, Delphi и др.

Транслатори

Програми преводачи:

а) интерпретатор – превежда последователна всяка инстукция, написана на един ред и в случай че е коректна, тя се изпълнява.

Най-известния интерпретатор е command.com.

б) компилатор – извършват цялостен превод на програмата на машинен език, след което инструкциите се изпълняват по реда на тяхното задавне

Среди за програмиране

Създадени са за улеснение на програмистите. Основните компоненти са:

- текстов редактор – използва се за въвеждане, съхраняване и коригиране на текста на програмите; тук се пише кода (source - сорс) на програмата. Сорсът се записва в изходящ файл, който е текстов, т.е. в ASCII код. Тези файлове имат разширение, указващи програмната среда, в която са създадени - .pas (Pascal), .cpp (C++), .for (Fortran) и др.

- транслатор – след като кода на програмата е написан, се активира транслатор, за да се извърши превеждане и изпълнение на програмата.

Това се избира като опция от дадено меню на средата. Създава се файл с разширение .OBJ – обектен код на изходната програма.

- библиотеки – това са вградени стандартни функции, които се намират в специални файлове с разширение .LIB

- свързващ редактор – създава изпълним файл (с разширение .exe), който съдържа целия машинен код на програмата и служи за нейното стартиране.

Повече за Компютърните програми

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

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

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

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

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

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

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

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

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

Вижте още

Източници

  • Chris Pine, Learn to Program (Pragmatic Programmers)
  • Paul SangheraFundamentals of Effective Program Management: A Process Approach Based on the Global Standard
  • James T. Brown, The Handbook of Program Management: How to Facilitate Project Success with Optimal Program Management
  • Project Management Institute, The Standard for Program Management

Външни препратки