02. Progettare algoritmi

Esercizio 1

Si consideri il seguente problema:

    • acquisire 3 numeri interi ed effettuare la somma dei soli numeri positivi

    • stampare la somma precedentemente calcolata

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 -2 7

    • Esecuzione 2: Input -1 -2 -3

────══════♦☆♦══════────

Esercizio 2

Si consideri il seguente problema:

    • acquisire 4 numeri interi ed effettuare il conteggio dei numeri maggiori di zero

    • stampare il conteggio precedentemente calcolato

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 -2 7 -3

    • Esecuzione 2: Input -1 -2 -3 0

────══════♦☆♦══════────

Esercizio 3

Si consideri il seguente problema:

    • acquisire 4 numeri interi positivi e ricerca il massimo

    • stampare il numero precedentemente individuato

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 2 7 3

    • Esecuzione 2: Input 1 9 3 4

────══════♦☆♦══════────

Esercizio 4

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi ed effettuarne la somma

    • terminare la lettura in corrispondenza del primo numero negativo

    • stampare la somma precedentemente calcolata

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 2 7 3 -1

    • Esecuzione 2: Input 1 9 3 4 0 -3


Tutorial

────══════♦☆♦══════────

Esercizio 5

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi e ricercare il massimo

    • terminare la lettura in corrispondenza del primo numero negativo

    • stampare il massimo precedentemente individuato

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 2 7 3 -1

    • Esecuzione 2: Input 1 9 3 4 -1


Tutorial

────══════♦☆♦══════────

Esercizio 6

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi e ricercare il minimo

    • terminare la lettura in corrispondenza del primo numero negativo

    • stampare il minimo precedentemente individuato

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 2 7 3 -1

    • Esecuzione 2: Input 5 9 3 4 2 -1


Tutorial

────══════♦☆♦══════────

Esercizio 7

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi o negativi

    • terminare la lettura in corrispondenza del numero 0

    • memorizzare nella variabile P la somma dei soli numeri positivi e nella variabile N la somma dei negativi

    • stampare le somme precedentemente calcolate

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 -2 7 -3 -1 0

    • Esecuzione 2: Input 5 9 3 -4 2 -1 0

────══════♦☆♦══════────

Esercizio 8

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi o negativi

    • terminare la lettura in corrispondenza del numero 0

    • memorizzare nella variabile P la somma dei soli numeri positivi

    • memorizzare nella variabile TOT la somma di tutti i numeri inseriti

    • stampare le somme precedentemente calcolate

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 4 -2 7 -3 -1 0

    • Esecuzione 2: Input 5 9 3 -4 2 -1 0

────══════♦☆♦══════────

Esercizio 9

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi o negativi

    • terminare la lettura in corrispondenza del numero 0

    • mediante la variabile CONT effettuare il conteggio di quante volte è stato inserito il numero 3 o il numero 4

    • stampare la variabile CONT

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 2 -5 4 3 1 3 0

    • Esecuzione 2: Input -3 0

────══════♦☆♦══════────

Esercizio 10

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi positivi o negativi

    • effettuare la somma dei numeri acquisiti

    • terminare la lettura quando la somma è maggiore di 100

    • mediante la variabile CONT effettuare il conteggio di quante volte è stato inserito un numero positivo

    • stampare la variabile CONT

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 2 -5 70 50

    • Esecuzione 2: Input 100 -1 1 1


Tutorial

────══════♦☆♦══════────

Esercizio 11

Si consideri il seguente problema:

    • acquisire ciclicamente due numeri interi positivi nelle variabili A, B

    • effettuare la somma dei numeri acquisiti

    • terminare quando risulta che (A div int B) è maggiore o uguale a 10

    • stampare la somma calcolata

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input A=2 B=5; A=3 B=1; A=34 B=3

    • Esecuzione 2: Input A=99 B=2

Nota

div int denota la divisione intera tra numeri interi. Ad esempio 11 div int 5 dà come risultato 2.

────══════♦☆♦══════────

Esercizio 12

Si consideri il seguente problema:

    • acquisire ciclicamente un numero intero positivo nella variabile A

    • effettuare la somma di tutti i numeri acquisiti che risultano essere pari

    • effettuare la somma di tutti i numeri acquisiti che risultano essere dispari

    • terminare in corrispondenza di A=0

    • stampare le somme calcolate

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 5 7 9 12 4 0

    • Esecuzione 2: Input 0

Nota

Per determinare se un un numero è pari o dispari utilizzare l'operatore MODULO. Questo operatore, applicato a due numeri interi positivi, restituisce il resto della divisione. Ad esempio (10 MODULO 7) vale 3.

Se risulta (A MODULO 2)=0 allora il numero è pari, in caso contrario è dispari.


Tutorial

────══════♦☆♦══════────

Esercizio 13

Si consideri il seguente problema:

    • acquisire ciclicamente un numero intero positivo nella variabile A

    • se il numero è negativo, ignora l'input

    • effettuare la somma delle cifre delle unità di tutti i numeri acquisiti

    • terminare in corrispondenza di A=0

    • stampare la somma calcolata

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 15 27 0

    • Esecuzione 2: Input 3 -2 125 0

Nota

