PROGRAMMAZIONE: linguaggi

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Linguaggio C++ Selezione.
Selezione A. Ferrari.
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Informatica Generale Susanna Pelagatti
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
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.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Iterazione enumerativa (for)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Process synchronization
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Definizione di Algoritmo
Introduzione alla programmazione lll
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Gli algoritmi AA 2003/04 © Alberti Programmazione 2. Algoritmi.
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Gli algoritmi.
Elementi di Informatica
Elementi di Informatica
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Algoritmi e linguaggi di programmazione
Lezione 6 Strutture di controllo Il condizionale
Massimo Comun Divisore
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
ECDL Patente europea del computer
Linguaggi per COMUNICARE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 13 Marzo 2014.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
COME RAGIONA UN COMPUTER
DIVERTIRSI CON SCRATCH
Linguaggi algoritmici
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
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
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.
Programmazione dei Calcolatori Elettronici
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
3. Programmazione strutturata 3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Informatica - CDL in Ingegneria Industriale- A.A
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: linguaggi Linguaggi ad alto livello : Java, Basic, C++, HTML Linguaggi a basso livello: assembly Linguaggio macchina

PROGRAMMAZIONE: traduttori COMPILATORI: da linguaggio evoluto a linguaggio macchina (eventualmente attraverso assembly) INTERPRETI: da linguaggio evoluto a linguaggio macchina, una istruzione alla volta ASSEMBLATORI: da linguaggio assembly a linguaggio macchina

ELEMENTI DEI LINGUAGGI Ogni linguaggio ha un alfabeto costituito da differenti caratteri. Un insieme di caratteri costituisce una parola. Istruzione è un elemento del linguaggio di programmazione con cui si richiede l’esecuzione di una operazione. Ingresso Uscita Assegnazione Confronto Operazione logica o matematica Salto

ELEMENTI DEI LINGUAGGI Funzione: insieme di espressioni il cui risultato dipende dal valore assunto da una o più variabili. Struttura: insieme razionale e ordinato di varie istruzioni Sequenza Selezione Ripetizione

ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che, eseguite secondo un ordine prestabilito, consentono di trovare il risultato di un problema a partire dai dati in ingresso.

ALGORITMI Le caratteristiche fondamentali degli algoritmi sono: non ambiguità: le operazioni indicate devono essere sufficientemente semplici e ben definite da poter essere comprese da un esecutore non particolarmente esperto (uomo o macchina); eseguibilità: l’esecutore deve essere in grado di eseguire ogni singola regola con le risorse a sua disposizione; finitezza: ogni algoritmo deve terminare dopo un numero finito di passi, cioè in un intervallo finito di tempo.

DIAGRAMMI DI FLUSSO Il diagramma di flusso è una rappresentazione grafica di un algoritmo costituita da un insieme di simboli (figure geometriche standard) collegate da frecce.

DIAGRAMMI DI FLUSSO

RAPPRESENTAZIONE A BLOCCHI DI SELEZIONI

RAPPRESENTAZIONE A BLOCCHI DI SELEZIONI

RAPPRESENTAZIONE A BLOCCHI DI RIPETIZIONI

Esempio: Massimo Comun Divisore Esempio: Massimo Comun Divisore. Un esempio di algoritmo contenente due selezioni binarie con una sola azione è fornito da quello che calcola il Massimo Comun Divisore (MCD) di due interi positivi secondo il seguente metodo di Euclide Per calcolare il MCD di due interi positivi: si divide il maggiore per il minore se il resto è 0 il minore rappresenta il MCD cercato altrimenti il minore sostituisce il maggiore, il resto sostituisce il minore e il procedimento ricomincia da capo.

La corrispondente espressione in pseudo istruzioni è la seguente: leggi x, y; if (x < y) scambiali; dividi x per y e chiama r il resto; poni x = y; poni y = r; if (r == 0) stampa x ; fine vai a 3); Il relativo diagramma di flusso è indicato in figura.

Come si può osservare, nella forma strutturata sono scomparse le istruzioni di salto e i riferimenti numerici delle singole istruzioni.

a + b > c a + c > b b + c > a Esempio: lati di un triangolo. Come esempio di selezioni binarie in cascata si può considerare il seguente PROBLEMA: “scrivere un algoritmo che consenta di stabilire se tre numeri, a, b, c possono essere i lati di un triangolo”. ALGORITMO: come è noto, in un triangolo la somma di due lati qualsiasi è maggiore del terzo. Perciò dovranno essere contemporaneamente soddisfatte le tre condizioni: a + b > c a + c > b b + c > a

Esse si traducono nelle seguenti pseudo istruzioni: leggi a, b, c; se (a + b <= c) vai a 7); se (a + c <= b) vai a 7); se (b + c <= a) vai a 7); stampa “Lati validi”; fine; stampa “Lati non validi”; e quindi nel diagramma di flusso indicato a lato:

Esempio: divisione con sottrazioni ripetute Esempio: divisione con sottrazioni ripetute. Un esempio di ciclo con guardia all’inizio è costituito dall’algoritmo che esegue la divisione intera fra due numeri naturali con il seguente metodo delle sottrazioni ripetute: Per dividere tra loro due numeri naturali: si sottrae il divisore dal dividendo; si continua a sottrarlo dal risultato dell’ultima sottrazione fino a che tale risultato sia maggiore o uguale al divisore il numero di sottrazioni effettuate fornisce il quoziente il risultato dell’ultima fornisce il resto della divisione Questo algoritmo si traduce facilmente nel diagramma di flusso seguente, dove la variabile res contiene inizialmente il dividendo, la variabile den il divisore. res contiene poi i risultati delle successive sottrazioni, l’ultimo dei quali fornisce appunto il resto. Il quoziente è fornito dal contatore quoz, che inizialmente vale 0 e viene incrementato di 1 a ogni sottrazione eseguita.

Esempio: moltiplicazione con addizioni ripetute Esempio: moltiplicazione con addizioni ripetute. Un esempio di ciclo con guardia alla fine è costituito dall’algoritmo che esegue la moltiplicazione di due numeri naturali con il metodo delle addizioni ripetute: per moltiplicare tra loro due numeri naturali si somma uno di essi a se stesso un numero di volte uguale all’altro. Questo algoritmo si traduce facilmente nel seguente diagramma di flusso dove indichiamo con A, B i due numeri da moltiplicare prod il prodotto K una variabile contatore, posta inizialmente uguale a uno dei due numeri. K viene diminuita di 1 ogni volta che si esegue un’addizione, e quando raggiunge il valore 0 determina la fine del ciclo.