Perché programmare? Capitolo 1. Python for Informatics: Exploring Information www.pythonlearn.com

Похожие документы
GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Introduzione al Python

Alfabetizzazione Informatica. Prof. Giuseppe Patti

Codifica: dal diagramma a blocchi al linguaggio C++

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Fondamenti di Programmazione

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Informatica 1 Lezione 1

Appunti di Sistemi Elettronici

Laboratorio di Informatica

3. Installare Wamp Server

Elementi di informatica

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Insegnare può essere facile

Trascrizione completa della lezione Lezione 002

1. Avviare il computer

Introduzione all'architettura dei Calcolatori

Obiettivo Principale: Aiutare gli studenti a capire cos è la programmazione

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

Sistema Operativo di un Router (IOS Software)

PLIDA Progetto Lingua Italiana Dante Alighieri Certificazione di competenza in lingua italiana

Corso di Informatica

MODULO 01. Come è fatto un computer

Trascrizione completa della lezione Lezione 003

INDICE PROGRAMMA CORSO

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

Memoria Secondaria o di Massa

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Approccio stratificato

Il Personal Computer. Cos è Lo schema di massima Che cosa ci possiamo fare. 1

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

Il database management system Access

Il calendario di Windows Vista

risulta (x) = 1 se x < 0.

La macchina programmata Instruction Set Architecture (1)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA

Utilizzo applicativo Biliardogare.it della F.I.Bi.S.

Introduzione al MATLAB c Parte 2

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

COME E COMPOSTO IL PC -

Architettura hardware

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Il computer: un grande amico!

COMPITO DI INFORMATICA

Procedure di ripristino del sistema.

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Introduzione alla programmazione in C

Registratori di Cassa

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

GDB. The GNU Debugger

IL COMPUTER APPUNTI PER LEZIONI NELLE 3 CLASSI LA MACCHINA DELLA 3 RIVOLUZIONE INDUSTRIALE. A CURA DEL Prof. Giuseppe Capuano

DISEGNO 3D IN AutoCad.

Fasi di creazione di un programma

5. Fondamenti di navigazione e ricerca di informazioni sul Web

La posta elettronica (mail)

Architettura dei computer

I L C O M P U T E R COM E FATTO DENTRO (Unità 2)

Presentation Draw. Guida dell utilizzatore

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

Esercizi di JavaScript

Schema Tipologia a Stella

INTRODUZIONE I CICLI DI BORSA

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Nina Cinque. Guida pratica per organizzarla perfettamente in una sola settimana! Edizioni Lefestevere

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

Test di informatica QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta:

Metodi Stocastici per la Finanza

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

PROCEDURA DI INSTALLAZIONE DEI SOFTWARE E DEL DRIVER USB AIM

Le APP(licazioni) installate sullo Smartphone e sul Tablet. La fotocamera La videocamera La calcolatrice Collegamento Wi-Fi Il calendario La radio

BIEMMEPI RE-IMPARA A SCRIVERE. E presenta PLATE, un programma semplice ed intuitivo per l incisione di targhe.

NAVIGARE IN INTERNET (Dal latino inter e dall inglese net = tra la rete )

Informatica pratica. File e cartelle

NOZIONI BASE PER ESERCITAZIONI

1. Limite finito di una funzione in un punto

WORD 97 SCRIVERE UNA TESI DI LAUREA

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Visualizzazione grafica. dell'output di un programma con GNUplot

Calcolare il massimo di una lista

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Creazione e installazione di un NAS utilizzando FreeNAS

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Centro Iniziative Sociali Municipio III

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

ITIS Mattei Sondrio. Appunti veloci su moodle versione 2.7

Транскрипт:

Perché programmare? Capitolo 1 Python for Informatics: Exploring Information www.pythonlearn.com

I computer vogliono essere d aiuto... Cosa faccio ora? I computer sono fatti per uno scopo - fare cose per noi Dobbiamo parlare il loro linguaggio per comunicargli quello che vogliamo che facciano Per gli Utenti è facile - qualcuno ha già inserito molti programmi diversi (e istruzioni) nei computer e l utente deve solo scegliere quello che vuole usare Cosa faccio ora? Cosa faccio ora? Cosa faccio ora? Cosa faccio ora? Cosa faccio ora? Cosa faccio ora?

I Programmatori anticipano le necessità Le applicazioni per iphone sono un mercato Le applicazioni per iphone hanno oltre 3 download Alcuni programmatori hanno lasciato i loro impieghi per diventare sviluppatori iphone a tempo pieno. I programmatori sanno come programmare Scegli Me! Scegli Me! Scegli Me! Scegli Me! Scegli Me! Compra Me!

Utenti contro programmatori Gli utenti vedono i computer come degli strumenti - word processor, spreadsheet, mappe, todo list, ecc. I programmatori imparano la struttura e i linguaggi del computer I programmatori hanno a disposizione degli strumenti che gli permettono di svilupparne di nuovi I programmatori sviluppano sia strumenti per molte persone che piccoli programmi di utilità per se stessi per automatizzare alcune operazioni

