Professional Documents
Culture Documents
Што е Тоа Програмирање
Што е Тоа Програмирање
6.Тестирање на програмата
Тестирањето се прави од страна на програмерот или корисниците за кои е наменета програмата.
Програмата мора да работи правилно за различни вредности кои го внесува корисникот или да
оневозможи погрешно внесување вредности во програмата преку пораки и сл. до корисникот.
Се тестира за да се види дали програмата дава точни резултати. Тестирањето се врши за вредности
за кои лесно може да се определи резултатот или за вредности за кои се знае резултатот. Ако
програмата неправилно работи, значи има логичка грешка која може да ја корегира само
програмерот. По корекција на грешката процесот се повторува. Логичките грешки обично се викаат
багови (bugs) и за нивно откривање се користи програма дебагер која овозможува извршување на
програмата линија по линија и стопирање на нејзиното извршување на одредено „сомнително“
место
Пример за синтаксна и логичка грешка
Ова е формула за периметар на правоаголник ако се познати неговите страни:
L=2*(а-b
Синтаксна грешка – недостасува заграда на крајот од изразот.
Логичка грешка – формулата не е точна иако поставање на заградата на крајот е правилно
запишана.
a=5
b=”Maja”
c= b-a
Логичка грешка – b е текст и не може да биде намаленик.
Изворната програма не е разбирлива за компјутерот. Таа мора да се преведе во машински јазик (во
кој инструкциите се запишуваат со 1 и 0) за да биде разбрана и извршена од процесорот.
Изворната програма преведена на машински јазик се вика извршна програма.
За преведување на изворната програма во извршна програма се користат програми преведувачи кои
во зависност од начинот на преведување може да бидат компајлери (најчесто) и интерпретери.
1 тип - Машински јазик: Kомпјутерите разбираат само мал број на наредби (т.н. "инструкции"), и тие мора точно
да знаат што треба да извршат, во кој редослед и врз кои податоци. Процесорот (делот од компјутерот кој е
задолжен за извршување на овие наредби) очекува инструкциите да му бидат предадени во вид на нули (0) и
единици (1). Тоа е единствениот јазик кој тој го познава. Замислете колку би било сложено да се пишуваат
софтверски програми користејќи нули и единици. Сепак, интересно е да се знае дека тоа е начинот на кој се
пишувале програми во раните 1950-ти години. Во продолжение е даден изгледот на една инструкција
разбирлива за процесорите:
Ваквите инструкции се нарекуваат "машински код", "машински јазик" или "инструкциско множество", и секоја од
нив има свое значење - извршува одредена операција. Операцијата е определена со првите неколку цифри
(100011), додека останатите цифри ги дефинираат податоците врз кои треба да се изврши таа операција. Покрај
тоа што е крајно мачно да се пишуваат програми на ваков начин, тешко е и да се менуваат постоечките програми,
како и да се откриваат грешки во нив. Дополнително, различните фамилии на процесори имаат сопствени
множества на инструкции, па програмите напишани за Intel Pentium 3 нема да работат на AMD Athlon 2 (на
пример).
2 тип - Асемблерски: Едно ниво над машинскиот код е т.н. assembly јазик. Assembly користи едноставни имиња
како "ADD" (за собирање) или "MULT" (за множење), за да ги претстави инструкциите. Програмите напишани во
assembly се претвораат во машински код преку едноставно заменување на имињата на инструкциите со
соодветната низа од нули и единици која ја дефинира инструкцијата. Во продолжение е даден кодот на една
assembly програма:
LOAD Price
ADD Tax
STORE Total
Денес, со исклучок на дизајнерите на embedded (вградливи) компјутерски системи, многу мал број на
програмери користат assembly. Постојат три позначајни причини за тоа:
Поради сложеноста на assembly, креирани се т.н. јазици од високо ниво - јазици кои, преку сокривање на
деталите од машинскиот код, им овозможуваат на програмерите да се фокусираат на решавање на вистинскиот
проблем. Овие јазици се познати и како јазици од 3-та генерација (машинскиот код е јазик од 1-ва генерација,
assembly е јазик од 2-ра генерација). Програмата која го чита кодот напишан во јазик од високо ниво и го
претвора во програма која компјутерот може да ја разбере се нарекува компајлер. Јазиците од високо ниво се
полесни за пишување, полесни за разбирање и полесни за менување. Дополнително, не е потребно пишување на
десетици програми за секој можен тип на процесор.
Интересно е да се наведе дека постојат и јазици наменети за користење во само една област; на пример, јазици
наменети за работа со бази на податоци (SQL). За овие јазици се вели дека се јазици од 4-та генерација.
Вишите програмски јазици не зависат од машината на која ќе се изведуваат и затоа се наречени машински
независни јазици. Затоа при пишувањето на програмата не се води сметка за типот на компјутерот на кој ќе се
извршуваат програмите туку за областа од која е проблемот што се решава и се нарекуваат проблемско
ориентирани јазици.