Úvod do programování 3 (to be continued)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Úvod do programování 3 (to be continued)

on

  • 2,776 views

 

Statistics

Views

Total Views
2,776
Views on SlideShare
2,775
Embed Views
1

Actions

Likes
1
Downloads
19
Comments
0

1 Embed 1

https://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Úvod do programování 3 (to be continued) Presentation Transcript

  • 1. Úvod do programování aneb Do nitra stroje PŘEDNÁŠKA 3 Karel Minařík
  • 2. 1 Opakování Úvod do programování
  • 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
  • 6. History of Programming Languages 1954 1960 1965 1970 1975 1980 1985 1990 1995 2000 2001 2002 2003 2004 1986 1990 1990 1991 1991 1993 1994 1995 1996 1996 1997 1997 2000 2001 2001 2003 2003 2004 For more than half of the fifty years computer programmers have been This timeline includes fifty of the more than 2500 documented writing code, O’Reilly has provided developers with comprehensive, programming languages. It is based on an original diagram created www.oreilly.com in-depth technical information. We’ve kept pace with rapidly changing by Éric Lévénez (www.levenez.com), augmented with suggestions technologies as new languages have emerged, developed, and from O’Reilly authors, friends, and conference attendees. matured. Whether you want to learn something new or need For information and discussion on this poster, answers to tough technical questions, you’ll find what you need go to www.oreilly.com/go/languageposter. in O’Reilly books and on the O’Reilly Network. ©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
  • 7. Programovatelnost Programmability Úvod do programování Přednáška 3
  • 8. ˚ „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
  • 9. 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
  • 10. 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
  • 11. Úvod do programování Přednáška 3
  • 12. — Yukihiro Matsumoto (Matz)
  • 13. Přednáška Ruby Design Principles http://itc.conversationsnetwork.org/shows/detail1638.html Úvod do programování Přednáška 3
  • 14. „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
  • 15. 2 Ruby — Instalace Úvod do programování
  • 16. www.ruby-doc.org/docs/ProgrammingRuby
  • 17. VYBAVENÍ 1. Ruby :) 2. Konzole pro přímé zadání kódu 3. Editor 4. Dokumentace (!) Úvod do programování Přednáška 3
  • 18. 3 Základní typy a operace Úvod do programování
  • 19. 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
  • 20. puts 1 + 1 →2 puts quot;1quot; + quot;1quot; → quot;11quot; číslovka × písmeno puts (1 + 1).class puts (quot;1quot; + quot;1quot;).class Datové typy Úvod do programování Přednáška 3
  • 21. puts 1 + 1 puts quot;1quot; + quot;1quot; puts 2 + 2 * 5 puts (2 + 2) * 5 puts quot;Ahojquot; + quot;Sároquot; puts quot;Ahojquot; + quot; quot; + quot;Sároquot; puts quot;Ahojquot; + 2 (číslo není řetězec) # puts quot;Ahojquot; + 2 (Tento příkaz nebude Ruby provádět) puts quot;Nebudu ve škole zlobitnquot; * 10 Aritmetické operace Úvod do programování Přednáška 3
  • 22. 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
  • 23. … to be continued! 