Date post: | 22-Apr-2015 |
Category: |
Technology |
Upload: | karel-minarik |
View: | 2,799 times |
Download: | 1 times |
Úvod do programování aneb Do nitra stroje
Karel MinaříkPŘEDNÁŠKA 3
Úvod do programování
Opakování1
Ú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
Ú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.
Ú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.
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
Úvod do programování Přednáška 3
ProgramovatelnostProgrammability
Ú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í.
˚
Ú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
´
Ú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.
Úvod do programování Přednáška 3
— Yukihiro Matsumoto (Matz)
Úvod do programování Přednáška 3
Přednáška Ruby Design Principleshttp://itc.conversationsnetwork.org/shows/detail1638.html
Ú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~
Úvod do programování
Ruby — Instalace2
www.ruby-doc.org/docs/ProgrammingRuby
Úvod do programování Přednáška 3
VYBAVENÍ
1. Ruby :)
2. Konzole pro přímé zadání kódu
3. Editor
4. Dokumentace (!)
Úvod do programování
Základní typy a operace3
Ú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é
Ú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
Ú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
Ú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
… to be continued!