Traduzione da PLIKE in C

Messaggioda Enzo96 » 17/02/2017, 17:44

Salve, volevo confrontare alcuni esercizi in PLIKE, il mio problema è che non so come tradurli in C... per cortesia, qualcuno lo sa fare? Inoltre, sono corretti scritti in questa maniera? Lascio le tracce... Grazie!
1) Siano dati due array 2D, Tablet_negozio, di dimensioni Kx2 , e Tablet_deposito , di dimensioni Yx2, entrambi di tipo intero. In questi array sono memorizzati, per ciascuna riga, nella colonna 1 il codice di un Tablet, e nella colonna 2 quanti Tablet di quel tipo sono presenti, rispettivamente, in negozio ed in deposito. Le righe di entrambi gli array sono ordinate per codice del Tablet. Progettare in P_like un algoritmo, sotto forma di procedure (procedure Quantita_Tablet), che fornisca come risultato un array 2D Totale_Tablet che, sempre rispettando l'ordine secondo il codice-Tablet, nella colonna 2 indichi quanti Tablet, per ciascun tipo, sono disponibili in totale (tra negozio e deposito).
Immagine
2) Si consideri la successione:
a1=0 a2=1 a3=2 an=an-1+2an-2+an-3 per n>3
Progettare un algoritmo in P-like, sotto forma di procedure (procedure somma_elementi_uguale_numero (in:k,NUMERO,out:somma,valore,posizione) ) che controlli se, sommando a mano a mano gli elementi di posto pari della successione si trovi che tale somma sia uguale a NUMERO (si supponga NUMERO>2=, restituendo in tale caso attraverso la variabile logica somma, il valore TRUE, attraverso la variabile valore,NUMERO, e attraverso la variabile posizione la posizione che l'ultimo elemento sommato occupa nella successione; altrimenti, restituisca FALSE, ed indichi inoltre, in valore e posizione, valore e posizione dell'ultimo elemento sommato che più fa avvicinare la somma a NUMERO.
Immagine
3) Dato un array 2D A di tipo intero,di dimensione ALPHAxBETA, con ALPHA pari, BETA>5, progettare in P-like un algoritmo, sotto forma di function logica, (quattro_elementi_uguali_somma_altri (A, ALPHA, BETA) ) che restituisca TRUE se la somma del primo, terzo, quarto, e penultimo elemento di tutte le righe pari è uguale alla somma dei restanti elementi della medesima riga, FALSE altrimenti.
Immagine
4) Sia dato un array 2D A di tipo integer, di dimensioni HxK. Progettare in P-like un algoritmo sotto forma di function di tipo logical (function sommaRIGA_uguale_elemento) che restituisca TRUE se la somma degli opposti degli elementi di una riga è uguale ad uno degli elementi della riga successiva, FALSE altrimenti.
Immagine
Enzo96
Starting Member
Starting Member
 
Messaggio: 1 di 6
Iscritto il: 17/02/2017, 16:36

Re: Traduzione da PLIKE in C

Messaggioda apatriarca » 18/02/2017, 21:23

E' la prima volta che sento parlare di un linguaggio di programmazione chiamato PLIKE (e non compare neanche su wikipedia inglese..). Hai scritto il nome correttamente? Sarebbe una specie di pseudo-linguaggio presente in qualche libro? Sarebbe utile fornire qualche ulteriore riferimento. Non sembra un linguaggio difficile da leggere e probabilmente sarei in grado di tradurre queste funzioni in C, non mi è tuttavia chiaro il motivo per cui tu voglia fare la conversione.

EDIT: E' possibile inserire codice formattato nel forum invece di immagini..
apatriarca
Moderatore
Moderatore
 
Messaggio: 4545 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Traduzione da PLIKE in C

Messaggioda Enzo96 » 19/02/2017, 03:18

E' un linguaggio simile al Pascal. Il motivo per cui mi serve la conversione è che devo consegnare questi esercizi per lunedi/martedi... per farlo ho iniziato a studiare il C, ma non penso di riuscirci in tempo... ecco perchè ho chiesto qui.
Enzo96
Starting Member
Starting Member
 
Messaggio: 2 di 6
Iscritto il: 17/02/2017, 16:36

Re: Traduzione da PLIKE in C

Messaggioda apatriarca » 19/02/2017, 04:27

Ma gli esercizi andavano quindi scritti in C? Perché li hai scritti in questo linguaggio?
apatriarca
Moderatore
Moderatore
 
Messaggio: 4546 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Traduzione da PLIKE in C

Messaggioda insideworld » 19/02/2017, 12:01

inizia a scrivere al posto di:= semplicemente =
metti ; a fine di ogni riga e cercati la sintassi dei comandi if, while e for.
ad esempio
Codice:
if (condizione){
//righe eseguite in caso affermativo

}


oppure
Codice:
 if (condizione){
 //righe eseguite in caso affermativo

}else{
 //righe nel caso "else"
}

in pratica si usa la { al posto dei then e la } al posto degli endif o endfor...

p.s. ricordati i ; alla fine di ogni riga con codice scritto
Codice:
int a=0;
if(a=0){
printf("a ha valore nullo");
}
Avatar utente
insideworld
Junior Member
Junior Member
 
Messaggio: 48 di 306
Iscritto il: 13/01/2017, 15:24

Re: Traduzione da PLIKE in C

Messaggioda Enzo96 » 19/02/2017, 15:40

apatriarca ha scritto:Ma gli esercizi andavano quindi scritti in C? Perché li hai scritti in questo linguaggio?

Dovevano essere scritti sia in C che in questo linguaggio. Però che dovevano andare scritti in C mi e stato detto tipo 2 giorni fa... ed io con C sto più o meno a zero :/
Enzo96
Starting Member
Starting Member
 
Messaggio: 3 di 6
Iscritto il: 17/02/2017, 16:36

Re: Traduzione da PLIKE in C

Messaggioda insideworld » 19/02/2017, 15:46

Enzo inizia a fare quelle sostituzioni e a guardare la sintassi in C di quelle funzioni che hai fatto, poi posta e ti correggiamo gli errori.
Sono sotto esame e non posso fartelo da zero :D
Avatar utente
insideworld
Junior Member
Junior Member
 
Messaggio: 51 di 306
Iscritto il: 13/01/2017, 15:24


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite