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