Programovací jazyky

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Historie do samostatné kapitolky)
(Vyšší a nižší programovací jazyky: Přidáno vysvětlení)
Řádka 5: Řádka 5:
  
 
== Vyšší a nižší programovací jazyky ==
 
== Vyšší a nižší programovací jazyky ==
 +
 +
=== Strojový kód ===
 +
<div class="Poznamka">Charakteristika:
 +
* Není třeba překlad, kód lze přímo umístit do paměti.
 +
* Procesor čte kód a provádí ho přímo.
 +
</div>
 +
*Procesor:
 +
** čte z paměti posloupnosti byte (čísla)
 +
** a podle čísla rozhoduje, co má dělat.
 +
číslo &rarr; instrukce
 +
*K zápisu instrukcí je třeba vymyslet pořadí bitů a znát jejich význam.
 +
*Někdy řazen mezi nižší programovací jazyky, ale není třeba překládat ani kompilovat.
 +
*Zápis programu ve strojovém kódu uvidíme, když si otevřeme spustitelný soubor v hexadecimálním editoru.
 +
<div class="Priklad">Příklad:
 +
* <code>8B 07</code> ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX
 +
</div>
 +
 +
=== Nižší programovací jazyky ===
 +
<div class="Poznamka">Charakteristika:
 +
* Výsledný zdrojový kód je vždy závislý na konkrétním typu procesoru.
 +
* Jiný typ procesoru má jiné instrukce.
 +
</div>
 +
*Jeden příkaz se přepíše přesně na jednu instrukci procesoru.
 +
několikapísmenný název &rarr; instrukce
 +
*Označení „assembler“.
 +
*Oproti strojovému kódu nabízí:
 +
**Instrukcím jsou přiřazeny názvy.
 +
**Pojmenování míst v paměti (proměnné).
 +
***Nemusíme psát přímo adresy v paměti.
 +
***Můžeme adresy na začátku pojmenovat a pak používat jména.
 +
<div class="Priklad">Příklad:
 +
* <code>MOV AX, [BX]</code> ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX
 +
</div>
 +
 +
=== Vyšší programovací jazyky ===
 +
<div class="Poznamka">Charakteristika:
 +
* Zdrojový kód není závisly na typu procesoru.
 +
* Stejný kód lze po změně překladače přeložit pro jiný typ procesoru.
 +
</div>
 +
* Příkazy jsou slovní, jsou blíže přirozenému jazyku.
 +
* Jeden příkaz se přeloží na posloupnost instrukcí.
 +
příkaz &rarr; posloupnost více instrukcí.
 +
*První FORTRAN (1956)
 +
*Velká skupina, i mezi nimi jsou rozdíly:
 +
**mají blíže k přirozenému jazyku, jsou vzdálené principu práce počítače (Java, Pascal, PHP, SQL,...)
 +
**mají blíže instrukcím procesoru (C,...)
 +
<div class="Priklad">Příklad:
 +
* <code>if (a > 4) b--; </code> ... překladač přepíše na delší posloupnost instrukcí procesoru:
 +
**Přesun obsahu proměnné A do registru.
 +
**Odečtení hodnoty 4 od obsahu registru.
 +
**Porovnání hodnoty registru proti 0.
 +
**Vyhodnocení výsledku.
 +
**Skok na správné místo v paměti, kde je další kód.
 +
**Provedení dalšího kódu
 +
***Buď odečtení jedničky od hodnoty proměnné B (opět několika instrukcemi).
 +
***Nebo pokračování v kódu programu bez modifikace proměnné B.
 +
</div>
  
 
== Související stránky ==
 
== Související stránky ==
 
* [[Historie programovacích jazyků]]
 
* [[Historie programovacích jazyků]]

Verze z 5. 9. 2014, 11:57


Obsah

Interpretované a kompilované programovací jazyky

InterpretXkomp.png

Vyšší a nižší programovací jazyky

Strojový kód

Charakteristika:
  • Není třeba překlad, kód lze přímo umístit do paměti.
  • Procesor čte kód a provádí ho přímo.
číslo → instrukce
Příklad:
  • 8B 07 ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX

Nižší programovací jazyky

Charakteristika:
  • Výsledný zdrojový kód je vždy závislý na konkrétním typu procesoru.
  • Jiný typ procesoru má jiné instrukce.
několikapísmenný název → instrukce
Příklad:
  • MOV AX, [BX] ... přesune číslo v registru AX do paměti na adresu uloženou v registru BX

Vyšší programovací jazyky

Charakteristika:
  • Zdrojový kód není závisly na typu procesoru.
  • Stejný kód lze po změně překladače přeložit pro jiný typ procesoru.
příkaz → posloupnost více instrukcí.
Příklad:
  • if (a > 4) b--; ... překladač přepíše na delší posloupnost instrukcí procesoru:
    • Přesun obsahu proměnné A do registru.
    • Odečtení hodnoty 4 od obsahu registru.
    • Porovnání hodnoty registru proti 0.
    • Vyhodnocení výsledku.
    • Skok na správné místo v paměti, kde je další kód.
    • Provedení dalšího kódu
      • Buď odečtení jedničky od hodnoty proměnné B (opět několika instrukcemi).
      • Nebo pokračování v kódu programu bez modifikace proměnné B.

Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje