Il 0% ha trovato utile questo documento (0 voti)
8 visualizzazioni6 pagine

Tut 01

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
8 visualizzazioni6 pagine

Tut 01

Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 6

Corso di Algoritmi e Strutture Dati (IN110)

Tutorato n. 1
Marco Liverani*

Esercizio n. 1
Letti due numeri interi positivi h e k (0 < h < k), stampare la somma h + (h + 1) + (h + 2) + . . . + k.

Diagramma di flusso

Start

Leggi h, k

s=0

i=h

No
i <= k

s = s+i

i = i+1

Scrivi s

Stop

* Università degli Studi Roma Tre, Corso di Laurea in Matematica, Corso di Algoritmi e Strutture Dati (IN110); e-mail
[email protected] – sito web del corso http://www.mat.uniroma3.it/users/liverani/IN110/

1
Pseudo-codifica dell’algoritmo
1: leggi h, k
2: s =0
3: i =h
4: fintanto che i ≤ k ripeti
5: s = s +i
6: i = i +1
7: fine-ciclo
8: scrivi s
9: stop

Codifica in linguaggio C
 
1 #include <stdlib.h>
2 #include <stdio.h>
3

4 int main(void) {
5 int i, s, h, k;
6 printf("Inserisci h e k: ");
7 scanf("%d %d", &h, &k);
8 s = 0;
9 for (i=h; i<=k; i++) {
10 s = s+i;
11 }
12 printf("La somma e’ %d.\n", s);
13 return(0);
14 }
 

2
Esercizio n. 2
Letto un numero intero positivo n stampare il fattoriale: n! = 1 · 2 · 3 · . . . · n.

Diagramma di flusso

Start

Leggi n

f=1

i=1

No
i <= n

f = f*i

i = i+1

Scrivi f

Stop

Pseudo-codifica dell’algoritmo
1: leggi n
2: f =1
3: i =1
4: fintanto che i ≤ n ripeti
5: f = f ·i
6: i = i +1
7: fine-ciclo
8: scrivi f
9: stop

3
Codifica in linguaggio C
 
1 #include <stdlib.h>
2 #include <stdio.h>
3

4 int main(void) {
5 int i, n, f;
6 printf("Inserisci il valore di n: ");
7 scanf("%d", &n);
8 f = 1;
9 for (i=1; i<=n; i++) {
10 f = f*i;
11 }
12 printf("%d! = %d\n", n, f);
13 return(0);
14 }
 

4
Esercizio n. 3
Letto n > 0 intero, stampa i primi n numeri della successione di Fibonacci: x 1 = 1, x 2 = 1, x k = x k−2 +
x k−1 per k > 2.

Diagramma di flusso

Start

Leggi n

a = 1, b = 1

Scrivi a, b

i=2

No
i<n

Sì Stop

c = a+b

Scrivi c

a=b
b=c

i = i+1

5
Pseudo-codifica dell’algoritmo

1: leggi n
2: a = 1, b = 1
3: scrivi a, b
4: per i = 2, 3, . . . , n − 1 ripeti
5: c = a +b
6: scrivi c
7: a = b, b = c
8: fine-ciclo
9: stop

Codifica in linguaggio C
 
1 #include <stdlib.h>
2 #include <stdio.h>
3

4 int main(void) {
5 int n, i;
6 long a, b, c;
7 printf("Inserisci un numero intero positivo: ");
8 scanf("%d", &n);
9 a = 1;
10 b = 1;
11 printf("%ld %ld ", a, b);
12 for (i=2; i<n; i++) {
13 c = a+b;
14 printf("%ld ", c);
15 a = b;
16 b = c;
17 }
18 return(0);
19 }
 

Potrebbero piacerti anche