fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret
@@:
cmp edx, 2
ja @f
mov eax, 1
ret
@@:
push ebx
mov ebx, 1
mov ecx, 1
@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b
@@:
pop ebx
ret
C
unsigned int fib(unsigned int n) {
if (n <= 0)
return 0;
else if (n <= 2)
return 1;
else {
unsigned int a,b,c;
a = 1;
b = 1;
while (1) {
c = a + b;
if (n <= 3) return c;
a = b;
b = c;
n--;
}
}
}
Języki programowania wysokiego/wyższego poziomu
Python
Java
Ruby
Pearl
R
System operacyjny (OS)
Program do uruchamiania programów
Komunikuje się z hardwarem
Zapewnia podstawowe funkcjonalności:
I/O
Sieć
Dostęp do danych na dysku
Programy piszę się pod konkretny OS
Systemy operacyjne
Systemy operacyjne - Windows
Systemy operacyjne - MacOS
Systemy operacyjne - Linux
Python
Python - co to takiego?
interpretowany język programowania wysokiego poziomu
że co?
Python - co to takiego?
interpretowany: nie potrzebujemy kompilować programów
interpretowany: potrzebujemy mieć interpreter Pythona zainstalowany na komputerze
wysokiego poziomu: nie trzeba przejmować się alokacją pamięci, deklarowaniem zmiennych, itd.
jeśli masz znać jeden język programowania, naucz się Pythona
Python - do czego służy?
Do wszystkiego
Głównie zastosowania:
aplikacje webowe
data science
uczenie maszynowe
skryptowanie
Guido van Rossum (1991)
Wersje Pythona
Python 2 skończył swój żywot w 2020r., dalej możecie się natknąć na przykłady i tutoriale
My uczymy się tylko Pythona 3 (3.8)
Skrypty a programowanie interaktywne
Klasyczne programowanie polega na pisaniu skryptów/programów - plików tekstowych, na których pracuje interpreter/kompilator
Taki też jest klasyczny sposób pracy z Pythonem
My będziemy uczyć się programowania interaktywnego - piszesz kod i od razu widzisz jego rezultat