Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

Documenti analoghi
VARIABILI E COSTANTI

Progettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE

Interazione tra matematica e informatica

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Come ragiona il computer. Problemi e algoritmi

Gli errori nella risoluzione di un problema

Algoritmi e soluzione di problemi

Caratteristiche di un linguaggio ad alto livello

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Informatica Generale Andrea Corradini I linguaggi di programmazione

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Il concetto di calcolatore e di algoritmo

Sviluppo di programmi

Almerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY)

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

I.4 Rappresentazione dell informazione

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Il linguaggio di programmazione Python

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Algoritmi e Programmi

Fortran in pillole : prima parte

Espressione di chiamata di funzione

UD 3.2b: Programmazione in Pascal (1)

Concetti di base dell ICT

UTILIZZIAMO GLI OPERATORI MATEMATICI E COMMENTIAMO IL CODICE

Variabili strutturate

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

Corso di Informatica

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Formalismi per la descrizione di algoritmi

Dispensa di Informatica II.1

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Programmazione Procedurale in Linguaggio C++

Algoritmi e diagrammi di flusso

DESCRIZIONI RIGOROSE c7

CONCETTI FONDAMENTALI

Teoria dell Informazione

LABORATORIO DI INFORMATICA

Introduzione ai Calcolatori Elettronici

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Rappresentazione con i diagrammi di flusso (Flow - chart)

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Informazione e sua rappresentazione: codifica

Linguaggio C: introduzione

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

La matematica non è un opinione, lo è oppure...?

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Programmazione in Java (I modulo)

unità didattica 2 Le prime istruzioni notevoli in Pascal

IL PRIMO PROGRAMMA IN C

Fondamenti di programmazione!! Parte 2!

Programmazione di INFORMATICA e Laboratorio

Aritmetica dei Calcolatori Elettronici

Sistemi di numerazione

Dall algoritmo al programma

Modulo 1 Concetti di base della Tecnologia dell Informazione

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Lezione 3. I numeri relativi

Variabili e Istruzioni

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Dati aggregati. Violetta Lonati

Espressioni e Comandi

14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX

Cosa è l Informatica?

Corso sul linguaggio C Modulo Tipi di dato

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Descrizione di un algoritmo

NUMERI SCUOLA SECONDARIA I GRADO

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Somma di numeri binari

1 Calcoli numerici e algebrici

MATEMATICA CLASSE QUINTA

2. Algoritmi e Programmi

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Concetti Introduttivi. Il Computer

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Linguaggio C - sezione dichiarativa: costanti e variabili

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Programmazione C Massimo Callisto De Donato

Informazione e sua rappresentazione: codifica

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Introduzione al linguaggio Fortran 90

La programmazione nel linguaggio C

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Aritmetica dei Calcolatori

Linguaggi di Programmazione

Appunti di Laboratorio Il Linguaggio Python - Lezione 1

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Transcript:

LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna Dalla prima lezione Concetto di algoritmo Sequenza di istruzioni non ambigue che in un numero finito di passi risolvono una classe di problemi Un primo linguaggio: il flow chart Ovale (inizio e fine) Rettangolo (comandi) Rombo (verifica condizione) L algoritmo per la macchinetta del caffe in flow-chart 1

Esempio: calcolo della circonferenza del cerchio Si vuole calcolare la circonferenza del cerchio per molteplici valori del raggio: Raggio = 1 circonferenza = 2 π 1 Raggio = 2.5 circonferenza = 2 π 2.5 Raggio = 5 circonferenza = 2 π 5 Alcuni dati sono costanti (2 e π) Altri dati sono variabili (raggio e circonferenza) Input e output dell algoritmo Input e output in flow chart E necessario introdurre due nuovi simboli Input: scheda perforata Il numero dato in input e associato al nome riportato all interno del simbolo Output: tabulato di stampante Il valore associato al nome riportato all interno del simbolo e reso disponibile all esterno Algoritmo per il calcolo della circonferenza in flow chart 2

Il pascal-like Alcuni svantaggi del flow-chart poco adatto alla descrizione degli algoritmi, perche molto diverso dalla struttura del linguaggi di programmazione Tende a produrre algoritmi in maniera disordinata e poco leggibile Il pascal-like e un linguaggio per la descrizione degli algoritmi (anche chiamato pseudo linguaggio) derivato dal Pascal, e costringe a sviluppare algoritmi in maniera strutturata Confronto tra flow-chart e pascal-like Le variabili Nell algoritmo precedente I valori di 2 e π sono costanti e definiti per ogni esecuzione I valori di C e R non sono definiti e rappresentano quantita variabili da esecuzione a esecuzione C e R indicano generici numeri reali variabili di tipo reale 3

Istruzioni read e print Dal punto di vista pratico, una variabile e il nome dato ad una locazione di memoria L istruzione read R legge un valore dall unita di input e lo assegna alla variabile R Esecuzione istruzione read L istruzione print C visualizza sull unita di output il contenuto della variabile C Esecuzione istruzione print Assegnazione L istruzione C = 2 *π π R Preleva dalla memoria il contenuto della variabile R Lo moltiplica per 2 π Memorizza il risultato nella variabile C Esecuzione di una istruzione di assegnazione Osservazioni Il segno = e una operazione di assegnazione La variabile R deve essere definita (cioe avere un valore) 4

