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 B 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 B Compito di Ottobre A) 1) Realizzare un programma in linguaggio C che svolge le seguenti operazioni: riportare il diagramma di flusso. a. Definisce le variabili necessarie b. Legge n numero intero da tastiera c. Legge m numero intero da tastiera d. Effettua la divisione tra interi n/m, calcola la divisione e il resto intero della divisione e stampa i risultati indicando cosa viene stampato e. Stampa multiplo di 5 se il numero N inserito è multiplo di 5 2) Realizzare un programma in linguaggio C, che svolge le seguenti operazioni: a. Dichiara le variabili necessarie b. Legge 4 importi , importo1, importo2, importo3, importo4 c. Calcola l’importo totale , (e stampa il valore) d. Calcola l’importo medio ( e stampa il valore) e. Se l’importo totale è maggiore di 2000 si effettua uno sconto del 20% altrimenti del 5% f. Stampa ImportoScontato, ScontoVal g. 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 la variabile n vale %d”,a,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 6 2 B compito Dicembre Fila B Esercizio1 Scivere un linguaggio in linguaggio c che svolge le seguenti operazioni, definisce le variabili necessarie, il programma deve comunicare con l’utente indicando le operazioni che svolge 1) Legge un numero intero N da tastiera 2) Somma i primi N numeri multipli di 5 3) Stampa la somma ottenuta 4) Se la somma è compresa nell’intervallo [30,50] o [70,80] stampa “buono” Esercizio 2 Scrivere un programma in linguaggio c che consenta di calcolare il peso medio dei giocatori di una classe, il programma richiede: definisce le variabili in maniera idonea , (utilizzare come variabili contatore variabili int, variabili alpeso somma, media float) 1) Il numero dei giocatori 2) il peso di ogni giocatore somma tutti i pesi 3) Stampa la somma dei pesi 4) Calcola il peso medio e stampa il valore trovato Se il peso_media è minore di 50 Kq, stampa “peso molto bassa” Se peso_media>=50, ma peso_media <60 stampa “peso media bassa” Se peso_media>=160, ,ma peso_media <170 stampa “peso media alta” Se peso_media>=170 stampa “peso medio alto”; Esercizio 3 Scrivere un programma in linguaggio che consente di inserire n°3 numeri con la virgola 1) Inserisce i 3 numeri 2) Ordina i numeri in modo decrescente , stampa i numeri in ordine decrescente 3) Spampa il valore massimo Esercizio 4 spiegare l’istruzione if() come si usa e a cosa serve 7 2 B compito Marzo (svolto in laboratorio) Fila A Esercizio A Definire le variabili necessarie interi, i, n, somma, ecc. Esercizio A 1) Stampare “Punto 1 Cognome” Inserire un numero n da tastiera stampare tutti i numeri che vanno da 1 a n, sommare tutti i numeri che vanno da 1 a n, stampare la somma “ porre a 0 tutte le variabili utilizzate” 2) Stampare “Punto 2 Cognome” Si vuole generare una sequenza di numeri random() compresi da 10 a 20 Si interrompe la sequenza ( si esce dal ciclo ) quando la somma dei numeri estratti è maggiore di 100, stampare la somma e il numero dei numeri estratti. 3) Stampare “Punto 3 Cognome” Inserire un numero da tastiera sommare tutti i numeri multipli di 3 compresi da 0 al numero inserito “ porre a 0 tutte le variabili utilizzate” Esercizio B Inserire la libreria # include <math.h> Definire le variabili float e int necessarie Esercizio A 1) Stampare “Punto 1 Cognome” Inserire i cateti di un triangolo rettangolo , calcolare l’ipotenusa , Stampare l’ipotenusa 2) Stampare “Punto 2 Cognome” Elevare l’ipotenusa alla potenza 1.5 (ipotenusa1.5 ) stampare il valore “ porre a 0 tutte le variabili utilizzate” 3) Stampare “Punto 3 Cognome” Definire le variabili dato, e somma2 di tipo float Si vuole inserire una una sequenza di numeri (float ) da tastiera , sommare i numeri inseriti. Si esce dal ciclo quando si inseriscono 5 numeri o quando si inserisce il numero 0. Stampare la somma dei numeri inseriti 8 2 B Maggio Compito Fila A 1)Scrivere un programma in linguaggio c che svolge le seguenti operazioni: g) Permette l’inserimento di un numero intero chiamato “valore” intero da tastiera h) Se valore = 3 il programma richiede un numero e stampa tutti i numeri moltiplicati 2 che vanno dal numero inserito a 0 , i numeri vengono stampati in verticale Esempio viene inserito il numero 5 e si stampa 5*2 4*2 … i) Se valore =6 il programma richiede un numero da intero tastiera, estrae un numero random da 10 a 20 e stampa ok se i due numeri sono diversi j) Se il numero inserito è diverso da i numeri previsti nel meno , si stampa “dato non previsto “ e si esce dal programma 2)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 di ogni singolo giocatore b) Si esce dal ciclo quando si inserisce un’altezza <0 c) Il programma calcola somma totale delle altezze d) Il programma calcola l’altezza media e) L’altezza minima f) L’altezza massima g) Stampare i valori Il programma non deve considerare le altezze negative nel calcolo dei parametri calcolati ( svolgere con do ….while())) 3) Scrivere un programma in linguaggio c che mi consenta di inserire N coppie di 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 coppie di punti di coordiante x,y, (x1,y1) e (x2,y2) c) Calcola la distanza tra ogni coppia di punti d) Somma tutte le distanze tra i due coppie di punti e) Conta quante sono le distanze tra due punti minori di 1 f) Stampa tutti i valori Descrivere le differenze tra l’istruzione while() .. e do while(), anche con degli esempi 9