Programmazione dei Calcolatori Elettronici

Slides:



Advertisements
Presentazioni simili
C C++ &.
Advertisements

I Linguaggi di programmazione
Linguaggi algoritmici
Evoluzione dei linguaggi di programmazione
Dal problema al programma
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Informatica Problema Algoritmo Programma
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Informatica (Programmazione)
Definizione di Algoritmo
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Elementi di Informatica
Elementi di Informatica
Da Problema a Programmazione
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Biologia Computazionale - Algoritmi
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
ECDL Patente europea del computer
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
Dal problema all’ algoritmo
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Rappresentazione degli algoritmi
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Algoritmi.
Concetti Fondamentali sulla Programmazione
Realizzazione software
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Il software Claudia Raibulet
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Fabio Scotti – Università degli Studi di Milano 1 Lezione 1 e 2 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani.
Dal problema al programma
ALGORITMI Dal problema al programma Definizione di algoritmo
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Unità di apprendimento 6 Dal problema al programma.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Programmazione dei Calcolatori Elettronici I.T.I.S. A. Volta di Lodi AS 2010-2011 Programmazione dei Calcolatori Elettronici Lezione 1 Prof. Eugenio Chiriaco eugenio.chiriaco@istruzione.it

Contenuti Dal problema all’algoritmo Diagramma a blocchi Strutture di controllo fondamentali Esempi di algoritmi Concetto di Pseudocodifica Concetto di linguaggio di programmazione Esercizi

Problema e algoritmo Problema Algoritmo Il nostro obiettivo è risolvere un problema Algoritmo E’ il nostro strumento per risolvere un problema

Problema Per formalizzare un problema abbiamo bisogno: Della sua descrizione Dei dati di ingresso Dei risultati che lo risolvono

Esempio di Problema Risoluzione equazione di secondo grado: Dati in ingresso: tre numeri (i coefficienti) Risultati: le due soluzioni se reali, altrimenti stampa di un messaggio

Esempio di Problema Trovare il massimo fra tre numeri: Dati in ingresso: tre numeri Risultati: stampa del numero con il valore massimo

Esempio di Problema Ricerca del numero di un utente in un elenco telefonico: Dati in ingresso: un insieme ordinato di coppie (nome, num. tel.) ed un nome da ricercare Risultati: il numero telefonico corrispondente all’utente cercato se presente nell’insieme, altrimenti stampa di un messaggio

Algoritmo Un algoritmo è una sequenza ordinata e finita di passi semplici che hanno lo scopo di portare a termine un compito più complesso In un modo più formale, un algoritmo è una sequenza ordinata e finita di istruzioni che a partire da una serie di dati in ingresso, dopo un tempo finito, produce una serie di risultati in uscita. Il termine algoritmo deriva dal nome del matematico arabo Muhammad ibn Mūsa 'l- Khwārizmī, che pubblicò, tra gli altri, il libro dal titolo Kitāb al-djabr wa 'l-muqābala dal quale prende le origini la parola Algebra

Algoritmo Al-Khwarizmi

Linguaggi per la descrizione di algoritmi Linguaggi naturali (italiano, inglese, spagnolo, ecc…) Linguaggi visuali (diagramma a blocchi, ecc…) Pseudocodice (linguaggio che si avvicina molto ai linguaggi di programmazione) Linguaggio di programmazione Per andare dal salotto in cucina bisogna uscire dal salotto, girare a sinistra, proseguire per il corridoio fino all’ultima porta sulla sinistra ed infine attraversare questa porta

Diagramma a blocchi Un diagramma a blocchi (flow chart) è un linguaggio formale di tipo grafico per rappresentare algoritmi Esso consente di descrivere le differenti operazioni sotto forma di uno schema in cui i differenti passi dell’algoritmo vengono rappresentati da simboli grafici detti blocchi elementari che sono collegati tra loro tramite frecce che ne indicano la cronologia

Blocco di ingresso/uscita Diagramma a blocchi I 5 tipi di blocchi elementari che vengono utilizzati per descrivere i singoli passi di un algoritmo sono: Blocco iniziale Blocco finale Blocco di ingresso/uscita Blocco di controllo Blocco azione

Strutture di Controllo Sequenza Per rappresentare una sequenza di istruzioni, ovvero una serie di operazioni che devono essere eseguite una di seguito all’altra in base all’ordine con il quale sono state definite

