Lab 04 Programmazione Strutturata"

Documenti analoghi
Lab 04 Istruzioni, cicli e array"

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Esercizi di programmazione in C

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

La selezione binaria

Input/output in C e in C++

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

Sistemi Web per il turismo - lezione 3 -

Programmazione Orientata agli Oggetti in Linguaggio Java

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

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

LABORATORIO DI PROGRAMMAZIONE EDIZIONE 1, TURNO B

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

SOLUZIONE ESERCIZIO 1

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Aritmetica dei Calcolatori 2

Polinomio di secondo grado: Calcolo delle soluzioni di una equazione di secondo grado: import GraphicIO.*; public class Polinomio2 {

Primi programmi in C

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Esercizi di programmazione

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Informatica Teorica. Macchine a registri

Esercizi di programmazione in linguaggio C - Costrutto sequenza

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Le aree dell informatica

Prova Scritta del 19/07/10

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

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

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Unità B3 Strutture di controllo

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Corso sul linguaggio Java

Codifica: dal diagramma a blocchi al linguaggio C++

Esercizio: numero primo

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

IL CALCOLO COMBINATORIO:

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione

MATEMATICA e COMPLEMENTI di MATEMATICA

Gestione di files Motivazioni

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

Introduzione al Linguaggio C

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

LAVORO ESTIVO DI INFORMATICA CLASSE 2O

Fasi di creazione di un programma

Cos è un Calcolatore?

Esercitazione Informatica I AA Nicola Paoletti

Il calcolatore. Architettura di un calcolatore (Hardware)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Esercitazione 3. Corso di Fondamenti di Informatica

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

AA LA RICORSIONE

3. La sintassi di Java

Programma di Robotica[LEGO EV3]

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

10 - Programmare con gli Array

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Introduzione al MATLAB c Parte 2

EXCEL FINESTRA DI EXCEL BARRE PRINCIPALI CARTELLA DI LAVORO BARRE DI SPOSTAMENTO

Algoritmi e basi del C

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO

Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri. Classi I C I G

Corso di Esercitazioni di Programmazione

Esempi di algoritmi. Lezione III

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Laboratorio di Informatica Lezione 2

Algoritmi di Ricerca. Esempi di programmi Java

Elementi di Informatica

Caricare un numero n float, calcolare e stampare il quadrato e il cubo di n. Diagramma di flusso

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

Gli algoritmi: definizioni e proprietà

CALCOLO DEL MASSIMO COMUN DIVISORE

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Analisi. Calcolo Combinatorio. Ing. Ivano Coccorullo

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Linguaggio C - Funzioni

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Transcript:

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1

Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate in cortocircuito (shortcut evaluation) Appena è possibile determinare il valore logico dell espressione, si salta la valutazione degli altri operandi Esempio: lettura ciclica di due numeri reali si esce dal ciclo quando è impossibile effettuare la divisione di essi, oppure il risultato della divisione è negativo Lab04 2

Valutazione in cortocircuito (2)" float a, b; do { printf("inserisci due numeri reali:"); scanf("%f %f", &a, &b); } while(b!= 0 && a/b < 0); Senza la valutazione in cortocircuito, in caso di divisore==0 si effettuerebbe comunque la divisione (errore concettuale) Lab04 3

Esercizio 1*" Scrivere, compilare ed eseguire il seguente programma: int main() { int a=5, b=5, c=5; if (a>0 a=a+1) printf( %d, a); if (b>0 && b=b+1) printf( %d, b); if (c>0 && c=c-5) printf( %d, c); } Cosa viene stampato a video? Quanto valgono le variabili? Lab04 4

Esercizio 2*" Stampa di voti Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne stampi il significato Lab04 5

Esercizio 3*" Stabilire il valore assoluto e la parte intera di un numero reale Realizzare un programma che legga da input un numero reale, e stampi a video: 1. Il valore assoluto 2. Il valore assoluto della sua parte intera Lab04 6

Esercizio 4*" Stampa di caratteri in ordine alfabetico Realizzare un programma che legge da input tre caratteri, e li stampa in ordine alfabetico Utilizzando l istruzione if Per determinare il secondo carattere, devo per forza utilizzare degli if innestati Lab04 7

Esercizio 5" Triangoli Si scriva un programma, in linguaggio C, che legga da input le lunghezze dei lati di un triangolo e determini se il triangolo è equilatero, isoscele o scaleno" " Lab04 8

Esercizio 6" Operazioni aritmetiche Realizzare un programma che, presi in input 2 operandi reali e un operatore (+, -, *, /), esegua l operazione stampandone il risultato Nel caso in cui l operatore sia errato o l operazione non eseguibile, si stampi undefined Lab04 9

Esercizio 7" Progettare e Codificare in C un programma che permetta di stabilire la stagione corrispondente al mese inserito come intero dall utente. Esempio: se l utente digita 1 (Gennaio) il programma deve stampare Inverno. Qualora il mese sia Marzo, Giugno, Settembre e Dicembre, tutti mesi a cavallo di due stagioni, si richieda all utente di specificare anche il giorno. Se il giorno e compreso tra 1 e 20 si considera la stagione precedente altrimenti quella successiva. Lab04 10

Esercizio 8*" Realizzare un programma che legga da input un carattere dell alfabeto e stampi a video il carattere stesso ed il suo valore ASCII Il programma deve controllare che il carattere inserito sia compreso tra a e z o tra A e Z (in caso contrario si stampi un messaggio di errore) Dopo la stampa, il programma deve continuare a chiedere nuovi caratteri, finché l utente non inserisce il carattere corrispondente al numero zero ( 0 ): in tal caso il programma termina. Lab04 11

Esercizio 9*" Si realizzi un programma che, partendo da una base a ed un esponente i, calcoli la funzione potenza: a i Lab04 12

Esercizio 10*" Si realizzi un programma che, partendo da una base a ed un limite n, calcoli la seguente funzione: n Σ a i i=0 Realizzare il programma in due modi diversi: 1. Utilizzando due cicli (uno per la sommatoria, ed uno per la potenza) 2. Utilizzando un ciclo solo Lab04 13

Esercizio 11" Si realizzi un programma che legga un intero N da tastiera, e stampi a video il risultato della seguente sommatoria: N i i= 0 2* i + 1 ( 1) Una volta calcolato e stampato il valore a video, il programma deve chiedere un nuovo numero all utente e ripetere il calcolo. Il programma deve terminare solo qualora l utente inserisca un valore negativo. 4 Lab04 14

Esercizio 12*" Dato un numero intero a, definito tramite una variabile, scrivere un programma che calcoli il valore della seguente espressione: a i Σ Σ j i=1 j=1 Lab04 15

Esercizio 13" Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio: L utente vuole inserire 3 numeri: 4, 3, 6 Il programma deve calcolare 4! + 3! + 6! = 750 Lab04 16

Esercizio 14*" Progettare un algoritmo che legga da terminale una sequenza di interi positivi e negativi terminati dal valore 0 (uno su ogni linea) e stampi il prodotto degli interi positivi e la somma dei negativi. Seguire l'esecuzione del programma con l'uso del debugger. Lab04 17

Esercizio 15" Progettare un algoritmo che legga da terminale una sequenza di interi positivi e negativi terminati dal valore 0 (uno su ogni linea) e stampi la media degli interi positivi. Seguire l'esecuzione del programma con l'uso del debugger. Lab04 18

Esercizio 16*" Progettare e Codificare in C un programma che permetta di controllare i dati di input immessi dall utente. In particolare se l utente inserisce un intero N compreso tra 1 e 10, il programma deve stampare a video il valore N N Se l intero N e compreso tra 11 e 20, il programma deve stampare a video la somma 1 + 2 + 3 + + N N Σ j j=1 Altrimenti deve dare un segnale di errore. Lab04 19

Esercizio 17*" Sequenze di 0 e 1 Realizzare un programma che prende in input una sequenza di caratteri 0 e 1 e conti la lunghezza della più lunga sotto-sequenza di 0 di fila L inserimento della sequenza termina quando si inserisce un carattere diverso da 0 e 1 A quel punto, si stampa a video il valore trovato Lab04 20

Esercizio 18*" Sequenze di cifre Realizzare un programma che prende in input una sequenza di cifre (tra 1 e 9) e calcola la somma massima fra le sottosequenze di cifre non decrescente Il programma termina quando viene inserito lo 0 Esempio: 2 2 4 5 3 9 3 1 5 0 13 12 3 6 Lab04 21

Esercizio 18*" Ci mettiamo nell ipotesi di non dover controllare la correttezza del dato letto Di che valori devo tenere traccia? Devo accorgermi di quando il valore appena letto è più piccolo del precedente In tal caso, devo confrontare la somma corrente con quella massima, e ripartire con una nuova somma Lab04 22

Esercizio 19*" Si scriva un programma che legga da utente una sequenza di interi terminata dal valore 0, moltiplichi i valori positivi pari e sommi i positivi dispari scartando i numeri negativi. Si scriva il programma usando il ciclo do..while In un secondo tempo si modifichi il programma usando il clclo while Si sviluppi il programma usando un solo ciclo Continua > Lab04 23

Esercizio 20*" Calcolo degli Interessi Bancari Si progetti in C un programma che legge un intero, rappresentante un ammontare di euro; di seguito il programma deve leggere un tasso d interesse (in percentuale), ed un numero di anni. Il programma deve stampare, in uscita, per ogni anno, come l ammontare cresce con gli interessi. Si ricordi che l interesse si calcola con la seguente formula: r Cfin Cin = * 1 + 100 Dove Cfin è il capitale finale, Cin è quello iniziale, r è l interesse, e N rappresenta il numero di anni in cui si applicano gli interessi. N Continua > Lab04 24

Esercizio 20*" Supponiamo che il capitale iniziale sia di 1000, con un tasso del 3%, per un periodo di 3 anni. L output stampato deve avere all incirca questo aspetto: Capitale iniziale: 1000 Dopo 1 anno: 1030 Dopo 2 anni: 1060.90 Dopo 3 anni: 1092.72 Lab04 25

Esercizio 21*" Si scriva un programma che legga da utente una sequenza di al massimo 10 valori positivi (si scartino i negativi). L utente può terminare prima inserendo lo 0. Il programma deve stampare 1. il numero di valori positivi letti 2. il numero di valori scartati 3. la somma di tutti i valori positivi 4. L elemento maggiore della sequenza dei positivi 5. L elemento minore della sequenza dei positivi Lab04 26