Dichiarazione delle variabili Dal punto di vista pratico, una variabile e il nome dato ad una locazione di memoria Poiche la squenza di bit presente nella locazione di memoria ha significato diverso a secondo del tipo di dato contenuto In pascal-like e necessario dichiarare il tipo delle variabili Esempi: var R, C : real (R e C variabili reale) var N : integer (N variabile intera) var nome : character (nome variabile carattere) var L : logical (L variabile logica) Diverso valore di R a secondo della dichiarazione Calcolo della circonferenza (seconda versione) La dichiarazione delle variabili consente al calcolatore di interpretare correttamente il contenuto delle variabili La dichiarazione delle variabili va fatta prima dell utilizzo delle variabili stesse Si ottiene quindi il seguente algoritmo Algoritmo per il calcolo della circonferenza 5

Le costanti In una istruzione del tipo R = P come distinguere Assegna a R il contenuto della variabile P Assegna a R il carattere P Analogamente, nell istruzione C = 6, come distinguere Assegna a C il numero intero 6 Assegna a C il carattere 6 Necessita di definire un modo per usare i diversi tipi di costanti (intero, reale, carattere, logico) Le costanti Le costanti di tipo carattere sono racchiuse tra una coppia di apici Esempio: casa, Napoli, Maria Le costanti di tipo logico sono racchiuse tra una coppia di punti Esempio:.true.,.false. Le costanti di tipo intero sono sequenze di cifre eventualmente con segno Esempio: +80, -45, 981 Le costanti di tipo reale sono sequenze di cifre con il punto decimale Esempio: 45.23, 0.0032, -23.12, Per il tipo reale e possibile utilizzare anche la notazione esponenziale Esempio: 12.3e5, 0.e0, 0.1e-6 6

Calcolo della circonferenza (terza versione) Nell algoritmo per il calcolo della circonferenza il valore del simbolo (costante) π e ambiguo Specificando il valore come una costante di tipo reale si ottiene la versione finale dell algoritmo Algoritmo per il calcolo della circonferenza Calcolo della circonferenza (quarta versione) Definizione = Assegnazione di un valore ad una variabile Puo avvenire in due modi Tramite lettura (istruzione read) Tramite assegnazione (operatore = ) Utilizzando una ulteriore variabile ( PG ), l algoritmo per il calcolo della circonferenza puo essere riscritto come riportato Algoritmo per il calcolo della circonferenza 7

Alcune regole di base Tutte le variabili devono essere definite prima di essere utilizzate Il valore dell espressione deve essere dello stesso tipo di quello della variabile a cui e assegnato Esempio: calcolo area del trapezio Osservazione: Nella definizione di una variabile, prima si valuta l espressione al secondo membro, e dopo si assegna il valore ottenuto alla variabile al primo membro Una variabile puo essere utilizzata piu volte ridefinendo il suo valore nel corso dell algoritmo Esempio: Algoritmo per il calcolo dell area di un trapezio Dati di input: Bmag, Bmin, H Dati di output: Area Algoritmo per l area di un trapezio 8

Esecuzione dell algoritmo (1) Calcolo dell area di un trapezio con Bmag = 10, Bmin= 8, H = 3 (Area = 27) Fig.1: esecuzione di read Bmag, Bmin Fig.1: esecuzione di read Bmag, Bmin Fig.2: esecuzione di read H Fig.2: esecuzione di read H Esecuzione dell algoritmo (2) Fig.3: esecuzione di Area = Bmag +Bmin Fig.3: esecuzione di Area = Bmag+Bmin Fig.4: esecuzione di Area = Area * H Fig.4: esecuzione di Area = Area * H 9

Esecuzione dell algoritmo (3) Fig.5: esecuzione di Area = Area / 2 Fig.5: esecuzione di Area = Area / 2 Fig.6: esecuzione di print Area Fig.6: esecuzione di print Area Riassumendo Il pascal-like e uno pseudo linguaggio per la descrizione degli algoritmi Le variabili sono nomi dati alle locazioni di memoria, i cui valori possono essere modificati durante l algoritmo attraverso il loro nome Le variabili vanno dichiarate Le variabili vanno definite prima di essere usate Sono elementi universali degli algoritmi presenti in tutti i linguaggi di programmazione 10

Un po di storia (7) Donald Knuth (1938) Laureato in matematica negli Stati Uniti, e professore universitario a Stanford. Pone le basi dello sviluppo dell analisi rigorosa della complessita computazionale degli algoritmi e sistemato le tecniche matematiche per la verifica della loro correttezza E l autore di the art of computer programming, un opera in piu volumi, ancora non tutti pubblicati, considerata la Bibbia degli informatici. Knuht nel 1988 (courtesy of Comp. History Museum) E autore anche del TeX. un sistema di composizione tipografica divenuto oggi uno standard per la pubblicazione di articoli scientifici. Vince il premio Turing nel 1974 per i suoi contributi all analisi degli algoritmi e per il disegno dei linguaggi di programmazione Una edizione di The Art of Computer Programming 11