INFORMATICA AIUTO VI PREGO!!!!!!!!!!!!!!
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 :)!
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
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
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
che significa "$"?
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
: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