You are on page 1of 4

Што е тоа програмирање?

Процесот на пишување на програма е програмирање.


Програмирањето на компјутер во најширока смисла е едноставно задавање задача на компјутерот што
треба да направи.
Што е програма?
Програма е низа на точно дефинирани инструкции напишани во некој програмски јазик со кои се
извршуват конкретни акции.
Од колку чекори се состои програмирањето?
Програмирањето се состои од два чекори:
1 чекор: Дизајнирање – осмислување на програмата (архитектноско решение)
2 чекор: Кодирање – конструкција, градење
Кои се фазите на изработка на компјутерска програма?
Фази во процесот на изработка на компјутерска програма:
1. Aнализа на проблемската ситуација и разгледување можни решенија.
Прво треба да се дефинираат и прецизираат условите под кои задачата ќе се решава. Тоа се прави
со анализа на нејзината природа и ако е потребно навлегување во стручната област на која и
припаѓа. Постапката за решавање произлегува од извршената анализа на задачата и консултираната
стручна литература.
2. Aлгоритамско претставување на чекорите за можното решение на проблемската ситуација
(графички или со псевдо код).
Постапката мора да биде применлива за извршување на компјутер. Секоја операција мора да е
точно и еднозначно дефинирана и точно да е одреден редоследот на извршување на операциите.
Целата постапка мора да е конечна. Вака дефинираната постапка се нарекува алгоритам, а секое
поединечни дејство е алгоритамски чекор. Со поимот алгоритам се среќаваме постојано. Секоја
активност на човекот претставува алгоритам. Пр. Подготвување на колач, преминување на улица и
др.
3. Kодирање на алгоритамот - пишување на изворен код
Алгоритмот се запишува со елементите на некој програмски јазик и со тоа се добива изворниот код.
На датотеката и се доделува некое описно име, а наставката е соодветна на програмскиот јазик во
кој е напишан изворниот код. Запишување на алгоритамот како низа од инструкции во избран
програмски јазик. Вака запишаниот алгоритам претставува програмски код кој се вика изворна
програма.Пр. Во С++ е .cpp.
4. Преведување на изворен код
Изворниот код се преведува со помош на програмите за преведување или компајлери.
Преведувачот проверува дали има синтаксна грешка и ако има дава соодветни пораки. Синтаксните
грешки се однесуваат на неправилно напишани зборови, неправилно користени или испуштени
интерпункциски знаци и сл. По корекција на грешките процесот на преведување успешно се
реализира и се добива објектен код со наставка .о или .обј.
5. Поврзување во извршен код
Поврзување на објектните кодови со помош на програмите поврзувачи (linkers). Oбјектниот код
добиен со преведување треба да се поврзе со постоечките датотеки во кои се наоѓаат веќе
преведени мали програми кои често се користат во програмите. Овие датотеки се нарекуваат
библиотеки. Ако кодот не може да се поврзе со потребните библиотеки поврзувачот ќе јави грешка
при поврзување (link time errors) и нема да се добие извршен код. Овие се грешки при поврзување и
треба да се отстранат. По успешното поврзување се добива извршен код со наставка .ехе. Извршната
програма може да се користи самостојно на било кој компјутер.
изворен код ----- преведувач------> објектен код -----поврзувач-----> извршен код

