Informatica B Allievi Elettrici - AA 2000-01 Fondamenti della programmazione in linguaggio C (III)

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Corso di Fondamenti di Programmazione canale E-O
LINGUAGGIO DI PROGRAMMAZIONE C
INFORMATICA Algoritmi fondamentali
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (IV)
Introduzione al linguaggio C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Iterazione while – do while - for.
Iterazione A. Ferrari.
Stringhe di caratteri In linguaggio C.
Selezione - approfondimento
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Introduzione al linguaggio C
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
Introduzione al linguaggio C
Un nuovo tipo di dati Gli array.
Algoritmi in C++ (1) da completare
INFORMATICA Strutture iterative
Programmazione Procedurale in Linguaggio C++
Caratteri e stringhe di caratteri
Funzioni definite dall’utente
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Process synchronization
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
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.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Struct, enum, Puntatori e Array dinamici
Strutture di controllo nel C
Esercizi C sui tipi definiti dall’utente
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Dichiarazioni e tipi predefiniti nel linguaggio C
Il Linguaggio C.
Le funzioni.
Espressioni condizionali
CODIFICA Da flow-chart a C++.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Unità Didattica 1 Linguaggio C
Anno accademico Le istruzioni di controllo in C.
GLI ARRAY MONODIMENSIONALI. Utilizzando le nostre attuali conoscenze, proviamo a risolvere il seguente problema: Calcolare la media dei voti conseguiti.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Vettori (a una dimensione)
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
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
© Piero Demichelis Tipi strutturati I tipi considerati finora hanno la caratteristica comune di non essere strutturati: ogni elemento è una singola entità.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Operatori di incremento e decremento
Il linguaggio C Notate che ....
Il linguaggio C Un primo programma C : un primo programma (2) /* Programma che calcola il massimo fra tre numeri inseriti da tastiera */ #include #define.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Copyright © Istituto Italiano Edizioni Atlas
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 14 Marzo 204.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 28 Ottobre 2014.
Cicli. Ci sono almeno tre modi diversi per costruire un ciclo in C e occorre utilizzare quello che meglio si adatta alle esigenze del problema che si.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (III)

Anche i cicli si possono annidare #include main() { int n, m, i, j; printf(“Inserisci n:”); scanf (“%d”,&n); /*input */ printf(“Inserisci m:”); scanf (“%d”,&m); /*input */ for(i=1; i<=n; i++) for(j=1; j<=m; j++) printf(“i:%d j: %d \n”, i, j); } Esercizio: provare a vedere cosa si visualizza per n=4 ed m=3.

Salti break: serve a saltare alla prima istruzione fuori dal ciclo (non si ritorna più nel ciclo). continue: serve a saltare le istruzioni che restano del blocco del ciclo e a ritornare a una nuova iterazione. exit: serve a saltare fuori dal programma e ritorna il controllo al sistema operativo (fa parte della libreria standard del C stdlib.h).

Uso del break (pessimo!!!) #include /* Calcolo n fattoriale */ main() { int n, fatt, m; printf(“Inserisci n:”); scanf (“%d”,&n); /*input */ if n > 0 /* Verifica dati d’ingresso */ {fatt = n; for (m=n; m--) /* exp2 in questo caso è vuota:*/ /* equivale a true */ {if (m<1) break; fatt = fatt * (m-1);} printf(“\Il fattoriale di %d è:%d\n”,n,fatt); } N.B. : nel caso di cicli annidati l’istruzione break provoca l’uscita solo dal ciclo più interno!!!

Ancora sulla dichiarazione dei dati: le costanti const int modelloauto = 156; const float pigreco = ; –si inizializza in fase di dichiarazione –non si può modificare nel corso del programma –non provoca allocazione di memoria N.B.: Esiste un altro modo di definire un valore una volta per tutte: la direttiva define

Sostituzione di macro: #define PIGRECO –è una delle direttive al precompilatore –non si può modificare (ma si può annullare) nel corso del programma –non provoca allocazione di memoria –non viene terminata dal punto e virgola (non è una istruzione C!) #define VERO 1 #define FALSO 0 printf(“%d %d %d”, FALSO,VERO,VERO+1); visualizza: –si possono costruire macro a partire da altre macro: #define UNO 1 #define DUE UNO+UNO

Altre direttive al precompilatore Abbiamo già visto: #include serve a richiamare librerie (comanda al preprocessore di leggere anche da un altro file sorgente) Altre direttive frequentemente usate: #undef VERO serve a rimuovere il nome della macro (da questo punto in poi la costante VERO non è più definita) #error ATTENZIONE DIVISIONE PER 0 serve a visualizzare messaggi di errore (il messaggio non è racchiuso tra doppi apici)

Dichiarazione dei dati: altri tipi semplici Diversi tipi di intero: si possono aggiungere dei qualificatori: –long, short si possono aggiungere a int o a double –unsigned si aggiunge a int o a char Variabili enumerative: enum PAPERO {QUI,QUO,QUA}; enum mese{gennaio,febbraio,marzo,aprile, maggio,giugno,luglio,agosto,settembre, ottobre,novembre,dicembre};

Dichiarazione dei dati: dati complessi o strutturati Array: vettore di elementi indicizzati, omogenei, memorizzati in modo contiguo: int A[20]; (A e’ un array di 20 elementi di tipo Int)

Esempi sugli array Inizializzazione: for(i=0;i<=19;i++) A[i] = 0; oppure: for(i=0;i<=19;i++) {printf(“inser.intero:\n”); scanf(“%d”,&A[i]);} Ricerca del massimo: max = A[0]; for(i=1;i<=19;i++) if (A[i] > max) max = A[i]; Calcolo della media: media= A[0]; for(i=1;i<=19;i++) media = media + A[i]; media = media/20; Nota: In C l’indice inferiore dei vettori e’ sempre 0 !!!

Esempi sugli array Massimo, minimo e media: max= A[0]; min= A[0]; media= A[0]; for(i=1;i<=19;i++) {media = media + A[i]; if (A[i] > max) max = A[i]; if (A[i] < min) min = A[i]} media = media/20;