• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
4
0
0

Testo completo

(1)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

FONDAMENTI DI INFORMATICA

Prof. PIER LUCA MONTESSORO

Facoltà di Ingegneria Università degli Studi di Udine

Linguaggio C

Esercizi sulle strutture di controllo

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Equazione di secondo grado

• Si scriva un programma in linguaggio C che legga da tastiera i parametri a, b e c di un’equazione di secondo grado e ne stampi le radici:

2 + bx + c = 0 ax

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Elevamento a potenza

• Si scriva un programma in linguaggio C che legga da tastiera due numeri interi a e b e stampi a b effettuando il calcolo mediante moltiplicazioni successive.

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5

Fattoriale

• Si scriva un programma C che legga da tastiera un numero n e stampi n!

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6

Successione di Fibonacci

• La successione di Fibonacci è cosí definita:

F 0 = 0 F 1 = 1

F n = F n-1 + F n-2

• Si scriva un programma C che legga da

tastiera n e stampi i numeri di Fibonacci

da F 0 a F n .

(2)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7

Conta i favorevoli

• Si scriva un programma per una votazione: il programma legge da tastiera un voto alla volta, finché non viene inserito il carattere ‘X’ (eXit) e stampa il numero dei favorevoli, il numero dei contrari e il numero degli astenuti.

Voto favorevole: f, F, s, S, y, Y Voto contrario: c, C, n, N Voto astenuto: a, A, -

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8

Massimo e minimo

• Scrivere un programma per calcolare il massimo tra n numeri interi inseriti da tastiera

• Scrivere un programma per calcolare il minimo tra n numeri interi inseriti da tastiera

• Scrivere un programma per calcolare il massimo e il minimo tra n numeri interi inseriti da tastiera

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9

Massimo e secondo massimo

• Scrivere un programma per calcolare il massimo e il secondo massimo tra n numeri interi inseriti da tastiera

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10

Ricerca di un valore (I)

• Si scriva un programma che cerchi un valore dato in una sequenza di numeri interi inseriti da tastiera (si assuma che il primo numero rappresenti la

lunghezza della sequenza) e stampi se il numero è stato trovato oppure no

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11

Ricerca di un valore (II)

• Si scriva un programma che cerchi un valore dato in una sequenza di numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza) e stampi quante volte il numero è stato trovato

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12

Ricerca del valore più vicino

• Si scriva un programma che cerchi in una sequenza di numeri interi inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della

sequenza) quello di valore più vicino ad

un numero dato e lo stampi

(3)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13

Lettura di un numero intero

• Si scriva un programma per leggere da tastiera un numero intero positivo in base 10 e memorizzarlo in una variabile.

• Il numero è introdotto cifra per cifra e letto con la funione getchar(), e quindi ogni

operazione di input restituisce il codice ASCII di una cifra del numero, ovviamente a partire da quella più significativa. Il numero termina con il codice ASCII “carriage return” ('\n').

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14

MCD

• Si scrivano due programmi C per calcolare il massimo comun divisore tra due numeri inseriti da tastiera

utilizzando due diversi algoritmi:

– decrementi successivi – metodo di Euclide

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15

MCD (m, n) mediante decrementi successivi

MCD = minimo tra m ed n

controlla se m e n sono entrambi divisibili per MCD:

se sì, stampa e termina;

se no, decrementa di 1 MCD e ripeti (finché MCD non diventa 1)

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16

MCD (m, n) tramite il metodo di Euclide

n1 = n;

m1 = m;

while (n1 è diverso da m1) {

sottrai dal maggiore tra n1 e m1 l’altro numero

}

alla fine del ciclo n1 (o m1, avendo lo stesso valore) è il MCD

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17

Radice quadrata con il metodo di Newton

n1 = n; /* n è il radicando */

n2 = 1;

while (|n1 - n2| è maggiore della precisione cercata) {

n1 = (n1 + n2) / 2;

n2 = n / n1;

}

• Si scriva un programma C per calcolare, tramite il metodo di Newton, la radice quadrata di un intero n.

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18

wc

Si scriva il programma wc.c che implementa il comando wc di UNIX.

Esso conta il numero di linee, parole, caratteri letti dallo “standard input” (la tastiera).

Il testo sia terminato da CONTROL-D (EOF).

NOTA: in alcuni ambienti EOF è associato a

CONTROL-Z

(4)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19

wc Esempio:

C:\PROGRAMMI> wc Testo di prova su due righe

2 6 28

C:\PROGRAMMI>

Riferimenti

Documenti correlati

Infine recentemente, analizzando 132 carcinomi del colon-retto, caratterizzati da instabilità cromosomica (CIN), sono state identificate 11 mutazioni somatiche in quattro

• Si scriva in forma testuale un algoritmo che cerchi in una sequenza di numeri inseriti da tastiera (si assuma che il primo numero rappresenti la lunghezza della sequenza) quello

Istogramma orizzontale Si scriva un programma che legga da tastiera una sequenza di numeri interi di valore compreso tra 0 e 99 e stampi (in orizzontale) l’istogramma che rappresenta

Una popolazione di batteri, inizialmente composta da 8 ∗ 10 4 unit` a, cresce giornalmente del 70% per 4 giorni, quindi decresce del 50% giornaliero per 3 giorni.. Qual `e

Dopo altri 4 secondi il secondo motore si arresta automaticamente e il primo riparte, ruotando nel senso definito "INDIETRO".. Sei secondi più tardi il primo motore

L’allievo dovrà elaborare gli schemi di collegamento ed il programma per il PLC, digitare il programma medesimo e collaudarlo in condizioni simulate, realizzare il cablaggio

[r]

• Si scriva un programma in linguaggio macchina (in binario) per la lettura di una sequenza di caratteri da tastiera. • Si