6.Тестирање на програмата
Тестирањето се прави од страна на програмерот или корисниците за кои е наменета програмата.
Програмата мора да работи правилно за различни вредности кои го внесува корисникот или да
оневозможи погрешно внесување вредности во програмата преку пораки и сл. до корисникот.
Се тестира за да се види дали програмата дава точни резултати. Тестирањето се врши за вредности
за кои лесно може да се определи резултатот или за вредности за кои се знае резултатот. Ако
програмата неправилно работи, значи има логичка грешка која може да ја корегира само
програмерот. По корекција на грешката процесот се повторува. Логичките грешки обично се викаат
багови (bugs) и за нивно откривање се користи програма дебагер која овозможува извршување на
програмата линија по линија и стопирање на нејзиното извршување на одредено „сомнително“
место
Пример за синтаксна и логичка грешка
Ова е формула за периметар на правоаголник ако се познати неговите страни:
L=2*(а-b
Синтаксна грешка – недостасува заграда на крајот од изразот.
Логичка грешка – формулата не е точна иако поставање на заградата на крајот е правилно
запишана.
a=5
b=”Maja”
c= b-a
Логичка грешка – b е текст и не може да биде намаленик.
Изворната програма не е разбирлива за компјутерот. Таа мора да се преведе во машински јазик (во
кој инструкциите се запишуваат со 1 и 0) за да биде разбрана и извршена од процесорот.
Изворната програма преведена на машински јазик се вика извршна програма.
За преведување на изворната програма во извршна програма се користат програми преведувачи кои
во зависност од начинот на преведување може да бидат компајлери (најчесто) и интерпретери.

Типови на програмски јазици


Кои типови на програмски јазици постојат?

Типови на прогрмаски јазици се:

1 тип - Машински јазик: Kомпјутерите разбираат само мал број на наредби (т.н. "инструкции"), и тие мора точно
да знаат што треба да извршат, во кој редослед и врз кои податоци. Процесорот (делот од компјутерот кој е
задолжен за извршување на овие наредби) очекува инструкциите да му бидат предадени во вид на нули (0) и
единици (1). Тоа е единствениот јазик кој тој го познава. Замислете колку би било сложено да се пишуваат
софтверски програми користејќи нули и единици. Сепак, интересно е да се знае дека тоа е начинот на кој се
пишувале програми во раните 1950-ти години. Во продолжение е даден изгледот на една инструкција
разбирлива за процесорите:

100011 00001 00010 00110 00000 100000

Ваквите инструкции се нарекуваат "машински код", "машински јазик" или "инструкциско множество", и секоја од
нив има свое значење - извршува одредена операција. Операцијата е определена со првите неколку цифри
(100011), додека останатите цифри ги дефинираат податоците врз кои треба да се изврши таа операција. Покрај
тоа што е крајно мачно да се пишуваат програми на ваков начин, тешко е и да се менуваат постоечките програми,
како и да се откриваат грешки во нив. Дополнително, различните фамилии на процесори имаат сопствени
множества на инструкции, па програмите напишани за Intel Pentium 3 нема да работат на AMD Athlon 2 (на
пример).

2 тип - Асемблерски: Едно ниво над машинскиот код е т.н. assembly јазик. Assembly користи едноставни имиња
како "ADD" (за собирање) или "MULT" (за множење), за да ги претстави инструкциите. Програмите напишани во
assembly се претвораат во машински код преку едноставно заменување на имињата на инструкциите со
соодветната низа од нули и единици која ја дефинира инструкцијата. Во продолжение е даден кодот на една
assembly програма:

LOAD Price

ADD Tax

STORE Total

Денес, со исклучок на дизајнерите на embedded (вградливи) компјутерски системи, многу мал број на
програмери користат assembly. Постојат три позначајни причини за тоа:

· потребата од пишување на голем број на инструкции за правење на едноставни пресметки

· програмите напишани во assembly се тешко читливи од страна на луѓето

· assembly програмите напишани за една фамилија процесори не мора да работат на друга

Овој начин на програмирање е подобрен со користење на мнемонички кодови


3 тип: Јазици од високо ниво

Поради сложеноста на assembly, креирани се т.н. јазици од високо ниво - јазици кои, преку сокривање на
деталите од машинскиот код, им овозможуваат на програмерите да се фокусираат на решавање на вистинскиот
проблем. Овие јазици се познати и како јазици од 3-та генерација (машинскиот код е јазик од 1-ва генерација,
assembly е јазик од 2-ра генерација). Програмата која го чита кодот напишан во јазик од високо ниво и го
претвора во програма која компјутерот може да ја разбере се нарекува компајлер. Јазиците од високо ниво се
полесни за пишување, полесни за разбирање и полесни за менување. Дополнително, не е потребно пишување на
десетици програми за секој можен тип на процесор.

Интересно е да се наведе дека постојат и јазици наменети за користење во само една област; на пример, јазици
наменети за работа со бази на податоци (SQL). За овие јазици се вели дека се јазици од 4-та генерација.

Вишите програмски јазици не зависат од машината на која ќе се изведуваат и затоа се наречени машински
независни јазици. Затоа при пишувањето на програмата не се води сметка за типот на компјутерот на кој ќе се
извршуваат програмите туку за областа од која е проблемот што се решава и се нарекуваат проблемско
ориентирани јазици.

You might also like