Notifiche
Cancella tutti

Informatica

  

0

Data la sequenza di N numeri interi, calcola la somma dei pari e il prodotto dei dispari 

Autore
3 Risposte



2
Diagramma

se qualche passaggio non risultasse chiaro basta chiedere. Inoltre se puoi specificare anche il linguaggio da utilizzare in questione.

@mark04 grazie ❤️



1

Sarebbe stato meglio se tu ti fossi dilungato un pochino di più. cosa devi fare? un diagramma di flusso o scrivere un programma che faccia quello che chiede l'esercizio? se devi scrivere un programma, in quale linguaggio?

@sebastiano mi scusi devo fare un diagramma di flusso per fare l’esercizio 

 

@mark04 @aadriana

come mai mi avete votato negativamente? cosa non vi è piaciuto nella mia risposta?



0

L'elemento neutro dell'addizione è lo zero.
L'elemento neutro della moltiplicazione è lo zero.
Perciò
* la somma di zero numeri pari vale zero
* il prodotto di zero numeri dispari vale uno
Fin qui è aritmetica, indipendente dai paradigmi di prorammazione.
Questi sono i valori con cui inizializzare le due variabili di output in una codifica imperativa o con cui innescare la ricorsione in una codifica funzionale.
------------------------------
Interpreto la frase "Data la sequenza di N numeri interi" con N intero non negativo (la cardinalità di un insieme può essere zero o positiva) nel senso che esiste un'entità globale S con le seguenti minime capacità d'ispezione e modifica.
* vuoto(S): vale falso se S ha almeno un elemento, vero altrimenti.
* estratto(S): se non vuoto(S) vale un elemento di S, con l'effetto collaterale che S ne viene privato, se non vuoto(S); se invece vuoto(S), abortisce tutto.
nell'ipotesi che l'insieme S sia una sequenza invece di estratto(S) si può definire una coppia di funzioni (che, se vuoto(S), abortiscono tutto)
* testa(S): se non vuoto(S) vale il primo elemento di S
* coda(S): se non vuoto(S) S privato del primo elemento
Nell'ipotesi che S possa anche essere un'entità non di memoria, ma di input occorre anche prevedere la possibilità di "abort" e/o di "break" e/o di "continue" per errore di tipo di un elemento: o un linguaggio con variabili tipizzate o funzioni boolean d'ispezione: ai fini di questo esercizio, basta avere sull'elemento E la funzione
* intero(E): vale falso se E non è un intero relativo, vero altrimenti.
In ogni caso occorre almeno una di
* pari(E)
* dispari(E)
con ovvio significato.
------------------------------
ESEMPIO IMPERATIVO
0) definire "esercizioClaudineAgostino" come segue.
1) porre SommaPari = 0
2) porre ProdottoDispari = 1
3) se vuoto(S) proseguire da 4
3a) porre n = estratto(S)
3b) se non intero(n) proseguire da 3
3c) se pari(n) proseguire da 3d
3c1) porre ProdottoDispari = n*ProdottoDispari
3c3) proseguire da 3
3d) porre SommaPari = n + SommaPari
3d1) proseguire da 3
4) emettere all'ambiente i valori di SommaPari e ProdottoDispari
5) terminare
------------------------------
ESEMPIO FUNZIONALE: si attiva il calcolo con "esercizioCA(S, 0, 1)"
--------
0) definire "esercizioCA(S, Somma, Prodotto)" come segue.
1) se vuoto(S): (Somma, Prodotto)
2) se pari(testa(S)): esercizioCA(coda(S), Somma + testa(S), Prodotto)
3) se dispari(testa(S)): esercizioCA(coda(S), Somma, Prodotto*testa(S))



Risposta