INFORMATICA AIUTO VI PREGO!!!!!!!!!!!!!!

Alf1297
Salve raga,basandovi su questa pseudocodifica potete fare l'algoritmo(di questa pseudocodifica):)?:
Dati 2 numeri determinare se sono positivi o negativi:
Inizio
Scrivi"inserisci un numero"
Leggi"a"
Se a è maggiore di zero allora scrivi a è positivo
Altrimenti scrivi"a è negativo"
Fine

Grazie mille :)!

Risposte
Max 2433/BO
E' un carattere che ho messo per distinguere la variabile alfanumerica da quella numerica (... una vecchia riminiscenza della programmazione in BASIC ;) ) Comunque non è essenziale per l'algoritmo in se stesso, basta che dichiari quali variabili sono numeriche e quali alfanumeriche.

Mi è poi venuto in mente che se si aggiunge una variabile booleana per indicare se il numero è positivo o negativo, si può rendere l'algoritmo ancora più "efficiente"...

:inizio

:inizializzazione variabili

input1$; input2$ variabili di controllo per i numeri inseriti dall'utente (tipo stringa)

numero1; numero2; variabili che conterranno i due numeri digitati (tipo numero: la tipologia del numero trattato dipenderà da che numeri si vogliono confrontare)

numero; variabile utilizzata per la stampa dei risultati (tipo numero)

controllo; variabile utilizzata come "flag" di controllo se positivo o negativo (tipo booleano 0/1)

:input

Qui ci sarà un routine che accetterà da tastiera due numeri digitati dall'utente.
Questi due numeri verranno posti temporaneamente in variabili tipo stringa (input1$ e input2$) per gestire eventuali errori di digitazione

: controllo input

Qui ci sarà una routine che controlla se i caratteri inseriti nelle variabili input1$ e input$2 sono numeri:

input1$ contiene un numero? se si allora trasforma stringa in numero e ponilo nella variabile numero1. altrimenti torna a :input

input2$ contiene un numero? se si allora trasforma stringa in numero e ponilo nella variabile numero2. altrimenti torna a :input

:verifica se positivo o negativo

Qui ci sarà la routine di controllo:

numero = numero1

richiama subroutine : controllo

numero = numero2

richiama subroutine : controllo

:fine


: controllo

numero > 0 ? se si poni controllo = 1 e altrimenti poni controllo = 0

richiama subroutine :stampa negativo

:fine subroutine


:stampa

controllo = 1 ? se si stampa "Il [numero] è positivo" altrimenti stampa "Il [numero] è negativo

:fine subroutine

Alf1297
che significa "$"?

Max 2433/BO
Allora un possibile algoritmo potrebbe essere il seguente:

:inizio

:inizializzazione variabili

input1$; input2$ variabili di controllo per i numeri inseriti dall'utente (tipo stringa)

numero1; numero2; variabili che conterranno i due numeri digitati (tipo numero: la tipologia del numero trattato dipenderà da che numeri si vogliono confrontare)

numero; variabile utilizzata per la stampa dei risultati (tipo numero)

:input

Qui ci sarà un routine che accetterà da tastiera due numeri digitati dall'utente.
Questi due numeri verranno posti temporaneamente in variabili tipo stringa (input1$ e input2$) per gestire eventuali errori di digitazione

: controllo input

Qui ci sarà una routine che controlla se i caratteri inseriti nelle variabili input1$ e input$2 sono numeri:

input1$ contiene un numero? se si allora trasforma stringa in numero e ponilo nella variabile numero1. altrimenti torna a :input

input2$ contiene un numero? se si allora trasforma stringa in numero e ponilo nella variabile numero2. altrimenti torna a :input

:verifica se positivo o negativo

Qui ci sarà la routine di controllo:

numero = numero1

richiama subroutine : controllo

numero = numero2

richiama subroutine : controllo

:fine


: controllo

numero > 0 ? se si richiama subroutine :stampa positivo. altrimenti richiama subroutine :stampa negativo

:fine subroutine


:stampa positivo

Qui ci sarà una routine che stamperà a video qualcosa di simile a:

Il [numero] è positivo

:fine subroutine


:stampa negativo

Qui ci sarà una routine che stamperà a video qualcosa di simile a:

Il [numero] è negativo

:fine subroutine

Ecco questo potrebbe essere un possibile algoritmo sviluppato a prescindere dal linguaggio di programmazione che si andrà ad utilizzare per implementarlo.

Ho usato delle subroutine al fine di evitare di ripetere parti identiche dell'algoritmo.

:hi

Massimiliano

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.