Newsgroup: it.comp.lang.pascal
Titolo: domande...

salve a tutti!!! (specialmente a carletto)
oggi ho avuto la terzultima prova scritta di informatica...
beh, 16 domandine in un'ora e le ho sparate un po a caso (nn tutte, solo
alcune..)...
solo che ora ho dei mega dubbi...
insomma...
io vi do le mie domande, con un mio commentino, vio potete dirmi qlcs in piů
a riguardo???
grazie...
1. che cosa sono le funzioni standard e come vanno usate? (*una funzione so
cosč, ma quella standard nn so cosa sia..io credevo fosse la stessa cosa, ma
la prof ha detto di NO*)
2. perchč la definizione di Array in Turbo Pascal puň contenere solo
costanti? (* io credevo che l'array fosse una variabile dato che la
scriviamo nelle variabili...*)
3.quali sono gli svantaggi nell'uso delle procedure? (*durante il compito, e
tutt'ora, nn me ne vengono in mente...*)
Le altre presapoco le so.... speriamo in bene per il mio compito...
grazie a tutti!!!!
--
kiakim [nat]

 ha scritto nel messaggio
news:abgor2$9rb$1...@newsreader.mailgate.org...

Mi sa che hai fatto un pň di confusione natasha...
Alla prima devo ammetterlo NON SO RISPONDERE (sigh).
Alla seconda hai confuso dichiarazione delle variabili con il loro uso...
Quando tu dikiari un array puoi scrivere
Const Lunghezza=15;
A:Array[1..Lunghezza]Of Integer;
NON puoi scrivere;
Var Lunghezza;
A:Array[1..Lunghezza]Of Integer;
Perchč nel secondo caso lunghezza non č definita e il compilatore che alloca
lo spazio in memoria non sa di quanto fare l'array...
In quel caso dovresti usare l'allocazione dinamica ma č un altro fatto...
Il problema č che gli array *sono* variabili, č Lunghezza che come nel caso
sopra non puň esserlo...
Capito?
Per la terza non mi sembra una domanda logica... Spero di non sbagliarmi ma
le funzioni sono funzioni e le procedure sono procedure... Sono due cose
distinte non possono essere confrontate, ognuno ha il suo compito...
Se mi sbaglio attendo chiarimenti anche io dagli altri...
Ciao
--
----------------------------------------
Carlo Camarda
chiamac...@tiscalinet.it
]@#[ Anna I Love You ]#@[

 Ciao
ciao carlo!
---
kiakim

Le altre presapoco le so.... speriamo in bene per il mio compito...
Domanda sballata.
Svantaggi in confronto a cosa?
A me "l'uso delle procedure" fa venire in mente solo vantaggi ;) 

 A me "l'uso delle procedure" fa venire in mente solo vantaggi ;)
pure a me, infatti la domanda l'ho lasciata vuota...o meglio, le ho scritto
un vantaggio dandolo per svantaggio (la divisione di un problema in tanti
piccoli problemi)..
ma, giuro, la domanda è quella...
---
kiakim

 ha scritto nel messaggio
news:abgucn$g90$1...@newsreader.mailgate.org...

Bhe intendo dire che il numero di elementi dell'array deve essere una
costante e non che gli elementi sono delle costanti...
Va bene ora?


ma, giuro, la domanda è quella...
Era più giusto scrivere: "la divisione di un problema complesso in
tanti piccoli problemi più semplici" altrimenti è davvero uno
svantaggio :-))))
Forse si intendeva in confronto alle funzioni, ma in quel caso lo
svantaggio è proprio dalla parte dell'uso delle funzioni, in quanto
leggermente sono più lente. Infatti la chiamata a funzione è più lenta
di una chiamata a procedura in quanto la funzione deve perdere un po
di tempo per allocare in memoria lo spazio per la variabile di
ritorno.

 A me "l'uso delle procedure" fa venire in mente solo vantaggi ;)
bah.. vorrà dire svantaggi nei confronti delle funzioni no? ovvio.. se non è
così la prof è strana.. digli di spiegarsi..
Lo svantaggio è che una procedura non la puoi usare in una espressione,
tutto qua.
a=funz(a)
non lo puoi mica fare con una procedura... è tutto qui. le funzioni sono
meglio..
io preferisco usare funzioni al posto di procedure.. adesso non ricordo se
in pascal
una funzione deve *necessariamente* restituire un valore o se da errore
altrimenti..
in C c'è la bella dichiarazione void e tutto finisce li, funzioni e
procedure diventano
la stessa cosa. Però C e C++ sono una cosa, Pascal è tutt'altro.. Pascal
vuole ha delle
richieste/limitazioni abbastanza fastidiose.. vabbè é fatto così non ci
possiamo far niente..
bye bye..
Cereal
--
--------------------------------------------------------------
It took the computing power of three C-64s to fly to the Moon.
It takes a 486 to run Windows 95. Something is wrong here.
--------------------------------------------------------------

richieste/limitazioni abbastanza fastidiose.. 
Per esempio?

richieste/limitazioni abbastanza fastidiose..
Pascal è un linguaggio molto più fiscale del C o C++, forse lui questo
intendeva
^_][ice][man][_^
--
=======================
Non approvo ciò che tu dici,
ma difenderò a costo della
mia vita il tuo diritto a dirlo ( Voltaire )
=======================

 Per esempio?
prometto che ti faccio una lista.. dammi il tempo.. ora vado di fretta
Bye Cereal

prometto che ti faccio una lista.. dammi il tempo.. ora vado di fretta
Ciao :)

 Le altre presapoco le so.... speriamo in bene per il mio compito...
