Sólin Sólin Rís 10:17 • sest 16:10 í Reykjavík
Tunglið Tunglið Rís 21:40 • Sest 15:54 í Reykjavík
Flóð Flóð Árdegis: 10:12 • Síðdegis: 22:46 í Reykjavík
Fjaran Fjara Árdegis: 03:46 • Síðdegis: 16:36 í Reykjavík
Sólin Sólin Rís 10:17 • sest 16:10 í Reykjavík
Tunglið Tunglið Rís 21:40 • Sest 15:54 í Reykjavík
Flóð Flóð Árdegis: 10:12 • Síðdegis: 22:46 í Reykjavík
Fjaran Fjara Árdegis: 03:46 • Síðdegis: 16:36 í Reykjavík
LeiðbeiningarTil baka

Sendu inn spurningu

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Hvernig virka forritunarmál til dæmis C++?

Hjálmtýr Hafsteinsson

Örgjörvar tölva ráða aðeins við að framkvæma mjög einfaldar og frumstæðar skipanir, svokallaðar vélarmálsskipanir. Með þeim er hægt að bera saman tölur sem eru í minni tölvunnar, leggja þær saman og gera aðra einfalda útreikninga á þeim. Það er mjög erfitt að forrita í vélarmáli, bæði vegna þess að það er mjög frumstætt, en líka vegna þess að hver skipun er bara kóði, til dæmis gæti samlagningarskipunin verið kóðinn 47. Næsta tala á eftir væri þá staðsetningin á fyrri tölunni sem á að nota og þarnæsta tala væri staðsetning seinni tölunnar. Þannig myndi talnarunan 47,1002,3918 tákna skipunina "Leggðu saman tölurnar í minnishólfum númer 1002 og 3918 og settu niðurstöðuna í hólf númer 1002". Það segir sig sjálft að það er ekki þægilegt að lesa og skilja forrit sem samanstanda af mörg þúsund slíkra vélarmálsskipana.

Tölvunarfræðingar hafa því hannað svokölluð æðri forritunarmál, þar sem skipanirnar eru öflugri og á hærra plani en vélarmálsskipanirnar. Sem dæmi um slík forritunarmál má nefna Java, C++, Pascal, Fortran og ýmis fleiri. Forritarar skrifa þá sín forrit í þessum málum, til dæmis C++ og síðan er annað forrit, svokallaður þýðandi, sem breytir þeim yfir í forrit á vélarmáli.

Þýðendur eru flókin forrit og það er mjög mikilvægt að þeir vinni rétt, það er að þeir búi til rétta runu vélarmálsskipana út frá C++ forritinu. Þýðendagerð er mjög vel rannsakað svið innan tölvunarfræðinnar og menn hafa öðlast mikla þekkingu á því hvernig smíða eigi rétta og hraðvirka þýðendur fyrir ýmis æðri forritunarmál.

Hér að neðan er að gamni lítið forrit í C++:

#include <iostream.h>

int main()

{

int celsius, farenh;

cout << "Sláið inn hitastig í selsíusgráðum: ";

cin >> celsius;

farenh = 9*celsius/5 + 32;

cout << "Hiti í Fahrenheit er þá " << farenh << " gráður"

<< endl;

return 0;

}

Þetta forrit biður notandann um hitastig í selsíusgráðum, reiknar út hitastigið í Fahrenheit-gráðum og prentar það út. Eftir að búið er að breyta þessu forriti yfir í vélarmálsforrit þá samanstendur það af yfir 5000 vélarmálskipunum. Þannig má sjá að það er óneitanlega auðveldara að skrifa 10 lína forrit í C++ en 5000 línur af gerðinni "47,1002,3918"!

Frekara lesefni af Vísindavefnum:

Höfundur

Hjálmtýr Hafsteinsson

dósent í tölvunarfræði við HÍ

Útgáfudagur

19.5.2004

Spyrjandi

Fjölnir Ásgeirsson, f. 1989

Tilvísun

Hjálmtýr Hafsteinsson. „Hvernig virka forritunarmál til dæmis C++?“ Vísindavefurinn, 19. maí 2004, sótt 21. nóvember 2024, https://visindavefur.is/svar.php?id=4261.

Hjálmtýr Hafsteinsson. (2004, 19. maí). Hvernig virka forritunarmál til dæmis C++? Vísindavefurinn. https://visindavefur.is/svar.php?id=4261

Hjálmtýr Hafsteinsson. „Hvernig virka forritunarmál til dæmis C++?“ Vísindavefurinn. 19. maí. 2004. Vefsíða. 21. nóv. 2024. <https://visindavefur.is/svar.php?id=4261>.

Chicago | APA | MLA

Senda grein til vinar

=

Hvernig virka forritunarmál til dæmis C++?
Örgjörvar tölva ráða aðeins við að framkvæma mjög einfaldar og frumstæðar skipanir, svokallaðar vélarmálsskipanir. Með þeim er hægt að bera saman tölur sem eru í minni tölvunnar, leggja þær saman og gera aðra einfalda útreikninga á þeim. Það er mjög erfitt að forrita í vélarmáli, bæði vegna þess að það er mjög frumstætt, en líka vegna þess að hver skipun er bara kóði, til dæmis gæti samlagningarskipunin verið kóðinn 47. Næsta tala á eftir væri þá staðsetningin á fyrri tölunni sem á að nota og þarnæsta tala væri staðsetning seinni tölunnar. Þannig myndi talnarunan 47,1002,3918 tákna skipunina "Leggðu saman tölurnar í minnishólfum númer 1002 og 3918 og settu niðurstöðuna í hólf númer 1002". Það segir sig sjálft að það er ekki þægilegt að lesa og skilja forrit sem samanstanda af mörg þúsund slíkra vélarmálsskipana.

Tölvunarfræðingar hafa því hannað svokölluð æðri forritunarmál, þar sem skipanirnar eru öflugri og á hærra plani en vélarmálsskipanirnar. Sem dæmi um slík forritunarmál má nefna Java, C++, Pascal, Fortran og ýmis fleiri. Forritarar skrifa þá sín forrit í þessum málum, til dæmis C++ og síðan er annað forrit, svokallaður þýðandi, sem breytir þeim yfir í forrit á vélarmáli.

Þýðendur eru flókin forrit og það er mjög mikilvægt að þeir vinni rétt, það er að þeir búi til rétta runu vélarmálsskipana út frá C++ forritinu. Þýðendagerð er mjög vel rannsakað svið innan tölvunarfræðinnar og menn hafa öðlast mikla þekkingu á því hvernig smíða eigi rétta og hraðvirka þýðendur fyrir ýmis æðri forritunarmál.

Hér að neðan er að gamni lítið forrit í C++:

#include <iostream.h>

int main()

{

int celsius, farenh;

cout << "Sláið inn hitastig í selsíusgráðum: ";

cin >> celsius;

farenh = 9*celsius/5 + 32;

cout << "Hiti í Fahrenheit er þá " << farenh << " gráður"

<< endl;

return 0;

}

Þetta forrit biður notandann um hitastig í selsíusgráðum, reiknar út hitastigið í Fahrenheit-gráðum og prentar það út. Eftir að búið er að breyta þessu forriti yfir í vélarmálsforrit þá samanstendur það af yfir 5000 vélarmálskipunum. Þannig má sjá að það er óneitanlega auðveldara að skrifa 10 lína forrit í C++ en 5000 línur af gerðinni "47,1002,3918"!

Frekara lesefni af Vísindavefnum:...