I.S.I.S. “B.VARCHI” LICEO SCIENTIFICO-CLASSICO-ARTISTICO -IPSSCTA R. MAGIOTTI Viale Matteotti, 50 - 52025 MONTEVARCHI Tel. 055 9102774 – 0559103434 – fax 055 9103252 C.F. 81004290516 e-mail: [email protected] Materia/e:Informatica ANNO SCOLASTICO 2015/2016 Classe: 2 A Scienze Applicate (LICEO “B.VARCHI”) Prof.Marco La Grassa email [email protected] PROGRAMMA SVOLTO Testo adottato: Corso di Informatica Linguaggio C e C++ Volume 1 Hoepli ARGOMENTI SVOLTI PROGETTAZIONE DI ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Definizione di algoritmi e caratteristiche, Diagramma di Flusso , convenzioni Grafiche. Linguaggi informatici, linguaggi ad alto livello, compilatori ed interpreti. PROGRAMMARE IN LINGUAGGIO C • IDE DEV c++. Caratteristiche e funzionamento dell’ambiente di sviluppo. • File.c file.exe. • Struttura di un Programma in c • Utilizzo delle librerie stdlib e stio • Istruzioni di Input e di Output, utilizzo delle istruzioni printf() e scanf(), getchar(). Specifiche di conversione per l’output di numeri int e float • Variabili, tipi di variabili (int , float , char), dichiarazione di una variabile, assegnazione di un valore ad una variabile. • Operatori tra numeri interi, divisione tra numeri interi, resto intero della divisione (operatore modulo). • Casting (conversione di tipi di dato), casting esplicito. • Operatori unari, incremento e decremento, var++; var— • Selezione semplice e doppia, istruzione IF () …. ELSE, struttura e utilizzo • Istruzione IF()… ELSE, nidificato. • Operatori logici, operatore AND &&, operatore OR||; diverso !. • Utilizzo degli operatori logici nell’istruzioni IF.. , WHILE(), DO WHILE(). • Istruzioni di Iterazione • Istruzione WHILE() , ciclo a condizione iniziale • Istruzione FOR(), ciclo a conteggio • Istruzione DO WHILE(), ciclo a condizione finale • Esempi di ciclo FOR() nidificati • Generazione di Numeri Random 1 • • • Funzioni srand(), rand() , generazione di numeri random in determinato intervallo. Libreria Matematica MATH.H Funzioni sqrt(), pow(), exp() PROGRAMMAZIONE LABORATORIO • Programmi con operazioni matematiche di numeri interi • Programmi per il calcolo di aree e perimetri di figure geometriche • Programma che calcola il massimo e il minimo di tre numeri interi • Programma che ordina in maniera crescente tre numeri interi • Programma che cola la media di tre numeri reali • Programmi per il calcolo dell’importo lordo, dato l’importo netto e iva % • Programmi per il calcolo dell’importo scontato, con utilizzo dell’istruzione IF • Programmi che individuano se un numero è pari o dispari • Programmi che individuano se un numero appartiene ad un determinato intervallo • Programma che somma tutti i numeri da 0 a n • Programma che svolge il fattoriale di n • Programmi che sommano n numeri inseriti da tastiera • Programmi che generano numeri random in un determinato intervallo. • Programmi che utilizzano funzioni della libreria MATH.H ( calcolo dell’ipotenusa di un triangolo rettangolo , calcolo della potenza di un numero) • Programma per la stampa della Tabellina Pitagorica pag 533 • Programmi pag 516 e pag 521 Data: Montevarchi 15/06/2016 Gli allievi ___________________________ Il Docente Marco La Grassa ________________________ 2 OBBIETTIVI MINIMI • Istruzione IF… ELSE • Iterazione, (istruzioni for(), while(), do while()) • Operatori logici (AND, OR, NOT) • Somma di una sequenza di n di numeri • Utilizzo dell’istruzioni for(), while(), do .. while() • Generazione di numeri random in un determinato intervallo 3 Esercizi 1 1) Scrivere un programma in linguaggio che calcola la l’importo Totale della spesa • Il programma richiede N numero max di prodotti da acquistare • Il programma esce dal ciclo quando si raggiunge il numero dei prodotti o quando l’utente inserisce 0 • Si calcola l’importo totale • Si calcola la media • Si stampano i valori 2) Scrivere un programma in linguaggio che consenta di inserire una sequenza di numeri interi • Esce dal ciclo quando si è inserito il valore -1 o si supera N° 10 elementi • Il programma somma e conta quanti sono i numeri multipli di 4 • Il programma stampa la somma e il numero dei numeri che soddisfano la condizione • Stampa il numero complessivo dei numeri inseriti 3) Scrivere un programma in linguaggio c che consenta di calcolare l’altezza media degli alunni di una classe, il programma richiede: • Il numero degli alunni • L’altezza di ogni alunno • Calcola il valore medio dell’altezza • Stampa l’altezza_media e il numero complessivo degli alunni • Se l’altezza_media è minore di 150 cm, stampa “altezza molto bassa” • Se altezza_media>=150, ma altezza:_media <160 stampa “altezza media bassa” • Se altezza_media>=160, ,ma altezza:_media <170 stampa “altezza media alta” • Se altezza_media>=170 stampa “altezza media alta”; 4 Esercizi 2 1) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: a) Genera una sequenza di numeri random compresi tra 1 e 6 b) Quando il numero 6 è stato estratto 3 volte si esce dal ciclo c) Conta quanti lanci effettuati sono stati fatti d) Se il rapporto tra il numero di volte che è stato estratto il 6 e il numero di lanci è >0,3 scrive “valore elevato” altrimenti scrive “OK” e) Stampa il numero dei lanci f) Stampa il numero di volte estratto il 6 g) Stampa il rapporto precedentemente trovato. 2) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: a) Permette l’inserimento di un numero N da tastiera b) Estrae N numeri random compresi tra 10 e 105 c) Somma e conta i numeri estratti d) Conta tutti i numeri multipli del 5 e) Stampa tutti i risultati 3) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: a) Permette l’inserimento di un numero N da tastiera b) Estrae N numeri random compresi da 0 a 100 c) Si stampano i numeri estratti d) Si contano i numeri estratti e) Si esce dal ciclo quando vengono estratti N numeri o quando viene estratto il numero 0 f) Si verifica se il numero dei numeri estratti estratti coincide con N Domanda aggiuntiva Realizzare un programma in c che genera una sequenza di numeri random da 10 a 20 stampa i numeri estratti , esce dal ciclo quando vengono estratti 3 numeri pari consecutivi 5 2 A Compito di Gennaio A) Il programma consente l’inserimento di N°3 importi da tastiera. 1 Trova l’importo totale 2 Se minore di 0 stampa errore 3 Se l’importo è >=200 ma importo < 600 Calcola lo sconto del 5% e stampa “negativo 4 Se importo >= 800 Calcola lo sconto del 20% e stampa “positivo Il programma stampa 5 l’importo scontato 6 Lo sconto in valuta B) Il programma consente l’inserimento di n°4 numeri interi (n1,n2,n3,n4) 1 Trova il massimo 2 Conta Quanti sono i numeri n2,n3,n4, uguali al numero n1 3 Stampa Ok se n4 è multiplo di n1 4 Inverte n1 con n4 C) Si inserisca n1 e n2 e n3 numeri interi da tastiera 1 se n1 è compreso nell’insieme [10-20]U [40-50] /{15} Stampa OK 2 se n2 nell’insieme [20-30]U [50-60] U{100} Stampa NO 3 Se tutti i n umeri inseriti sono diversi stampa Diversi Descrifere il connettore logico AND anche facendo un esempio 6 2 A compito Marzo Fila A 4) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: g) Permette l’inserimento di un numero N da tastiera h) Estrae al massimo N numeri random compresi da 20 a 100 i) Si stampano i numeri estratti j) Si contano e si sommano i numeri estratti k) Si esce dal ciclo quando vengono estratti N numeri o quando viene estratto il numero 20 l) Se il numero dei numeri estratti coincide con N si stampa “ok” 5) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: f) Permette l’inserimento di un numero N da tastiera g) Permette l’inserimento di al massimo di N numeri interi da tastiera h) Somma i numeri inseriti multipli di 5 i) Conta i numeri inseriti multipli di 5 j) Stampa tutti i risultati 6) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: a) Permette l’inserimento della superficie di una circonferenza b) Calcolare il raggio c) Calcolare il valore Z=raggio1,7 d) Stampa i risultati 7) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: legge N da tastiera stampa in verticale tutti i numeri cha vanno da 0 a N in verticale ps. Stampare tutti i risultati descrivere la funzione sqrt() anche con degli esempi 7 2 A compito Maggio Fila A 8) Scrivere un programma in linguaggio c che svolge le seguenti operazioni: m) Permette l’inserimento di un numero intero chiamato “valore” intero da tastiera n) Se valore = 1 estraggo due numeri random tra 10 e 20 e scrivo “ok “ se uguali altrimenti stampo “no” o) Se valore =3 il programma richiede un numero e stampa il triplo della tabellina del numero inserito da 1 a 10 e la stampa in verticale Esempio 1 3*n 2 3*2*n p) Se il numero inserito è diverso da i numeri previsti nel meno , si stampa “dato non previsto “ e si esce dal ciclo 9) Scrivere un programma in linguaggio c che mi consenta di calcolare la media dell’altezza dei giocatori di una squadra: a) Il programma consente l’inserimento dell’altezza del singolo giocatore b) Si esce dal ciclo quando si inserisce il dato -1 c) Il programma calcola somma totale delle altezze d) Il programma calcola l’altezza media e) L’altezza massima Il programma non considera -1 nel calcolo della media e dei calcoli relativi ( svolgere con do ….while()) 10) Scrivere un programma in linguaggio c che mi consenta di inserire N punti del piano di coordinate x,y a) Il programma consente l’inserimento di N numero intero , N deve essere >0 e pari altrimenti viene richiesto nuovamente b) Consente l’inserimento di N punti di coordiante x,y, c) Calcola la distanza di ogni punto dall’origine d) Calcola la somma delle distanza dei punti inseriti dall’origine e) Conta quanti sono i punti interni alla circonferenza di raggio unitario f) Stampa tutti i valori Descrivere le differenze tra l’istruzione while() .. e do while(), anche con degli esempi 8 2 A CompitoOttobre 1) Realizzare un programma in linguaggio C che svolge le seguenti operazioni: riportare il diagramma di flusso. a. Definisce le variabili necessarie b. Legge i lati di un rettangolo c. Legge il lato di un quadrato d. Calcola l’area del quadrato e l’area del rettangolo e. Stampa “quadrato” se l’area del quadrato è maggiore o uguale dell’area del rettangolo, altrimenti stampa “rettangolo. f. Se l’area del quadrato è minore di 200 , raddoppiare l’area del quadrato (modificare il valore della variabile) e stampare il risultato. 2) Realizzare un programma in linguaggio C, che svolge le seguenti operazioni: a. Dichiara le variabili necessarie b. Legge 3 importi , importo1, importo2, importo3 c. Legge lo sconto % d. Calcola l’importo totale , (e stampa il valore) e. Se l’importo totale è maggiore di 1000 si effettua lo sconto ( lo sconto % è stato inserito) f. Stampa ImportoScontato, ScontoVal g. Calcola l’importo medio ( e stampa il valore) h. Spiegare il tipo di variabili utilizzate e spiegare il motivo 3) Dato la seguente porzione di programma, riportare cosa stampa il programma . . . Printf(“ fase di elaborazione \n”); n=5; a=1; n=n*a+2 printf(“\n si riportano i risultati”); a=2; n=a+n printf(“la variabile a vale %d, \n ”,a); printf(“la variabile n vale %d”,n); . 4) Spiegare che cosa sono le variabili e i tipi di variabili 5) Spiegare la sintassi e il funzionamento della funzione scanf(); N.b.Nelle operazioni di input e output il programma stampare all’utente cosa deve essere inserito o cosa viene stampato 9