3) ci provo io e la butto la':
forse perche' con le funzioni non posso fare una cosa del genere
x:=nome(z);
cosa che posso fare con le funzioni
oppure, a meno che non utilizzi altri strumenti, devo indicare per forza il
tipo di parametro, non potendo per cui indicare un parametro generico
bho, io ci ho provato. cmq quando pensi di avere le risposte?
--
Ciao
Marchese Gianfranco
e-mail dgruma@NOPUBBLICITA'
tin.it
 (Da togliere NOPUBBLICITA' se vuoi
rispondermi in privato)
sito internet personale: 
www.turbo-pascal.cjb.net
  Tutto sul Turbo Pascal
1.5

"Marchese Gianfranco" <d.g.r.u.m.a.@VediInFirma.it> ha scritto nel messaggio
news:MKeD8.48073$zW3.6...@news1.tin.it...


Puoi o non puoi?


allunghi il tempo di scrittura e appesantisci il file!
Be', per il tempo di scrittura... sì e no. Potrei anche farmi un
pacchetto, una sorta di libreria di procedure e funzioni mie (se non
una vera e propria Unit) e fare un copia/incolla ogni volta che le
utilizzo.
Secondo me, per come è posta la domanda, le procedure e funzioni non
sono utili quando in un programma vengono richiamate *una* sola volta.
 Es:
 BEGIN
 writeln('inserisci il dato A');
 readln(a);
 b:=fx(a);
 END.
 In questo caso invece:
 BEGIN
 writeln('inserisci i dati A');
 for i:=1 to 5 do
 begin
     readln(a);
     b:=fx(a);
 end;
 writeln('inserisci i dati C');
 readln(c);
 d:=fx(c);
 END.
Nel primo caso, al posto di b:=fx(a) avrei potuto scrivere direttamente
il codice della funzione. L'eseguibile, il tempo di esecuzione, la memoria
utilizzata (parametri che vanno nello stack, etc...) sarebbero risultati
più ottimizzati. Nel secondo caso invece, la funzione è richiamata nel
ciclo e dopo.
Saluti.
--
    _
 Fa/_)io         A1200 PowerTower, WB 3.9, 060@60, 64MB, FireBall 13GB,
  /__)enedetti   Voodoo3, Digicom-10/100, Philips PCRW1208 - TFT-140/S.

 Puoi o non puoi?
dai, mi sono confuso, comq volevo dire che con una funzione puoi fare cio'
che ho detto, con una proc no. avevo scritto il mex di fretta...


 >allunghi il tempo di scrittura e appesantisci il file!
non sono d'accordo..
le hanno inventate apposta per essere richimate più volte quindi non
appesantire
l'eseguibile.. cerco che è "inutile" dal punto di vista pratico fare una
funzione per una
sola espressione, ma è veramente consigliabile usare le funzioni per rendere
più
leggibile un programma. Il programma deve essere comprensibile anche da
altri,
oltre che da te stesso (magari quando lo scrivi è tutto facile, ma quando
inizi a fare
un programma serio (non le 100~1000 righe) è difficile ricordarsi cosa si
voleva fare
il mese scorso o simili.. non ti pare?)
Bye
Cereal

"Marchese Gianfranco" <d.g.r.u.m.a.@VediInFirma.it> ha scritto nel messaggio
news:UgzD8.49970$zW3.6...@news1.tin.it...

Dai ke skerzavo lo avevo notato...


ricordarsi cosa si voleva fare il mese scorso o simili.. non ti pare?)
 Puoi sempre commentare e virgolettare "pezzi di codice"... In ogni
caso, ricordati che conta più l'eseguibile che il sorgente. Io di
solito faccio così: all'inizio procedo con procedure o funzioni per
ogni cosa, poi... quando arrivo all'ottimizzazione del codice e mi
rendo conto che una funzione/procedura è richiamata una sola volta,
oppure quando per ragioni di velocità voglio evitare un salto alla
procedura, etc... la elimino.
Saluti.
--
    _
 Fa/_)io         A1200 PowerTower, WB 3.9, 060@60, 64MB, FireBall 13GB,
  /__)enedetti   Voodoo3, Digicom-10/100, Philips PCRW1208 - TFT-140/S.
/...Ea enim elatio, si iustitia vacat pugnatque, in vitio est/


Onestamente, e senza offesa, dubito che il prof tuo considererà corrette le
risposte che hai dato.... sia perchè imprecise e generiche, sia anche perchè
non del tutto corrette semanticamente.
Cordialmente, Cooper.


concordo pienamente. in oltre aggiungo, che un programma strutturato a
blocchi, e' piu' facile da portare in delphi, almeno credo, e comunque si
avvicina di piu' al concetto degli oggetti


 ritorno.
mai usato le funzioni...
---
kiakim


per le altre risposte credo di averle date complete, cioè secondo il canone
della mia profe...
beh, vi farò sapere il mio voto ok?..
ciao!!!
e grazie!!!
---
kiakim

 ha scritto nel messaggio
news:abtqav$qlu$2...@newsreader.mailgate.org...

Natascha guarda che ti mangio... come non hai mai usato le funzioni... ti ho
mandato pure qualche esempio dove le usavo...
Vabbe ti perdono...


 ha scritto nel messaggio
news:abtqe4$qqc$1...@newsreader.mailgate.org...


 Ciao
ciao!!
ps:vedo che hai imparato perfettamente il mio nome, GRANDE!!!
---
kiakim

 Ciao :-*
ciao ;o)
---
kiakim


beh.. finalmente.. sembro solo io il 'perfettino'...
scherzo dai..  :-)
Bye Cereal


ahhhh..
carlo!! non puoi mangiarmi..
sono riuscita a prendere 61/2!!!
sono contentissima perchè così non mi può dare debito!!!
wow!!!
vabbè, grazie e ciao a tutti!!!!!
---
kiakim[natascha]