2 Operatori matematici e costrutto if
|
|
|
- Gemma Marchi
- 7 anni fa
- Просмотров:
Транскрипт
1 Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni principali della libreria stdio.h: scanf() e printf(). Figura 2.1: Un consiglio da seguire. Nel caso in cui ci fossero delle domande riguardanti il funzionamento dei costrutti di base si fa riferimento alla Figura 2.1. Nello specifico, si può consultare come riferimento: Il manuale del corso: Informatica: arte e mestiere, D. Mandrioli, S. Ceri, L. Sbattella, P. Cremonesi, G. Cugola, McGraw-Hill Education; Un manuale di C on-line: Si assume una conoscenza di base sul linguaggio C, tale da permettere al lettore di comprendere il significato del seguente frammento di codice. #include <stdio.h> /* Corpo del programma */ 1
2 Ai fini del corso, è ininfluente la scelta di dichiarare il main come int main(int argc, char *argv[]) { /* Corpo del programma */ return 0; oppure come /* Corpo del programma */ Tuttavia, si richiede che il lettore comprenda la differenza tra le due alternative. La riga di codice Corpo del programma non viene considerata dal compilatore, in quanto circondata dai caratteri /* e */, che indicano l apertura e la chiusura di un commento, rispettivamente. Nel caso in cui si voglia commentare da un punto fino alla fine della riga, può essere anche usata l espressione //. L istruzione getchar() non fa parte della soluzione. Si tratta di un istruzione bloccante per mettere l elaboratore in attesa di un carattere da tastiera. Senza questa istruzione, o istruzioni equivalenti (e.g., la system( PAUSE )), l esecuzione del programma termina immediatamente senza permettere all utente di visualizzare l output a video. Nel caso utilizziate CodeBlocks l istruzione per bloccare il programma alla fine dell esecuzione non è necessaria in quanto tale programma attende che l utente prema un tasto prima di terminare l esecuzione del codice. 2.1 Operazioni matematiche Si assume che il lettore sia familiare con i tipi di dato numerici previsti dal C (e.g., int, float) e con i rispettivi di caratteri che di specifica del formato (e.g., "%d", "%f"). Inoltre, le operazioni matematiche essenziali necessarie alla comprensione degli esercizi proposti in questa sezione sono: #include <stdio.h> A.A Informatica B (081369) - Politecnico di Milano Pag. 2
3 printf("addizione: 1+2 = %d\n", 1+2); printf("moltiplicazione: 1*2 = %d\n", 1*2); printf("sottrazione: 1-2 = %d\n", 1-2); printf("divisione: 8/3 = %d (%f)\n", 8/3, 8.0/3.0); printf("resto della divisione intera: 8 mod 3 = %d", 8 % 3); Prima di procedere oltre, il lettore deve aver compreso il significato di questo frammento di codice (e.g., provando a compilarlo e ad eseguirlo). 2.2 Costrutto if e condizioni Il costrutto if codifica un ramo condizionale. Il linguaggio C segue la seguente sintassi: if (condizione) statement; [else statement;] dove le parentesi quadre indicano che la parte else statement; è opzionale. Come per tutti gli altri costrutti in C, se uno statement è una sola istruzione terminata da punto e virgola, non serve altro. Se invece uno statement è composto da più istruzioni terminate da punto e virgola, sarà necessario racchiuderlo tra parentesi graffe, ossia: if (condizione) { istruzione1; istruzione2;... La condizione è un espressione booleana, ovvero un istruzione che, quando valutata, risulta sempre in un valore pari a zero (0, falso) o uno (1, vero). Per comporre espressioni booleane complesse si utilizzano i seguenti operatori: Operatori relazionali valutano relazioni binarie tra i due operandi: < minore di <= minore di o uguale uguale a A.A Informatica B (081369) - Politecnico di Milano Pag. 3
4 > maggiore di >= maggiore di o uguale a == uguale a!= non uguale a (diverso) Operatori booleani valutano condizioni di verità tra i due operandi && AND (congiunzione logica) OR (disgiunzione logica) Attenzione: si osservi che in C, l operazione di assegnamento a = 3 è diversa dall operazione di confronto a == 3. La prima è sempre valutata come vera (1, uno), mentre la seconda, ovviamente, dipende dal valore memorizzato in a. Perciò: #include <stdio.h> int a; scanf("%d", &a); //leggi(a) if (a == 4) //confronto printf("la variabile a contiene il valore 4\n"); else printf("la variabile a NON contiene il valore 4\n"); if (a = 4) //assegnamento printf("questo ramo viene sempre eseguito.\n"); else printf("questo ramo NON viene mai eseguito.\n"); Esercizi Esercizio 2.1 Scrivere un programma che esegua la differenza di due numeri interi inseriti da tastiera. Esercizio 2.2 A.A Informatica B (081369) - Politecnico di Milano Pag. 4
5 Scrivere un programma che riceve in ingresso un prezzo (numero razionale) ed uno sconto (intero tra 0 e 100) da applicare, e restituisce il prezzo scontato e il risparmio ottenuto. Esercizio 2.3 Scrivere un programma che prende in ingresso un tempo espresso in ore, minuti e secondi e ne restituisce l equivalente in secondi. Esercizio 2.4 Scrivere un programma che prende in ingresso un tempo espresso in secondi e ne restituisce l equivalente nel formato ore, minuti, secondi. Esercizio 2.5 Scrivere un programma che prende in ingresso un prezzo in euro e restituisce il numero minimo di banconote utilizzando solo pezzi da 50, 20 e 5 euro. Indicare anche la moneta rimanente. Esercizio 2.6 Scrivere un programma che calcoli la distanza tra due punti, a e b, interi sulla retta y = 0. a b Esercizio 2.7 Scrivere un programma che calcoli la distanza tra due punti, a e b, interi su un retta. Potete utilizzare la funzione abs() della libreria math.h, che calcola il valore assoluto di un numero intero. printf("abs(1-2) = %d", abs(1-2)); //output: abs(1-2) = 1 Esercizio 2.8 Scrivere un programma che legga da input un numero intero e stampi su output: la stringa basso se il numero è compreso tra 0 e 3; la stringa MediO se il numero è compreso tra 4 e 8; A.A Informatica B (081369) - Politecnico di Milano Pag. 5
6 la stringa ALTO! se il numero è compreso tra 9 e 10; la stringa Numero non valido altrimenti. Esercizio Scrivere un programma che dati tre interi positivi valuti se essi possono essere i lati di un triangolo 2. Nel caso di risposta positiva al punto precedente si comunichi anche il tipo di triangolo (scaleno, isoscele, equilatero, rettangolo) Esercizio 2.10 Scrivere un programma che legga da tastiera un numero intero che rappresenta un anno (e.g., 2012) e che determini poi se tale anno è bisestile o meno. Si può assumere che il numero intero letto da tastiera sia sempre valido (e.g., di 4 cifre, positivo). Un anno è bisestile se è multiplo di 4 ma non di 100, oppure se è multiplo di 400. A.A Informatica B (081369) - Politecnico di Milano Pag. 6
Linguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected] Linguaggio C Breve storia Struttura di un programma Variabili
Linguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo
Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5
Fondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
Introduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.
Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float
Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
Lab 04 Programmazione Strutturata"
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
Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
Introduzione alla programmazione. Alice Pavarani
Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello
IL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
Variabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
Fondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante
I cicli. Iterazioni Calcolo della media Istruzioni break e continue
I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione
Qualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
Input/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
Esercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
Esercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
Espressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
Corso sul linguaggio C
Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione
PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice
ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.
ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. LETTURA/SCRITTURA DI VARIABILI Codice #include
