Esercizi di programmazione in linguaggio C - Costrutto iterazione

Documenti analoghi
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Primo programma in C Esercizi risolti

Prof. Pagani Corrado ALGORITMI ESERCITAZIONI CICLI

Strutture di iterazione

Introduzione alla programmazione Esercizi risolti

Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf

while Istruzione while Cicli ed iterazioni Istruzioni di ripetizione in C Comportamento del while

a.a Codice corso: 21012, HOMEWORKS

Esercitazione 6. Array

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Esercizio 1 - cicli. Esercizio 1 cicli - Soluzione

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

PROGRAMMAZIONE: Le strutture di controllo

ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori -

Fondamenti di Informatica T-1 Modulo 2

Esercizio 1: calcolo del massimo di una sequenza (versione 1)

Informatica B

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

Esercitazione 3. Espressioni booleane I comandi if-else e while

Introduzione a. Funzioni di Ingresso e Uscita. Compilazione

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

LIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L

Strutture di iterazione

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

Istruzioni iterative (o cicliche)

Istruzioni Condizionali in C

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Moltiplicazione. Divisione. Multipli e divisori

Esercitazione 4. Comandi iterativi for, while, do-while

Corso di Fondamenti di Informatica Classi di istruzioni 2

Algoritmi e basi del C Struttura di un programma

Struttura dei programmi C

Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

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

Problemi, algoritmi e oggetti

Scelte ed alternative. Esercizi risolti

IL PRIMO PROGRAMMA IN C

Esercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

Esercizi Programmazione I

Esercizi C su array e matrici

# include<stdio.h> int main() { // Dichiarazioni int n; int i;

ESERCIZI SU IF/WHILE. Esercizio 1) Legge due numeri e controlla se il primo è multiplo del secondo.

Problema. Vettori e matrici. Vettori. Vettori

Istruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Istruzioni iterative. Istruzioni iterative

Input/Output di numeri

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

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

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Laboratorio di programmazione

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

La programmazione in linguaggio C

Vittoria de Nitto Personè. Esercizi proposti per il corso Fondamenti di informatica

PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara

Corso di Fondamenti di Informatica

Espressioni semplici e condizionali

MAPPA MULTIPLI E DIVISORI

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.

Corso di Informatica 1 Esercitazione n. 4

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Esercizi di programmazione in linguaggio C English Dictionary

PROGRAMMAZIONE STRUTTURATA

ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -

1 Esercizi in pseudocodice

Introduzione alla programmazione in C(++)

Costrutti condizionali e iterativi

5. Codifica degli Algoritmi in C

Programmazione in Python. Moreno Marzolla

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Strutture di Controllo

Programmazione I - Laboratorio

Gli Operatori. Università degli Studi di Brescia

Strutture iterative. Strutture iterative. I cicli in C. Strutture iterative. con i che assume i valori da 0 a 1000

Scrittura formattata - printf

$QDOLVLGHOSURJUDPPDTXDGUDWR

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

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

GLOSSARIO MATEMATICO. ,0,, 2, 3,,... = {razionali e irrazionali}

Esercizi per il corso di Programmazione I

Le strutture di controllo in C++

Linguaggio C: introduzione

Esercizi proposti. Funzioni. Esercizio Confronto tra date. Esercizi proposti. Analisi. Controlli

Linguaggio C: le funzioni

algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi

Transcript:

