Organizzazione del corso

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

LINGUAGGIO DI PROGRAMMAZIONE C
Informatica Generale Susanna Pelagatti
Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Informatica 22/03/2012.
CAPITOLO 2.
Introduzione al linguaggio C
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
PROGRAMMARE IN PASCAL (le basi)
Le funzioni UD. 8 – Lorganizzazione dei programmi p. 309 LS Tron 4TC 06/07.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Dall’Algoritmo al Programma
Il linguaggio C Gli operatori e le espressioni C Language
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Laboratorio di Linguaggi lezione III Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea.
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Assegnamento di valore a una variabile Anno Accademico 2009/2010.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il Linguaggio Fortran 90: 1. Preliminari
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Algoritmi su Tipi Semplici
Istruzioni Decisionali
Puntatori - Cenni Nicola Fanizzi Corso di Programmazione C.d.L. in Informatica DIB - Università degli Studi di Bari.
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
Dichiarazioni e tipi predefiniti nel linguaggio C
CAPITOLO 7.
I File.
CODIFICA Da flow-chart a C++.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lo sviluppo del software e i linguaggi di programmazione
La comunicazione uomo … macchina
Problema: come dividere due numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Programma di Informatica Classi Prime
Complessità di un algoritmo
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
RISOLUZIONE DI EQUAZIONI
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Lezione 3 Struttura lessicale del linguaggio
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
Rappresentazione dell’informazione nel calcolatore.
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Algoritmi e basi del C Struttura di un programma
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 11.
Fondamenti di Informatica
Rappresentazione dell'informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Informatica e Informatica di Base
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Codifica binaria dell’informazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Codifica binaria dell’informazione Marco D. Santambrogio – Ver. aggiornata al 24.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Transcript della presentazione:

Organizzazione del corso Nicola Fanizzi fanizzi@di.uniba.it Stanza: 525 - 5° piano - DIB Laboratorio: Martedì 15-17 Lezione: Mercoledì 10-11 Ricevimento: Martedì 11-13 Sito: www.di.uniba.it /~fanizzi Testi base: A. Guidi & N. Renzoni, Pascal - Guida alla Programmazione, McGraw-Hill Fiorentino et al., Pascal - Laboratorio di Programmazione, McGraw-Hill Compilatore base: Dev-Pascal www.bloodshed.net GNU Pascal (ISO) Free Pascal

Introduzione: Struttura dei Programmi Pascal Nicola Fanizzi Laboratorio - Corso di Programmazione (B) C.d.L. in Informatica DIB - Università degli Studi di Bari

Struttura programmi Pascal: primo programma program paese (output); begin write('Tre'); write(' casettine'); write(' dai tetti'); write(' aguzzi'); end. corpo del programma opzionale

Struttura programmi Pascal: Schema program <nome-programma> (output); begin <istruzione 1>; <istruzione 2>; <istruzione 3>; . . . <istruzione n>; end.

Struttura programmi Pascal: Stampa program paeseTranquillo (output); begin write('Tre'); write(' casettine'); write(' dall''aria'); write(' tranquilla'); end. writeln stampa un ritorno a capo a fine stampa

Variabili e assegnamenti Area rettangolo { Calcolo area rettangolo } program rettangolo (output); (* Calcolo area rettangolo *) var base: integer; altezza: integer; area: integer; begin base := 3; altezza := 7; area := base*altezza; write(area); end.

Variabili e assegnamenti integer tipo predefinito dimensione occupazione in memoria tipicamente 2 byte = 16 bit  -2^15 .. +215 - 1 operazioni lecite es.(sugli interi): + - * div := operatore di assegnazione <l-value> := <r-value>; es. base := 3; fa sì che il valore (intero) 3 venga assegnato alla variabile intera base es. area := base*altezza; in generale a destra si può avere un'espressione il cui valore viene calcolato prima dell'assegnamento

Dichiarazioni var base,altezza,area: integer; regole per i nomi degli identificatori: devono iniziare con una lettera o con una sottolineatura _ possono contenere solo lettere non accentate, cifre oppure lo stesso simbolo _ corretti: nome1, cognome2, cognome_nome, a, volume, peso, ... errati: 12nome, cognome-nome, età, vero?, Padri&figli, … non è consentito dichiarare nuovamente un identificatore già dichiarato

