Do nitra stroje s programovacím jazykem Ruby. Karel Minařík

Podobné dokumenty
Úvod do programování aneb Do nitra stroje

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

Mobilní počítač Dolphin TM Stručný návod k použití

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

LOGBOOK. Blahopřejeme, našli jste to! Nezapomeňte. Prosím vyvarujte se downtrade

Sociální sítě jako Velký bratr. Martin Klubal AEC a.s.

Od Czech POINTu k vnitřní integraci

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

Invitation to ON-ARRIVAL TRAINING COURSE for EVS volunteers

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Výukový materiál zpracovaný v rámci operačního programu Vzdělávání pro konkurenceschopnost

a konverze na úřadech Martin Řehořek

Potřebujete mít vaše IS ve shodě s legislativou? Bc. Stanislava Birnerová

Číslo projektu: CZ.1.07/1.5.00/ Název projektu: Inovace a individualizace výuky

POSLECH. M e t o d i c k é p o z n á m k y k z á k l a d o v é m u t e x t u :

Vánoční sety Christmas sets

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Název projektu: Spokojená škola Číslo projektu: OPVK.CZ.1.07/1.2.33/ Metodické pokyny k pracovnímu listu č Tvoříme věty (pro 5.

SLOVNIK CIZICH SLOV PDF

CZ.1.07/1.5.00/

Výukový materiál zpracovaný v rámci operačního programu Vzdělávání pro konkurenceschopnost

Enabling Intelligent Buildings via Smart Sensor Network & Smart Lighting

Java Cvičení 05. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

WORKSHEET 1: LINEAR EQUATION 1

aktuality, novinky Ing. Martin Řehořek

Projekt: ŠKOLA RADOSTI, ŠKOLA KVALITY Registrační číslo projektu: CZ.1.07/1.4.00/ EU PENÍZE ŠKOLÁM

My Year Manager is Vedoucí našeho ročníku je. P.E. is on Tělocvik mám v

kupi.cz Michal Mikuš

System Center Operations Manager

2011 Jan Janoušek BI-PJP. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Výukový materiál zpracovaný v rámci projektu EU peníze do škol. Test

Čipové karty Lekařská informatika

VY_22_INOVACE_84. P3 U3 Revision

II/2 Inovace a zkvalitnění výuky cizích jazyků na středních školách

POSLECH. Cinema or TV tonight (a dialogue between Susan and David about their plans for tonight)

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Postup objednávky Microsoft Action Pack Subscription

AJ 3_16_Prague.notebook. December 20, úvodní strana

Efektivní provoz koncových stanic

Kdo jsme Čím se zabýváme Nabídka služeb pro veřejnou správu Ověřeno v praxi u tisíce uživatelů v podnikatelské a bankovní sféře Plně využitelné u

CZ.1.07/1.5.00/

První brněnská strojírna Velká Bíteš, a.s. was founded in E.g. sales people, purchasing clerks, development workers, designers.

VŠEOBECNÁ TÉMATA PRO SOU Mgr. Dita Hejlová

Transportation Problem

Projekt: ŠKOLA RADOSTI, ŠKOLA KVALITY Registrační číslo projektu: CZ.1.07/1.4.00/ EU PENÍZE ŠKOLÁM

Základní škola Nový Bor,

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

VS. shop? Kamenný obchod nebo e-

Fytomineral. Inovace Innovations. Energy News 04/2008

Introduction to MS Dynamics NAV

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Compression of a Dictionary

Energy vstupuje na trh veterinárních produktů Energy enters the market of veterinary products

Jak importovat profily do Cura (Windows a

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.


Present Perfect x Past Simple Předpřítomný čas x Minulý čas Pracovní list

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA

Jméno autora: Mgr. Alena Chrastinová Datum vytvoření: Číslo DUMu: VY_32_INOVACE_14_AJ_G

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Projekty pro výuku programování v jazyce Java

Digitální učební materiál

EU peníze středním školám digitální učební materiál

PART 2 - SPECIAL WHOLESALE OFFER OF PLANTS SPRING 2016 NEWS MAY 2016 SUCCULENT SPECIAL WHOLESALE ASSORTMENT

Projekt: ŠKOLA RADOSTI, ŠKOLA KVALITY Registrační číslo projektu: CZ.1.07/1.4.00/ EU PENÍZE ŠKOLÁM

2. Entity, Architecture, Process

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

CZ.1.07/1.5.00/

Lukáš Kubis. MSP pro VŠB-TU Ostrava

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Mechanika Teplice, výrobní družstvo, závod Děčín TACHOGRAFY. Číslo Servisní Informace Mechanika:

Theme 6. Money Grammar: word order; questions

Veritas Information Governance získejte zpět kontrolu nad vašimi daty

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Byznys a obchodní záležitosti

Mut goes shopping VY_22_INOVACE_27. Vzdělávací oblast: Jazyk a jazyková komunikace. Vzdělávací obor: Anglický jazyk. Ročník: 6

1 st International School Ostrava-mezinárodní gymnázium, s.r.o. Gregorova 2582/3, Ostrava. IZO: Forma vzdělávání: denní

Bezdrátová klávesnice Návod k použití CECH-ZKB1

Obsah. D) Česká písnička - Když jsem já sloužil... 9

Preliminary Draft. Stručný návod k použití. Mobilní počítač Dolphin se systémem Windows CE 5.0

Výukový materiál zpracovaný v rámci projektu EU peníze do škol. illness, a text

III/ 2- Inovace a zkvalitnění výuky prostřednictvím ICT

Náhradník Náhradník 5.A

Maturitní zkouška státní z anglického jazyka

1, Žáci dostanou 5 klíčových slov a snaží se na jejich základě odhadnout, o čem bude následující cvičení.

Present Simple and Continuous Přítomný čas prostý a průběhový Pracovní list

Převod prostorových dat katastru nemovitostí do formátu shapefile

Why PRIME? 20 years of Erasmus Programme Over 2 million students in total Annually

III_ _The Verb to Be sloveso Být pracovní list.doc III_ _The Verb to Be sloveso Být pracovní list - řešení.doc

Transkript:

Karel Minařík

1 www.google.com/search?q=karel+minařík

2 Proč se na Studiích nových médií zabývat (nějakým) programováním?

Používat nějaký nástroj na počítači vyžaduje zřídkakdy více než umět klikat myší; vytvořit takový nástroj vyžaduje rozumět tajemnému umění programovat počítač John Maeda, Creative Code

Jared Tarbell: Substrate (www.complexification.net)

Orientace na rozumění člověku a společnosti SPOLEČENSKÉ VĚDY! PŘÍRODNÍ VĚDY Orientace na rozumění přírodě a postižení zákonitostí

Demytologizace světa

Rozumět

Frustrace

Vztah ke stroji

Co se děje v nitru stroje? Jak se mu udílí příkazy? Kdo mu je udílí?

3 Kontext vs. konzistence aneb Jak uvažuje programátor?

Ada Lovelace (1815 1852)

the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. Ada Lovelace

Příslib techniky

Neexistuje žádný důvod, aby jednotlivci měli v domácnosti počítače. Ken Olsen, ředitel Digital Equipment Corporation, 1977

Programátoři počítačů píšou, testují a udržují v chodu detailní instrukce, nazývané počítačové programy, které počítače dodržují, aby vykonávaly své funkce. Programátoři také vymýšlejí, navrhují a testují logické struktury pro řešení problémů za pomoci počítače. Wikipedia.org

Použitelnost ergonomie ovládání Usability

Ovládací prvky elektrického vařiče Která plotýnka se ovládá kterým knoflíkem? Donald A. Norman, The Design of Everyday Things (1988)

Zm!na aneb "eho se programáto#i nejvíce bojí...

HLEDISKO UŽIVATELE Kontext! Konzistence HLEDISKO PROGRAMÁTORA

PŘÍKLAD Storno objednávek v aplikaci

Programátoři obtížně řeší kontextově závislé úlohy. Na rozdíl od počítačů.

4 Algoritmus

Algoritmus je základem každého programu Algoritmus je sekvence příkazů

Algoritmus je konečný seznam uspokojivě definovaných instrukcí pro splnění určitého úkolu. Z počátečního stavu algoritmus skončí v definovaném konečném stavu. Wikipedia

1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

? Vzít pánev 1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

? Najít pánev? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

? Najít pánev? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn? Čím zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

? Najít pánev? Najít olej 1. Nalít olej do pánve 2. Zapálit plyn? Čím zapálit plyn 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

? Najít pánev Fatal Error? Najít olej Do!ly 1. Nalít vejce olej do pánve 2. Zapálit plyn? Čím zapálit Cancel plynok 3. Vzít vejce 4. Rozklepnout vejce o okraj pánve

Počítač nedělá to, co chceme, aby dělal. Počítač dělá přesně to, co mu řekneme, aby dělal.

JEDNODUCHÝ ALGORITMUS Nalezení největšího čísla z neuspořádaného seznamu čísel http://en.wikipedia.org/wiki/algorithm#example

POPIS 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.

FORMÁLNÍ ZÁPIS V ANGLIČTINĚ Input: A non-empty list of numbers L Output: The largest number in the list L largest " L0 for each item in the list L 1, do if the item > largest, then largest " the item return largest

ZÁPIS V PROGRAMOVACÍM JAZYCE C 1 #include <stdio.h> 2 #define SIZE 11 3 int main() 4 { 5 int input[size] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 6 int largest = input[0]; 7 int i; 8 for (i = 1; i < SIZE; i++) { 9 if (input[i] > largest) 10 largest = input[i]; 11 } 12 printf("nejvy!!í "íslo je: %d\n", largest); 13 return 0; 14 }

ZÁPIS V PROGRAMOVACÍM JAZYCE Java 1 class MaxApp { 2 public static void main (String args[]) { 3 int[] input = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 4 int largest = input[0]; 5 for (int i = 0; i < input.length; i++) { 6 if (input[i] > largest) 7 largest = input[i]; 8 } 9 System.out.println("Nejvy!!í "íslo je: " + largest + "\n"); 10 } 11 }

ZÁPIS V PROGRAMOVACÍM JAZYCE Ruby 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do i 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} \n"

ZÁPIS V PROGRAMOVACÍM JAZYCE 1 #include <stdio.h> 2 #define SIZE 11 3 int main() 4 { 5 int input[size] = {1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19}; 6 int largest = input[0]; 7 int i; 8 for (i = 1; i < SIZE; i++) { 9 if (input[i] > largest) 10 largest = input[i]; 11 } 12 printf("nejvy!!í "íslo je: %d\n", largest); 13 return 0; 14 } tajemné umění programovat počítač

ZÁPIS V PROGRAMOVACÍM JAZYCE 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do i 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} \n" tajemné umění programovat počítač Syntax

Programovací jazyk je umělý jazyk, který slouží k formální zápisu algoritmu.

ENIAC Program je nastavení kabelů a přepínačů

ZÁPIS V PROGRAMOVACÍM JAZYCE Ruby 1 input = [1, 5, 3, 95, 43, 56, 32, 90, 2, 4, 19] 2 largest = input.first 3 input.each do i 4 largest = i if i > largest 5 end 6 print "Nejvy!!í "íslo je: #{largest} \n"

MAX/MSP www.cycling74.com/products/maxmsp

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 www.oreilly.com For more than half of the fifty years computer programmers have been writing code, O Reilly has provided developers with comprehensive, in-depth technical information. We ve kept pace with rapidly changing technologies as new languages have emerged, developed, and matured. Whether you want to learn something new or need answers 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 created by Éric Lévénez (www.levenez.com), augmented with suggestions from O Reilly authors, friends, and conference attendees. For information and discussion on this poster, go to www.oreilly.com/go/languageposter. 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

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 www.oreilly.com For more than half of the fifty years computer programmers have been writing code, O Reilly has provided developers with comprehensive, in-depth technical information. We ve kept pace with rapidly changing technologies as new languages have emerged, developed, and matured. Whether you want to learn something new or need answers 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 created by Éric Lévénez (www.levenez.com), augmented with suggestions from O Reilly authors, friends, and conference attendees. For information and discussion on this poster, go to www.oreilly.com/go/languageposter. 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

History of Programmin 1954 1960

The days when it made sense to do your own memory management in a new program are long over, outside of a few specialty areas like kernel hacking, scientific computing and 3-D graphics places where you absolutely must get maximum speed and tight control of memory usage, because you need to push the hardware as hard as possible. For most other situations, accepting the debugging overhead of buffer overruns, pointer-aliasing problems, malloc/free memory leaks and all the other associated ills is just crazy on today's machines. Far better to trade a few cycles and a few kilobytes of memory for the overhead of a scripting language's memory manager and economize on far more valuable human time. Eric Raymond, Why Python?

5 Programovací jazyk Ruby

Yukihiro Matsumoto (Matz)

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

Syntax 5.times { print "Hurá!" } print ["banán", "citron", "ananas"].sort.last.capitalize

Objektově orientovaný jazyk OBJEKT Pes věc/podstatné jméno VLASTNOST malý vlastnost/přídavné jméno METODA stekej činnost/sloveso class Pes def velikost return @velikost end def stekej print Haf! end end

Knihovny google-geo (2.0, 1.0) A simple, elegant library for getting geocoding information from Google Maps. googlecalendar (0.0.5, 0.0.4, 0.0.3, 0.0.2) Google Calendar api for Ruby iphoto2 (1.0.1, 1.0.0) iphoto contains methods to parse and access the contents of the iphoto pictures. net-sftp (1.1.0, 1.0.1, 1.0.0, 0.9.0, 0.5.0) Net::SFTP is a pure-ruby implementation of the SFTP client protocol. pdf-writer (1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0) A pure Ruby PDF document creation library. yahoo-weather (1.0.0) A Ruby object-oriented interface to the Yahoo! Weather service. youtube (0.8.6, 0.8.5, 0.8.0, 0.1.1, 0.1.0, 0.0.1) A Ruby object-oriented interface to the YouTube REST API.

Zdroje (viz www.ruby-lang.org/en/documentation) www.pine.fm/learntoprogram (původní verze)

www.poignantguide.net/ruby NEJBLÁZNIVĚJŠÍ UČEBNICE PROGRAMOVÁNÍ NA SVĚTĚ

Ruby on Rails

Ruby on Rails

Vyzkoušejte na http://tryruby.hobix.com

Děkuji! d