Esercizi di programmazione in linguaggio C - Costrutto iterazione prof. Roberto uligni 1. [potenze1] Scrivere un programma che visualizzi il valore di tutte le prime n potenze di 2 con n richiesto all'utente e compreso tra 2 e 14. 2. [potenze2] - Scrivere un programma che verifichi se un numero inserito da tastiera è una potenza del 2 e, se lo è, determini l'esponente. 3. [quadrato1] - Scrivere un programma visualizzi il quadrato dei primi 24 numeri naturali. 4. [coppie1] - Scrivere un programma che permetta di caricare n coppie di numeri interi, calcoli la somma di ogni coppia e la visualizzi. 5. [coppie2] - Scrivere un programma che, date n coppie di numeri reali, conti le coppie formate da valori opposti. 6. [coppie3] - Scrivere un programma che, date n coppie di numeri reali, conti quelle che generano un prodotto negativo, positivo o uguale a zero senza eseguire le moltiplicazioni. 7. [maxmin] - Scrivere un programma che determini il maggiore e il minore tra gli n numeri immessi dall'utente. 8. [media1] - Scrivere un programma che calcoli e visualizzi la media di n numero interi immessi dall'utente. 9. [media2] - Dati n numeri reali, scrivere un programma che calcoli la media aritmetica dei valori pari e quella dei valori dispari. 10. [seriearmonica] Scrivere un programma che, richiesto all'utente un numero intero m, calcoli e visualizzi la somma: dei primi m elementi della serie armonica. erificare che la somma della serie, arrestata al quinto elemento, è pari a circa 2.2833. 11. [rettangolo1] Scrivere un programma che visualizzi un rettangolo la cui cornice sia costituita da caratteri asterisco, la parte interna da caratteri Q e dove i numeri di righe e di colonne del rettangolo siano decisi dall'utente (ciascuno di questi numeri non deve essere inferiore a 3). Per esempio, se il numero delle righe è uguale a 5 e il numero di colonne a 21, sul video deve apparire: QQQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQ [rettangolo2] - Ripetere l'esercizio precedente, visualizzando però il rettangolo un numero di volte scelto dall'utente. Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 1

12. [divisori] - Scrivere un programma che, richiesto un numero intero, visualizzi tutti i suoi divisori (Suggerimento: ricordiamo che a divide b solo se b mod a = 0). 13. [numprimo] Scrivere un programma che, richiesto un numero intero, stabilisca se questo è primo (Suggerimento: sfruttare il precedente esercizio). Utilizzare il programma per rispondere alla seguente domanda: quali dei seguenti numeri sono primi? 96 553 15 983 567 2 086 749 377 (Risposta: il primo e il terzo) 14. [cap] - Scrivere un programma che, dati in input n codici di avviamento postale, conti quelli che hanno le prime due cifre uguali a 28 e comunichi il risultato (si considerino CAP formati da numeri interi a 5 cifre, es. Novara: 28100). 15. [imc] - Conoscendo il peso P e l'altezza H di una persona, è possibile calcolare l'indice di massa corporea (IMC) mediante la formula: Scrivere un programma che: richieda l'inserimento del peso (in chilogrammi) e l'altezza (in metri) di N persone (dove N è un numero inserito da tastiera), visualizzando l'indice IMC corrispondente; conti il numero di persone aventi IMC superiore a una certa soglia S prefissata (utilizzare il valore S = 41.5 kg/m 2 ). 16. [diecipari] - Scrivere un programma che stampi i dieci numeri pari successivi a numero intero n dato in input. 17. [frazioni] - Scrivere un programma che, date in input una alla volta N frazioni, riconosca quelle irriducibili. 18. [assicurazioni] - All'inizio in un nuovo anno, un'agenzia deve adeguare gli importi delle assicurazioni delle automobili sulla base degli incidenti registrati nell'anno precedente: se un'automobile non ha subito incidenti, l'importo è ridotto del 4%; in caso contrario, l'importo è aumentato del 12%. Scrivere un programma che, richiesti in input l'importo e il numero di incidenti dell'anno precedente di N automobili, determini e visualizzi il nuovo importo da pagare per ciascuna assicurazione. Il programma deve inoltre stampare il totale degli importi previsti per il nuovo anno. 19. [coppieord] - Scrivere un programma che visualizzi tutte le coppie ordinate di numeri naturali la cui somma è 20. 20. [tabellaprimi] - Scrivere un programma che visualizzi la tabella dei numeri primi compresi tra 2 e N. 21. [fattori] - Scrivere un programma che scomponga un numero in fattori primi. Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 2

Soluzioni di alcuni esercizi Esercizio n. 1 (potenze1) Diagramma a blocchi INIZIO n I n < 2 OR n > 14 c 0 pot 2 c < n pot O INE pot pot 2 c c + 1 Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 3

Programma / potenza1.c Scrivere un programma che visualizzi il valore di tutte le prime n potenze di 2 con n richiesto all'utente e compreso tra 2 e 14. / #include <stdio.h> int main(void) { int n; int c = 0; / ariabile contatore del ciclo / int pot = 2; do { printf("numero di potenze da visualizzare: "); scanf("%d", &n); while (n < 2 n > 14); while (c < n) { printf("%d\n", pot); pot = 2; c++; return 0; Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 4

Esercizio n. 10 (seriearmonica) Programma / seriearmonica.c Scrivere un programma che, richiesto all'utente un numero intero m, calcoli e visualizzi la somma dei primi m elementi della serie armonica. / #include <stdio.h> int main(void) { int m; int k = 1; / ariabile contatore del ciclo / double somma = 0.0; double termine; printf("numero m di termini della somma: "); scanf("%i", &m); while (k <= m) { termine = 1.0 / k; somma += termine; k++; printf("somma della serie armonica arrestata al %i^ elemento: %9.4lf\n", m, somma); return 0; Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 5

Esercizio n. 11 (rettangolo1) Programma / rettangolo1.c Scrivere un programma che visualizzi un rettangolo la cui cornice sia costituita da caratteri asterisco, la parte interna da caratteri Q e dove i numeri di righe e di colonne del rettangolo siano decisi dall'utente (ciascuno di questi numeri non deve essere inferiore a 3). Per esempio, se il numero delle righe è uguale a 5 e il numero di colonne a 21, sul video deve apparire: QQQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQ / #include <stdio.h> int main(void) { int righe, colonne; int i, j; do { printf("inserire i numeri di righe e colonne: "); scanf("%d%d", &righe, &colonne); while ( righe < 3 colonne < 3); / Stampa la parte superiore della cornice / for (i = 0; i < colonne; i++) { printf(""); printf("\n"); / Manda il cursore a capo / / Stampa le righe intermedie / for (i = 0; i < righe - 2; i++) { printf(""); / Bordo iniziale della cornice / for (j = 0; j < colonne - 2; j++){ printf("q"); / Stampa un carattere del contenuto interno / printf("\n"); / Bordo finale / / Stampa la parte inferiore della cornice / for (i = 0; i < colonne; i++) { printf(""); printf("\n"); return 0; Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 6

Esercizio n. 13 (numprimo) Analisi del problema Per determinare se un numero N intero positivo sia primo, si possono considerare i numeri interi (a partire da 2) minori di N, contando quelli che sono divisori di N (ricordiamo che un numero K è divisore di N se N mod K = 0). Il numero N è primo se e solo se il conteggio dei divisori è pari a zero: infatti, un numero primo è un numero naturale divisibile solamente per 1 e per se stesso. Diagramma a blocchi INIZIO n I n < 1 k 2 conta_div 0 k < n n mod k = 0 conta_div = 0 conta_div conta_div + 1 "Numero primo" O "Numero non primo" O k k + 1 INE Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 7

Programma / numprimo.c Scrivere un programma che, richiesto un numero intero, stabilisca se questo è primo. / #include <stdio.h> int main(void) { int n; int k; / ariabile contatore de ciclo / int conta_div = 0; / Contatore dei divisori di n / printf("numero n da verificare: "); scanf("%d", &n); k = 2; while (k < n) { if (n % k == 0) { conta_div++; k++; if (conta_div == 0) printf("il numero %d e' primo\n", n); else printf("il numero %d non e' primo\n", n); return 0; Nelle pagine successive sono indicate le soluzioni degli esercizi che riportano il simbolo. 8