PROGRAMMAZIONE E ALGORITMI



Documenti analoghi
Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Corso di Informatica

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Approccio stratificato

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Architettura del calcolatore

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Architetture Informatiche. Dal Mainframe al Personal Computer

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

Il Software. Il software del PC. Il BIOS

Architetture Informatiche. Dal Mainframe al Personal Computer

Il Sistema Operativo (1)

Algoritmi, dati e programmi

Funzionalità di un Algoritmo

Architettura hardware

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Linguaggi e Paradigmi di Programmazione

Corso di Informatica

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Pane 100% farina di grano saraceno

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistemi avanzati di gestione dei Sistemi Informativi

TORTA 7 VELI Di Joebbetto e Sandra

Linguaggi di programmazione

LINGUAGGI DI PROGRAMMAZIONE

Come ragiona il computer. Problemi e algoritmi

Architettura di un sistema operativo

Il Sistema Operativo

HTML il linguaggio per creare le pagine per il web

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

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Problemi, Algoritmi e Programmi

Programmazione ad Oggetti. Java Parte I

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Architettura di un calcolatore

facciamo il nostro lavoro con passione RICETTE DAL CORSO DI CUCINA ALPEGGIATORI

Programmazione in Java Parte I: Fondamenti

Introduzione. Informatica B. Daniele Loiacono

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Java Virtual Machine

Software di base. Corso di Fondamenti di Informatica

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

BiancoLievito. Impasta, Lievita, Cuoci biancolievito.com. Torta Moka. Per la Massa Montata al Caffè Burro Morbido Zucchero Semolato.

Dispensa di Informatica I.1

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Breve storia del calcolo automatico

Le ricette di. Pan di Spagna. Ingredienti:

Introduzione al sistema operativo Il file system: file, directory,...

Metodologie di programmazione in Fortran 90

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Strumenti per la programmazione

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Sistemi Operativi. Conclusioni e nuove frontiere

Introduzione al Calcolo Scientifico

Liceo scientifico statale Galileo Galilei Selvazzano Dentro (PD) Anno scolastico Dipartimento di Informatica: Obiettivi Disciplinari

Cosa è un programma. Informatica di Base -- R.Gaeta 18

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

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

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Elementi di Informatica

CPU. Maurizio Palesi

Richiami di informatica e programmazione

Torta di grano saraceno

Corso di PHP. Prerequisiti. 1 - Introduzione

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it

Protezione. Protezione. Protezione. Obiettivi della protezione

Javascript: il browser

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Cosa è un foglio elettronico

INFORMATICA 1 L. Mezzalira

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

Descrizione di un algoritmo

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

MODULO 02. Iniziamo a usare il computer

Laboratorio Matematico Informatico 2

Più processori uguale più velocità?

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

FONDAMENTI di INFORMATICA L. Mezzalira

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Transcript:

Parte 3: LINGUAGGI DI PROGRAMMAZIONE E ALGORITMI

SOMMARIO La programmazione Linguaggi i ad Alto Livello Gli Algoritmi na a Montagn Maria

LA PROGRAMMAZIONE PROGRAMMAZIONE: attività che permette di affrontare in modo sistematico it ti l ideazione i e la realizzazione i del software sistema operativo software applicativo (package) programma o insieme di programmi che svolgono le funzioni richieste dall utente dati (Ingresso) PROGRAMMA risultati (Uscita) N. B. sequenza di istruzioni completa e rigorosa!!! ECCEZIONI!!! (IMPREVISTI)

LA PROGRAMMAZIONE Osservazioni: 1. I calcolatori l eseguono solo operazioni i semplici: i calcoli li aritmetici ti i e logici. 2. Lunghe sequenze di informazioni sono essere eseguite velocemente 3. L insieme di operazioni che ogni computer può eseguire è specifico per ogni modello di CPU: tali istruzioni sono codificate in binario. LINGUAGGI: f acilità di scrittur ra MACCHINA dall istruzione i al codice (progettazione CPU) ASSEMBLER ad ogni istruzione corrisponde un testo ALTO LIVELLO descrizione semplice e più intuitiva PORTABILITÀ? COMPILATORI

LA PROGRAMMAZIONE USO DELLA MEMORIA DURANTE L ESECUZIONE DI UN PROGRAMMA 1. Calcoli: effettuati dalla (nella) CPU. 2. Scambio di informazioni tra registri e memoria x = y+2 LOAD Y, R1 ADD 2, R1 STORE R1, X ---indirizzo contenuto Registri: insieme di memorie ad altissima velocità, della capacità di pochi byte, interne al processore

SOMMARIO La programmazione Linguaggi i ad Alto Livello Gli Algoritmi na a Montagn Maria

LINGUAGGI AD ALTO LIVELLO I LINGUAGGI AD ALTO LIVELLO x = y+2 Caratteristiche: Linguaggio più scientifico X = Y + 2 Portabilità Efficienza (riguarda l uso efficiente di registri e memoria) Esempi: a. FORTRAN (FORmula TRANslator, anni 50 da IBM): primo linguaggio ad alto livello, per uso scientifico b. PASCAL (Università di Zurigo): programmazione strutturata, usato per didattica c. C (anni 70, da Bell Labs per scrivere il codice del sistema operativo Unix): potente, sintetico, strutture dati avanzate e possibilità di fare riferimento direttamente all hardware. C++ (anni 80): estensione di C alla programmazione ad oggetti, che non raggruppano solo variabili, ma anche funzioni ad esse associate. d. BASIC (Beginner s All Purpose Simbolic Instruction ti Code, anni 60, Dartmouth th College): sintassi semplice; VISUAL BASIC (Microsoft), linguaggio orientato alla grafica.