Utente Computer Hardware + Software Dati Informazioni... Programmatore Reti Dal punto di vista dello sviluppatore di software, noi creiamo il software. Gli utenti finali (chi commissiona il software/utilizzatori) sono i nostri datori di lavoro - coloro che dobbiamo accontentare - spesso ci pagano quando sono soddisfatti. Ma dati, informazioni e reti sono il nostro problema da risolvere per loro. Hardware e software sono nostri alleati in questa sfida.

Perché programmare? Per eseguire alcune operazioni - siamo sia utenti che programmatori > Ripulire dati derivanti da questionari Per produrre qualcosa che altri useranno - il lavoro del programmatore > Sistemare un problema nel software Sakai > Aggiungere un libro degli ospiti in un sito web

Cos è un codice? Software? Un programma? Una sequenza di istruzioni memorizzate > È una piccola porzione della nostra intelligenza dentro al computer > È una piccola porzione della nostra intelligenza che possiamo condividere con altri - capiamo qualcosa e quindi la codifichiamo e la rendiamo disponibile ad altri che risparmieranno tempo ed energie Un pezzo di arte creativa - particolarmente quando facciamo un buon lavoro sulla interfaccia utente (User Experience)

Programmi per esseri umani... http://www.youtube.com/watch?v=vlzwufkn88u http://www.youtube.com/watch?v=sn62pakobfe

Programmi per esseri umani... Mentre suona la musica: Mano sx fuori e su Mano dx fuori e su Ruota mano sx Ruota mano dx Mano sx su spalla dx Mano dx su spalla sx Mano sx dietro la testa Mano dx dietro la testa Mano sx sul fianco dx Mano dx sul fianco sx Mano sx dietro a sx Mano dx dietro a dx Ondeggiare Ondeggiare http://www.youtube.com/watch?v=vlzwufkn88u Salto http://www.youtube.com/watch?v=sn62pakobfe

Programmi per esseri umani... Mentre suona la musica: Mano sx fuori e su Mano dx fuori e su Ruota mano sx Ruota mano dx Mano sx su spalla dx Mano dx su spalla sx Mano sx dietro la testa Mano dx dietro la festa Mano sx colpisce a dx Mano dx colpisce a sx Mano sx dietro a sx Mano dx dietro a dx Ondeggiare Ondeggiare http://www.youtube.com/watch?v=vlzwufkn88u Salto http://www.youtube.com/watch?v=sn62pakobfe

Programmi per esseri umani... Mentre suona la musica: Mano sx fuori e su Mano dx fuori e su Ruota mano sx Ruota mano dx Mano sx su spalla dx Mano dx su spalla sx Mano sx dietro la testa Mano dx dietro la testa Mano sx sul fianco dx Mano dx sul fianco sx Mano sx dietro a sx Mano dx dietro a dx Ondeggiare Ondeggiare http://www.youtube.com/watch?v=vlzwufkn88u Salto http://www.youtube.com/watch?v=sn62pakobfe

il clown corse dietro la macchina e la macchina si schianto sulla tenda e la tenda cadde sul clown e la macchina Programmi per Python...

Programmi per Python...

name = raw_input('inserire il file:') handle = open(name, 'r') text = handle.read() words = text.split() counts = dict() for word in words: counts[word] = counts.get(word,0) + 1 bigcount = None bigword = None for word,count in counts.items(): if bigcount is None or count > bigcount: bigword = word bigcount = count print bigword, bigcount python words.py Inserire il file: words.txt to 16 python words.py Inserire il file: clown.txt the 7

Architettura hardware

http://upload.wikimedia.org/wikipedia/commons/3/3d/raspberrypi.jpg

Software Dispositivi di input e output Cosa faccio ora? Computer generico Processore (CPU) Memoria secondaria Memoria principale

Definizioni Processore: esegue i programmi - la CPU è sempre in ascolto, chiedendo Cosa faccio ora?. Non è esattamente un cervello piuttosto stupido ma molto, molto veloce Dispositivi di input: tastiera, mouse, touch screen Dispositivi di output: monitor, altoparlanti, stampanti, masterizzatori DVD Memoria principale: memoria veloce, di piccole dimensioni e temporanea - si perde al riavvio - conosciuta come RAM Memoria secondaria : memoria lenta, di grandi dimensioni e permanente persiste sino a che non la si cancella - disk drive / memory stick (USB) Cosa faccio ora?

Software Dispositivi di input e output Computer generico Cosa faccio ora? Processore (CPU) Memoria secondaria Memoria principale if x< 3: print

Cosa faccio ora? Software Dispositivi di input e output Computer generico Processore (CPU) 01001001 00111001 Memoria secondaria Memoria principale Linguaggio macchina

CPU rovente Cosa faccio ora? http://www.youtube.com/watch?v=y39d4529fm4

Hard Disk in Azione http://www.youtube.com/watch?v=9emwg3fwieu

Il linguaggio Python