Per estrarre la cifra dell'unità da un numero intero contenuto nella variabile A, utilizzare l'operatore MODULO. Questo operatore, applicato a due numeri interi positivi, restituisce il resto della divisione. Ad esempio (10 MODULO 7) vale 3.

Procedere nel seguente modo:

U <- (A MODULO 10)

────══════♦☆♦══════────

Esercizio 14

Si consideri il seguente problema:

    • acquisire ciclicamente un numero intero nella variabile A

    • effettuare la somma di tutti i numeri pari acquisiti

    • effettuare la somma di tutti i numeri positivi acquisiti

    • effettuare la somma di tutti i numeri acquisiti

    • terminare in corrispondenza di A=0

    • stampare le somme calcolate

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 15 4 -27 0

    • Esecuzione 2: Input -1 3 -2 125 0

Nota

Per determinare se un un numero è pari o dispari utilizzare l'operatore MODULO.

────══════♦☆♦══════────

Esercizio 15

Si consideri il seguente problema:

    • acquisire ciclicamente un numero intero nella variabile A

    • effettuare il prodotto di tutti i numeri positivi acquisiti

    • effettuare la somma di tutti i numeri negativi acquisiti

    • effettuare la somma di tutti i numeri pari positivi acquisiti

    • terminare in corrispondenza di A=0

    • stampare le somme calcolate

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 15 4 -27 0

    • Esecuzione 2: Input -1 3 -2 125 0

Nota

Per determinare se un un numero è pari o dispari utilizzare l'operatore MODULO.

────══════♦☆♦══════────

Esercizio 16

Si consideri il seguente problema:

    • acquisire ciclicamente un numero intero nelle variabili A e B fino a quando risulta A diverso da B

    • nella variabile SOMMA1 effettuare la somma di tutti i numeri acquisiti con la variabile A

    • nella variabile SOMMA2 effettuare la somma di tutti i numeri acquisiti con la variabile B

    • in uscita dal ciclo:

      • se SOMMA1>SOMMA2 calcolare la differenza SOMMA1-SOMMA2 e stampare il risultato

      • se SOMMA1<=SOMMA2 calcolare la differenza SOMMA2-SOMMA1 e stampare il risultato

    • terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input A=1 B=2; A=-1 B=3; A=9 B=9

    • Esecuzione 2: Input A=1 B=-2; A=-1 B=-3; A=-10 B=-10

────══════♦☆♦══════────

Esercizio 17

Si consideri il seguente problema:

    • acquisire le misure dei 3 lati di un triangolo rettangolo

    • determinare le misure dei cateti e memorizzarle nelle variabili CATETO1 e CATETO2

    • determinare la misura dell'ipotenusa e memorizzarla nella variabile IPOTENUSA

    • Se risulta CATETO12+CATETO22 = IPTENUSA2 stampare il messaggio "Verifica OK", altrimenti stampare il messaggio "Verifica KO"

    • terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 5 4

    • Esecuzione 2: Input 9 8 7

────══════♦☆♦══════────

Esercizio 18

Si consideri il seguente problema:

    • acquisire ciclicamente dei numeri interi fino a quando non viene inserito nuovamente lo stesso numero inserito la prima volta (ad esempio 5 11 6 -2 5)

    • effettuare la somma di tutti i numeri inseriti ad esclusione del primo

    • stampare la somma calcolata e terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 5 4 3

    • Esecuzione 2: Input 1 1

────══════♦☆♦══════────

Esercizio 19

Si consideri il seguente problema:

    • acquisire un numero intero positivo nella variabile N

    • acquisire ciclicamente N numeri interi effettuando la somma dei soli numeri pari

    • stampare la somma calcolata e terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 2 4 1

    • Esecuzione 2: Input 1 1


Tutorial

────══════♦☆♦══════────

Esercizio 20

Si consideri il seguente problema:

    • acquisire un numero intero positivo nella variabile N

    • acquisire ciclicamente N numeri interi verificando se i numeri sono inseriti in modo consecutivo (ordine crescente), ad esempio 4 5 6 7...

    • stampare il messaggio "numeri consecutivi" oppure "numeri non consecutivi" a seconda dei casi e terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 2 3 4

    • Esecuzione 2: Input 1 1


Tutorial

────══════♦☆♦══════────

Esercizio 21

Si consideri il seguente problema:

    • acquisire un numero intero positivo nella variabile N

    • acquisire ciclicamente N numeri interi verificando se i numeri sono inseriti in ordine crescente, ad esempio 3 8 9 11...

    • stampare il messaggio "ordine crescente" oppure "ordine sparso" a seconda dei casi e terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 5 7 9

    • Esecuzione 2: Input 1 1

────══════♦☆♦══════────

Esercizio 22

Si consideri il seguente problema:

    • acquisire un numero intero positivo nella variabile N

    • acquisire ciclicamente N numeri interi verificando se tutti i numeri inseriti sono pari

    • stampare il messaggio "numeri pari" oppure "numeri qualsiasi" a seconda dei casi e terminare l'esecuzione

Rappresentare tramite un diagramma di flusso un algoritmo che risolve il problema dato.

Contrassegnare con un numero ciascun blocco e mostrare con l'ausilio di una tabella l'esecuzione passo passo del diagramma di flusso quando in input sono forniti i seguenti valori:

    • Esecuzione 1: Input 3 5 7 8

    • Esecuzione 2: Input 1 2