LINGUAGGI AD ALTO LIVELLO I LINGUAGGI AD ALTO LIVELLO Esempi: e. HTML (HyperText Markup Language, CERN ora è pubblico, anni 80): è il linguaggio gg delle pagine web. f. JAVA (Sun Microsystem, anni 90): linguaggio di programmazione orientato agli oggetti Java appena è uscito è stato accolto con molto entusiasmo dalla comunità mondiale dei progettisti di software e dei provider di servizi Internet, questoperché Java permetteva agli utenti di Internet di utilizzare applicazioni sicure e indipendenti dalla piattaforma, che si possono trovare in qualsiasi punto della rete. Java è quindi nato come linguaggio per la rete, per affiancare l' Hyper Text Markup Language (HTML), il quale non è un linguaggio di programmazione vero e proprio, e per dargli quella sicurezza che l'html non ha. Per lanciare un programma Java occorre avere uno strumento chiamato Java Virtual Machine, che interpreta t il bytecode generato dal compilatore Java e lo esegue sulla macchina su cui è installato. Grazie alla Java Virtual Machine Java è indipendente dalla piattaforma, infatti il programma compilato Java è legato alla JVM e non al sistema operativo, sarà quindi possibile eseguire lo stesso programma Java, compilato una sola volta su una qualche macchina con un compilatore Java versione X, su una piattaforma Windows e su una piattaforma Linux, per fare questo però c'è bisogno che sia Windows che Linux abbiano installato una Java Virtual Machine che supporti la versione X di Java. http://java.html.it/guide/lezione/744/introduzione-a-java/ html a java/

LINGUAGGI AD ALTO LIVELLO c c +------------------+ c Double precision c +------------------+ c double precision function cspeed() cspeed=2.998d8 return end! [m/s] FORTRAN print_data(decoder *p, DATA *s) { int i, j; for (i = 0; i < p->spb*p->blocks; i++) { printf("%17.12f ", s[i].time); for (j = 0; ;j < 4; ;j j++) printf("%7.1f %7.1f ", s[i].sc[j].re, s[i].sc[j].im); printf("\n"); } } C

LINGUAGGI AD ALTO LIVELLO <HTML> <HEAD> <TITLE>Esempio 5</TITLE> </HEAD> <BODY BACKGROUND="titto_green_paper.jpg"> HTML <CENTER><H1>Riferimenti ad àncore poste su altre pagine</h1></center> <UL> <P> </P> <P> </P> <P> </P> <CENTER> <FONT SIZE=+2> Questo <A HREF="esempio_5.html#Secondo">link</A>, è un riferimento al Capitolo Secondo della pagina esempio_5.html </FONT> </CENTER> </UL> <HR WIDTH="100%"> </BODY> </HTML> http://www.inf.uniroma3.it/~patrigna/didactic/imp_elab/esempi_html/index.html

SOMMARIO La programmazione Linguaggi i ad Alto Livello Gli Algoritmi na a Montagn Maria

GLI ALGORITMI ALGORITMO: un insiemefinitoeordinatodipassi,chedeterminano un procedimento atto arisolvere in untempo finito it unproblema o una classe di problemi, utilizzando dei dati iniziali e ottenendo dei risultati. Classe di Ingredienti per 6-8 persone: problemi Per la pasta: 180 g di farina, 70 g di burro, 90 g di zucchero, 3 tuorli d uovo, Importanza degli 1 cucchiaio di cannella in polvere ingredienti Per il ripieno: 450 g di ribes nero, 100 g di zucchero di canna Procedimento: 1. Preparare la pasta: setacciare la farina e la cannella in polvere, mettervi al centro lo zucchero, il burro ammorbidito a temperatura ambiente diviso a pezzetti e i tuorli d uovo; impastare rapidamente gli ingredienti senza lavorare troppo il composto, avvolgerlo in un foglio di pellicola trasparente e farlo riposare in un luogo fresco per circa un ora circa. 2. Preparare il ripieno: lavare il ribes in acqua ghiacciata; metterlo in un tegame largo, aggiungervi lo zucchero di canna e cuocerlo a fuoco moderato per 15 minuti circa, mescolando spesso, finché il composto comincerà ad addensarsi; toglierlo e farlo raffreddare. 3. Stendere la pasta allo spessore di 3 mm circa, foderare una tortiera imburrata e infarinata, pareggiare il bordo e pizzicottarlo 4. Bucherellare il fondo della pasta con una forchetta e far riposare in frigorifero per 15 minuti circa; versarvi il composto di ribes freddo, stenderlo in uno strato uniforme e cuocere la crostata in forno preriscaldato a 180 gradi per 40 minuti circa; toglierla, sformarla e farla raffreddare. ordine Regole per poter continuare

GLI ALGORITMI Caratteristiche: comprensibile per l esecutore, quindi con istruzioni descritte mediante un linguaggio di programmazione; garantire una terminazione: non si deve chiedere un operazione che teoricamente non può avere fine; non deve presentare ambiguità: ità tuttett le combinazioni i i di dati che possono accadere, devono poter essere elaborate, perché il computer non può gestire autonomamente un imprevisto (l eccezione deve essere prevista); si possono considerare sottoproblemi; uno stesso problema può essere risolto con algoritmi diversi. Come scriverli: Pseudo-codifica: linguaggio molto simile al naturale, usa indentazioni Diagrammi di flusso: il flusso delle informazioni è evidenziato in modo grafico

GLI ALGORITMI DIAGRAMMI DI FLUSSO (FLOW-CHART) Operazione Operazione di elementare ingresso/uscita 4 blocchi base, che descrivono tutti i possibili tipi di operazione e sono collegati da archi (frecce) orientati. Condizione Punti di inizio e fine