Strutture di Controllo Selezione Per rappresentare la selezione di due percorsi diversi al verificarsi o meno di una data condizione

Strutture di Controllo Ciclo Per rappresentare la ripetizione di una stessa sequenza di istruzioni

Algoritmo del distributore di caramelle

Algoritmo della telefonata

Algoritmo per determinare la somma di due interi

Algoritmo per determinare se il valore X è incluso nell’intervallo con estremi A e B

Algoritmo per calcolare la somma dei primi X numeri. Es Algoritmo per calcolare la somma dei primi X numeri. Es. se X = 5 allora SOMMA = 1+2+3+4+5 =15

Algoritmo per risolvere l’equazione di secondo grado

Problema: trovare il massimo tra 3 numeri Dati in ingresso: i numeri X, Y e Z Risultati: stampa del massimo tra X, Y e Z

Esercizio Scrivere un algoritmo per stampare la successione dei primi n numeri pari con n dato in input. Scrivere un algoritmo che verifica se un dato numero è multiplo di 3. Scrivere un algoritmo che verifica se un dato numero è pari. Scrivere un algoritmo per calcolare la media di n numeri interi letti da tastiera.

Esercizio Scrivere un algoritmo per calcolare il fattoriale di un numero Scrivere un algoritmo che calcola la somma dei primi X numeri pari (con X dato in input) esempio se X=4  somma=2+4+6+8 Scrivere un algoritmo per stampare la successione dei primi n numeri di Fibonacci con n dato in input esempio se n=9  1,1,2,3,5,8,13,21,34

Esercizio Scrivere un algoritmo per calcolare il massimo ed il minimo di n interi letti da tastiera. Scrivere un algoritmo per il calcolo del coefficiente binomiale.

Esempio di pseudocodice Problema :Confronto aree di triangoli INIZIO Leggi(h1) Leggi(b1) A1 = b1*h1 / 2 Leggi(h2) Leggi(b2) A2 = b2*h2 / 2 SE A1 > A2 ALLORA Scrivi(“L’area del primo è maggiore dell’area del secondo”) ALTRIMENTI Scrivi(“L’area del secondo è maggiore o uguale all’area del primo”) FINE

Linguaggi di programmazione Se si sceglie come esecutore di un algoritmo un calcolatore elettronico allora il nostro algoritmo deve essere codificato in un linguaggio di programmazione che permette di impartire comandi non ambigui all’elaboratore (quindi non si possono utilizzare i linguaggi naturali) I linguaggi di programmazione sono linguaggi formali costituiti (come tutti gli altri linguaggi) da un dizionario dei termini (lessico) e da rigide regole grammaticali (sintassi) Per utilizzare un linguaggio di programmazione bisogna, quindi, conoscere il suo lessico, la sua sintassi e la sua semantica (ovvero il significato dei comandi impartiti all’elaboratore)

Linguaggi di programmazione Un programma è quindi la codifica di un algoritmo in un linguaggio di programmazione Esistono alcune centinaia di linguaggi di programmazione (Basic, Fortran, Pascal, C, C++, Java, C#, …) Alcuni di questi sono general purpose altri invece sono più adatti per la risoluzione di specifiche classi di problemi I linguaggi vengono anche classificati come linguaggi di alto livello (più vicini all’uomo o meno dipendenti dall'architettura del calcolatore) e di basso livello (più vicini al calcolatore elettronico)

Esempio di programma in linguaggio Java public class HelloWorld { public static void main(String[] args) System.out.println("Hello world!"); }

Esempio di programma in linguaggio C #include <stdlib.h> int main() { printf("Hello World!"); printf("\n"); }

Il linguaggio di programmazione C Fu ideato nei Laboratori Bell della AT&T nel 1972 da Dennis Ritchie Il C viene classificato come linguaggio di alto livello Il C si basa su poche istruzioni chiave (lessico ridotto) molto semplici che vengono eseguite con elevate performance dal computer La grammatica del C è “molto libera” e flessibile permettendo di scrivere istruzioni complesse e potenti in poche righe di codice

Fasi per lo sviluppo del software Linguaggio Di Programmazione PROBLEMA ALGORITMO SORGENTE Linguaggio Grafico TRADUTTORE FILE Sorgente Risultato ESEGUIBILE Linguaggio della Macchina DATI FILE Eseguibile