3. ? Najít pánev
Fatal Error
? Najít olej
Do!lyNalít olej do pánve
1. vejce
2. Zapálit plyn
? Čím zapálit plyn
Cancel OK
3. Vzít vejce
4. Rozklepnout vejce o okraj pánve
Úvod do programování Přednáška 3
4. JEDNODUCHÝ ALGORITMUS
Nalezení největšího čísla
z neuspořádaného seznamu čísel
1. Předpokládejme, že první číslo v seznamu je největší.
2. Podívejme se na postupně na každé zbývající číslo v seznamu. Pokud je
větší než dosud největší číslo, zapišme si je.
3. Jakmile jsme prošli všechna čísla, je poslední zapsané číslo největším
číslem v seznamu.
Úvod do programování Přednáška 3
5. Počítač nedělá to, co chceme, aby dělal.
Počítač dělá přesně to, co mu řekneme, aby dělal.
Úvod do programování Přednáška 3
9. ˚
„GENERACE“ PROGRAMOVACÍCH JAZYKU
První generace
Strojový kód: 0 a 1. První počítače: přepínače, nikoliv text. Absolutní výkon.
Závislý na hardware.
Příklad: 10110000 01100001
Druhá generace
Assembler (assembly language). Závislý na hardware.
Příklad: mov al, 61h
Třetí generace
Čitelný a snadno zapsatelný lidmi. Většina moderních jazyků.
Příklad: let b = c + 2 * d
Čtvrtá generace
Reportovací nástroje, SQL (structured query language), domain-specific languages.
Navržené pro konkrétní účel.
Příklad: SELECT * FROM employees WHERE ORDER BY surname
Pátá generace
Synonymum pro vizuální programování nebo označení vývoje pomocí definic
omezení, stroj sám má zkonstruovat algoritmus. Akademické použití.
Úvod do programování Přednáška 3
10. PŘÍSTUPY K PROGRAMOVÁNÍ (PARADIGMATA)
Procedurální programování
Bud´synonymum pro imperativní programování — prostá posloupnost kroků
(„recept“). Nebo označení pro programování stylem volání procedur (rutina,
sub-rutina, funkce). Modularita.
Zejména: PHP, Perl
Objektově orientované programování
Objekty, jejich vlastnosti a vztahy (Malý pes štěká na chlapce). Dědičnost,
modularita, polymorfismus, zapouzdření.
Zejména: Java, Ruby
Funkční programování
Nepopisuje kroky algoritmu, ale matematické vztahy.
Zejména: Lisp, Erlang
Vizuální programování
Vytváření instrukcí a posloupností vizuálně, pomocí grafických reprezentací,
nikoliv textem.
Zejména: Max/MSP, Apple Automator
Úvod do programování Přednáška 3
11. Perl, 1987
Skriptovací jazyk, práce s textem, knihovny (CPAN), duct-tape of the internet
Java, 1995
Objektový, nezávislý na platformě (Write once, run anywhere). Java <applet>
běží v internetových prohlížečích.
PHP, 1995
Dynamické webové stránky — snadná integrace, zprovoznění. Masivní rozšíření
— tzv. LAMP.
Úvod do programování Přednáška 3
15. „Věřím, že – alespoň do jisté míry – je smyslem života být šťastný.
Na základě tohoto přesvědčení je Ruby navrženo tak, že je
nejenom snadné, ale i zábavné v něm programovat. Ruby vám
umožňuje soustředit se na kreativní stránku programování,
a nepřidělává vám další starosti.“
~ Yukihiro Matsumoto, předmluva k prvnímu vydání knihy Programming Ruby
Úvod do programování Přednáška 3
25. VYBAVENÍ
1. Ruby :)
2. Konzole pro přímé zadání kódu
3. Editor
4. Dokumentace (!)
Úvod do programování Přednáška 3
26. 3 Základní typy a operace
Úvod do programování
27. ZÁKLADNÍ TYPY A OPERACE
1. Čísla
2. Texty (řetězce)
3. Pole
4. Aritmetické operace
5. Komentáře
6. Smyčky
7. Podmínky
8. Proměnné
Úvod do programování Přednáška 3
30. 200.times do
puts quot;Nebudu ve škole zlobit. quot;
end
1.upto 200 do |i|
print quot;#{i}. Nebudu ve škole zlobit. quot;
end
print quot;n-----nquot;
… aneb co dělají počítače nejraději
Úvod do programování Přednáška 3