Il Serpentese è il linguaggio dei serpenti e di coloro che possono conversarvi. Un individuo che può parlare il Serpentese è conosciuto come Rettilofono. E una capacità poco comune che può essere ereditaria. Praticamente tutti i Rettilofoni conosciuti sono discendenti di Salazar Serpeverde. http://harrypotter.wikia.com/wiki/parseltongue

Python è il linguaggio del Python Interpreter e di coloro che possono conversarvi. Un individuo che può parlare in Python è conosciuto come Pythonista. È una capacità poco comune che può essere ereditaria. Praticamente tutti i Pythonisti usano il software sviluppato da Guido van Rossum.

Prima lezione: Syntax Errors Impariamo il linguaggio Python così da poter comunicare le nostre istruzioni a Python. All inizio faremo molti errori e parleremo in modo confuso come i bambini piccoli. Quando fate degli errori il computer no pensa che carino. Dice solo syntax error - dato che conosce il linguaggio che state imparando. Può sembrare che Python sia crudele e senza sentimenti. Dovete ricordarvi che *voi* siete intelligenti e *potete* imparare - il computer è semplicemente molto veloce - ma non può imparare - quindi è più facile per voi imparare Python che per il computer imparare l Italiano (Inglese)...

Parlare con Python

csev$ python Python 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Cosa faccio adesso?

csev$ python Python 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> x = 1 >>> print x 1 >>> x = x + 1 >>> print x Questo è un ottimo modo per assicurarvi di 2 aver installato Python correttamente. Nota: >>> exit() quit() funziona anche in modalità interattiva

Parliano a Python...

Cosa dobbiamo dire?

Elementi di Python Vocabulario / Parole - Variabili e parole riservate (Capitolo 2) Struttura delle frasi - Modelli di sintassi (Capitoli 3-5) Struttura della Storia - Costruire un programma per uno scopo

name = raw_input('inserire il file:') handle = open(name, 'r') text = handle.read() words = text.split() counts = dict() for word in words: counts[word] = counts.get(word,0) + 1 bigcount = None bigword = None for word,count in counts.items(): if bigcount is None or count > bigcount: bigword = word bigcount = count print bigword, bigcount Una breve storia su come contare le parole in un file usando Python python words.py Inserire il file: words.txt to 16

Parole riservate NON potete usare le parole riservate come nomi di variabili/identificatori and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print as with Capitolo 2

Frasi o linee x = 2 x = x + 2 print x Variabile Operatore Istruzione di assegnazione Assegnazione con espressione Istruzione di stampa (a video) Costante Parola Riservata

Paragrafi di programmazione

Script in Python Python interattivo va bene per esperimenti e programmi di 3-4 linee La maggior parte dei programmi sono molto più lunghi, quindi li scriviamo in un file e diciamo a python di eseguire i comandi scritti nel file In un certo senso stiamo dando uno script a Python Per convenzione daremo al file il suffisso.py per indicare che contengono istruzioni Python

Scrivere un semplice programma

Interattivo contro script Interattivo > Scrivete direttamente in Python una linea per volta e ottenete la risposta Script > Scrivete una serie di istruzioni (linee) in un file usando un editor di testo e dite a Python di eseguire le istruzioni nel file

Passi di programma o Flusso di programma Come una ricetta o delle istruzioni di installazione, un programma è una sequenza di passi da fare in ordine Alcuni passi sono condizionali - possono essere saltati A volte un passo o un gruppo di passi possono essere ripetuti A volte memoriziamo un gruppo di passi che saranno ripetuti più volte i diversi punti del programma.(capitolo 4)

Passi Sequenziali x=2 print x x=x+2 Programma: x=2 print x x=x+2 print x Output (risultato): 2 4 print x Quando un programma viene lanciato, esegue un passo alla volta in sequenza. Come programmatori, definiamo il percorso che il programma deve seguire. Capitolo 2

Passi Condizionali x=5 Yes X < 10? Programma: print 'Piccolo' Yes X > 20? print 'Grande' print 'Finito' x=5 if x < 10: print 'Piccolo if x > 20: print 'Grande' Output: Piccolo Finito print 'Finito' Capitolo 3

n=5 No n>0? Yes print n n = n -1 print 'Blastoff' Capitolo 5 Passi Ripetuti Program: n=5 while n > 0 : print n n=n 1 print 'Blastoff!' Output: 5 4 3 2 1 Blastoff! I cicli (passi ripetuti) hanno variabili di iterazione che cambiamo ad ogni ciclo. Spesso queste variablili di iterazione seguono una sequenza di numeri.

Sommario Questa è una veloce panoramica del Capitolo 1 Rivedremo tutti questi concetti durante il corso Concentratevi sulla visione generale tralasciano, per ora, i dettagli

Acknowledgements / Contributions These slides are Copyright 2010- Charles R. Severance (www. dr-chuck.com) of the University of Michigan School of Information and open.umich.edu and made available under a Creative Commons Attribution 4.0 License. Please maintain this last slide in all copies of the document to comply with the attribution requirements of the license. If you make a change, feel free to add your name and organization to the list of contributors on this page as you republish the materials. Initial Development: Charles Severance, University of Michigan School Of Information...