Stampa con write e writeln possono stampare anche i contenuti delle variabili o i risultati della valutazione di espressioni: write(area); equivalente a: write(base*altezza); possono stampare: sia caratteri corrispondenti a valori numerici, sia stringhe la lista delle espressioni da stampare viene separata da virgole: writeln('area:',base*altezza);

Area rettangolo (2) { Calcolo area rettangolo } program rettangolo2 (output); var base,altezza,area: integer; begin base := 3; altezza := 7; area := base*altezza; writeln('Base: ', base); writeln('Altezza:', altezza); writeln('Area: ', area); end.

Costanti Quando un valore fisso viene usato in maniera ricorrente nel programma può essere utile memorizzarlo in una costante dichiarata nell'apposita sezione del programma (prima delle variabili in Pascal standard): const BASE = 3; per i nomi valgono le regole degli identificatori leggibilità: aumentano la del programma flessibilità e facilità di manutenzione: eventuali modifiche si concentrano in un solo punto

Area rettangolo (3) { Calcolo area rettangolo, prova utilizzo costanti } program rettangolo3 (output); const BASE = 3; ALTEZZA = 7; var area: integer; begin area := BASE*ALTEZZA; writeln('Base: ', BASE); writeln('Altezza:', ALTEZZA); writeln('Area: ', area); end.

Immissione di dati Per rendere i programmi più generali servono strumenti per leggere valori immessi dall'estreno: read(base); legge un valore da tastiera e lo converte in un intero, immagazzinato nella variabile spesso si fa precedere da una write che richiede l'immissione: write('Valore base:'); read(base); read(base,altezza); lettura di valori multipli: readln(base); legge un valore va alla linea successiva readln; usabile per un'attesa indefinita

Area rettangolo (4) program rettangolo4 (input, output); var base, altezza, area: integer; begin writeln; writeln('AREA RETTANGOLO'); write('Valore base: '); readln(base); write(' Valore altezza: '); readln(altezza); area := base*altezza; writeln('Base: ', base); writeln('Altezza: ', altezza); writeln('Area: ', area); readln; end.

Emissione di dati Rendere l'ouput più leggibile: writeln(base, altezza, area); es. se base = 10 e altezza = 13 si ottiene la stampa: |1|0|1|3|1|3|0| Rendere l'ouput più leggibile: usando spazi: writeln(base,' ',altezza,' ',area); o meglio: writeln('Base:', base, ' Altezza: ', altezza, ' Area: ', area); formattazione a destra: writeln(base:5, altezza:5, area:5); ottenendo: | | | |1|0| | | |1|3| | |1|3|0|

Espressioni aritmetiche op. unario - inversione del segno op. binarie + somma - sottrazione * moltiplicazione div divisione intera (troncamento) mod modulo (resto della div. intera) priorità: - (unario) * div mod (op. moltiplicative) + - (op. additivi) uso delle parentesi per cambiare la priorità corrisponde a: (((((c + 6)* 3 + a) div 2) + 10 * 4) div 12) + b

Funzioni predefinite abs(•) valore assoluto sqr(•) quadrato pred(•) valore precedente succ(•) valore successivo

Uso di funzioni predefinite program lunghezzaSegmento (input, output); var a, b: integer; segmento, lunghezza: integer; begin writeln; writeln('LUNGHEZZA SEGMENTO'); write('Primo estremo: '); readln(a); write('Secondo estremo: '); readln(b); segmento := a-b; lunghezza := abs(segmento); writeln('Lunghezza segmento: ', lunghezza); readln; end.

Esercizi Svolgere i programmi indicati nei seguenti esercizi del testo: Cap. 1, n° 1 — 5, 9, 11 pagg. 25-26

Es. 1.10 Trovare gli errori program tutto sbagliato; cost base, altezza, area:= integer; begin base = 3; altezza := 7 area := base x altezza; writeln('Base: , base); writeln('Altezza:'; altezza); writelm('Area: ', area); end