Programowanie wprowadzenie

Z Skrypty dla studentów Ekonofizyki UPGOW

(Różnice między wersjami)
ZygmuntGburski (dyskusja | edycje)
(Utworzył nową stronę „= WPROWADZENIE = Programowanie komputera to po prostu tworzenie listy poleceń (instrukcji) do wykonania przez mikroprocesor. Taką listę poleceń – sporządzoną w…”)
następna edycja →

Wersja z 12:09, 24 mar 2010

WPROWADZENIE

Programowanie komputera to po prostu tworzenie listy poleceń (instrukcji) do wykonania przez mikroprocesor. Taką listę poleceń – sporządzoną według reguł danego języka programowania – nazywamy programem komputerowym. Z biegiem lat powstało bardzo wiele języków programowania, można je z grubsza podzielić na:

  • niskiego poziomu (maszynowe, asemblery). Podzespoły elektroniczne mikroprocesora przetwarzają informacje dostarczane w postaci binarnej (ciągi zer i jedynek). Programowanie w języku maszynowym, czyli na najniższym poziomie symboliki i abstrakcji, polega na dostarczaniu procesorowi rozkazów oraz danych bezpośrednio, w postaci strumienia zer i jedynek. Oto przykład takiego kodu maszynowego:

    111010100000000000001111111111111111100010011101100000000010100000001

Stopień wyżej w hierarchii pojawiają się asemblery. Poszczególnym rozkazom maszynowym odpowiadają określone symbole literowe, tzw. mnemoniki, a nie ciągi liczb. Zastąpienie sekwencji zer i jedynek, reprezentujących rozmaite fragmenty rozkazu maszynowego, przez ich symboliczne nazwy czyni program nieco bardziej czytelny dla człowieka. Spójrzmy na fragmentu kodu w asemblerze:

movw %ax, %fs 
movw %ax, %gs 
lgdt saved_gdt 
lidt saved_idt

Każdy język niskiego poziomu jest związany z danym typem procesora, jego listą rozkazów, architekturą, tak pisane programy niesposób przenosić pomiędzy platformami bazującymi na różnych procesorach. Współcześnie asembler jest wykorzystywany do programowania mikrokontrolerów lub tworzenia niewielkich, wysoce specjalistycznych kodów, wymagających bardzo wysokiej efektywności, programów antywirusowych, itp.

  • wysokiego poziomu (np. Fortran, Pascal, C, C++, Java, Python, C#, Ruby, …). Oferują one instrukcje składające się z słów angielskich, znaków logicznych i operacji matematycznych, zwykle też bibliotekę funkcji standardowych lub klas.

Spójrzmy na kod napisany w jednym z języków wysokiego poziomu:

int suma = 0;
for (int i = 0; i < 6; i = i + 1)
suma = suma + i;
</source