Úvod do programování 3 (to be continued)
DESCRIPTION
TRANSCRIPT
![Page 1: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/1.jpg)
Úvod do programování aneb Do nitra stroje
Karel MinaříkPŘEDNÁŠKA 3
![Page 2: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/2.jpg)
Úvod do programování
Opakování1
![Page 3: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/3.jpg)
Úvod do programování Přednáška 3
? Najít pánev? Najít olej1. Nalít olej do pánve2. Zapálit plyn? Čím zapálit plyn3. Vzít vejce4. Rozklepnout vejce o okraj pánve
OK
Fatal Error
Do!ly vejce
Cancel
![Page 4: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/4.jpg)
Úvod do programování Přednáška 3
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.
![Page 5: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/5.jpg)
Úvod do programování Přednáška 3
Počítač nedělá to, co chceme, aby dělal.
Počítač dělá přesně to, co mu řekneme, aby dělal.
![Page 6: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/6.jpg)
1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004
History of Programming Languages
©2004 O’Reilly Media, Inc. O’Reilly logo is a registered trademark of O’Reilly Media, Inc. All other trademarks are property of their respective owners. part#30417
19601954 1965 1970 1975 1980 1985 1990 1995 2000 20022001 2003 2004
For more than half of the fifty years computer programmers have beenwriting code, O’Reilly has provided developers with comprehensive,in-depth technical information. We’ve kept pace with rapidly changingtechnologies as new languages have emerged, developed, andmatured. Whether you want to learn something new or needanswers to tough technical questions, you’ll find what you need in O’Reilly books and on the O’Reilly Network.
This timeline includes fifty of the more than 2500 documented programming languages. It is based on an original diagram createdby Éric Lévénez (www.levenez.com), augmented with suggestionsfrom O’Reilly authors, friends, and conference attendees.
For information and discussion on this poster, go to www.oreilly.com/go/languageposter.
www.oreilly.com
![Page 7: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/7.jpg)
![Page 8: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/8.jpg)
Úvod do programování Přednáška 3
ProgramovatelnostProgrammability
![Page 9: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/9.jpg)
Úvod do programování Přednáška 3
„GENERACE“ PROGRAMOVACÍCH JAZYKU
První generaceStrojový 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á generaceAssembler (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á generaceReportovací 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á generaceSynonymum pro vizuální programování nebo označení vývoje pomocí definic omezení, stroj sám má zkonstruovat algoritmus. Akademické použití.
˚
![Page 10: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/10.jpg)
Úvod do programování Přednáška 3
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
´
![Page 11: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/11.jpg)
Úvod do programování Přednáška 3
Perl, 1987Skriptovací jazyk, práce s textem, knihovny (CPAN), duct-tape of the internet
Java, 1995Objektový, nezávislý na platformě (Write once, run anywhere). Java <applet> běží v internetových prohlížečích.
PHP, 1995Dynamické webové stránky — snadná integrace, zprovoznění. Masivní rozšíření — tzv. LAMP.
![Page 12: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/12.jpg)
Úvod do programování Přednáška 3
![Page 13: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/13.jpg)
— Yukihiro Matsumoto (Matz)
![Page 14: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/14.jpg)
Úvod do programování Přednáška 3
Přednáška Ruby Design Principleshttp://itc.conversationsnetwork.org/shows/detail1638.html
![Page 15: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/15.jpg)
Úvod do programování Přednáška 3
„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~
![Page 16: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/16.jpg)
Úvod do programování
Ruby — Instalace2
![Page 17: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/17.jpg)
![Page 18: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/18.jpg)
![Page 19: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/19.jpg)
![Page 20: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/20.jpg)
![Page 21: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/21.jpg)
![Page 22: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/22.jpg)
![Page 23: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/23.jpg)
![Page 24: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/24.jpg)
www.ruby-doc.org/docs/ProgrammingRuby
![Page 25: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/25.jpg)
Úvod do programování Přednáška 3
VYBAVENÍ
1. Ruby :)
2. Konzole pro přímé zadání kódu
3. Editor
4. Dokumentace (!)
![Page 26: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/26.jpg)
Úvod do programování
Základní typy a operace3
![Page 27: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/27.jpg)
Úvod do programování Přednáška 3
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é
![Page 28: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/28.jpg)
Úvod do programování Přednáška 3
puts 1 + 1
→ 2
puts "1" + "1"
→ "11"
číslovka × písmeno
puts (1 + 1).classputs ("1" + "1").class
Datové typy
![Page 29: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/29.jpg)
Úvod do programování Přednáška 3
puts 1 + 1
puts "1" + "1"
puts 2 + 2 * 5
puts (2 + 2) * 5
puts "Ahoj" + "Sáro"
puts "Ahoj" + " " + "Sáro"
puts "Ahoj" + 2 (číslo není řetězec)
# puts "Ahoj" + 2 (Tento příkaz nebude Ruby provádět)
puts "Nebudu ve škole zlobit\n" * 10
Aritmetické operace
![Page 30: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/30.jpg)
Úvod do programování Přednáška 3
200.times do puts "Nebudu ve škole zlobit. "end
1.upto 200 do |i| print "#{i}. Nebudu ve škole zlobit. "endprint "\n-----\n"
… aneb co dělají počítače nejraději
![Page 31: Úvod do programování 3 (to be continued)](https://reader033.vdocuments.net/reader033/viewer/2022051515/55383d224a79594f6c8b471c/html5/thumbnails/31.jpg)
… to be continued!