Newsgroup: it.comp.lang.c++
Titolo: Domanda scolastico

Salve, spero di non disturbare con questa domanda, ma sarebbe per me
importante avere un vostro parere sull'argomento. Sono studente in un liceo
scientifico tecnologico, ed avrei una quesito da sottoporvi. A scuola
abbiamo fatto un compito di informatica, il quale richiedeva di scrive due
programmi (con carta e penna, non sul compilatore) in C++. Io l'ho svolto
correttamente, però il prof. mi ha segnato un errore che mi ha impedito di
prendere 10, in modo tale che neanche a fine anno potrò raggiungerlo.
Premettendo che già da inizio anno ha concordato con la classe che scrivendo
i programmi a mano non conta che noi li scriviamo in corsivo, maiuscolo o
minuscolo, per agelvolarci nella scrittura. Io ho quindi scritto l'intero
programma in maiuscolo, quindi tutte le istruzioni in maiuscolo, tipi di
variabili, nomi, cout... tutto, nonchè le stringhe. In tutti i compiti ha
sempre considerato corretto lo svolgimento. Questa volta sostiene che la
scrittura:
COUT << "\NCIAO";
sia errata. Ed in particolare l'errore starebbe nel \N. Sostiene infatti che
\N lo avrei dovuto scrive con la N minuscola. Ma a questo punto, ha senso
secondo voi una cosa del genere? O tutto in minuscolo, o nulla. Scriverlo in
minuscolo sarebbe come dire che è una eccezione rispetto alle altre
istruzioni, invece va scritto esattamente come le altre. Ora, per questo mi
ha tolto un voto. Tanto più che aveva detto durante il compito che le \n si
potevano omettere, dato che non sono così influenti nel programma. Ora, ha
senso secondo voi una cosa del genere? Ve lo chiede perchè questo prof. mi
toglie in continuazione voti, lo ha sempre fatto in tutti gli anni di
scuola, ed ora mi sono stufato. Perchè secondo voi il \N dovrebbe essere
diverso ed andare il minuscolo? Ve lo chiedo per sapere se secondo voi mi
conviene protestare con lui, oppure se magari lui ha ragione; oltretutto il
programma funziona comunque, anche con la N maiuscola, solo na va a capo.
Scusate la lunghezza del post, e grazie per qualunque consiglio.
Luca Carlon

 ha scritto nel messaggio
news:zRrK8.8814$t47.2...@twister1.libero.it...

non vedo cosa c'entri il C++, è solo che stai sul C++++ al tuo prof :)
parlane in consiglio di classe o rivilgiti direttamente in presidenza...
Ciao
~~
artemis.alpeia

 ha scritto nel messaggio
news:zRrK8.8814$t47.2...@twister1.libero.it...


 parlane in consiglio di classe o rivilgiti direttamente in presidenza...
Centra, infatti lui mi ha detto che il resto in maiuscolo va bene, mentre
quello in particolare non andava bene. Visto che iosono convinto di quello
che ho fatto, volevo sapere da voi che ne sapete più di me, se
effettivamente ci fossero motivi per fare una cosa del genere e
differenziare il \n dal resto. In questo modo posso essere sicuro di
protestare almeno per qualcosa di giusto. Se tutto lo si scrive in
maiuscolo, ci sono motivi per dire che quello deve invece essere scritto in
minuscolo?
Luca Carlon

 Mauro
Si, sono daccordissimo. Quello che mi sta sulla **lle, infatti, non è il
voto in se, ma il fatto che questo è da anni che continua allegramente ad
abbassarmi i voti, quest'anno due interrogazioni e questo compito. Secondo
me, lo ha fatto proprio a posta. Mi ha messo 9 proprio per questo, sapeva
che bastava perdere un voto qui per non darmi 10 alla fine. Quindi non mi va
che pensi che io non capisca che lo ha fatto a posta. Quindi, so che gli sto
la, e che non mi cambierà mai il voto, ma almeno voglio fargli un poco di
casino, e dimostrargli che sbaglia lui, ed a quanto mi avete detto, mi pare
che nel mio programma non ci fosse alcun errore o imprecisione. Oltretutto,
l'anno prossimo sono in quinta, e vorrei fargli capire che non gli conviene
ricominciare anche l'anno prossimo così, perchè altrimenti mi inca**o sul
serio, visto che so quello che scrivo sui compiti. Visto che ci sono vi
faccio anche un'altra domanda, sperando di non rompere.
Se passo ad una funzione un array di interi (per esempio), sono costretto a
passare anche la dimensione? Lui in interrogazione ha continuato a dire che
bisogna metterla, ma io sono sicuro che non serva sempre, anzi, che in
alcuni casi sia proprio inutile. Sbaglio?
Grazie per tutti i consigli.
Luca Carlon

 ha scritto nel messaggio
news:zRrK8.8814$t47.2...@twister1.libero.it...


serio, visto che so quello che scrivo sui compiti.
Purtroppo i prof hanno sempre il coltello dalla parte del manico...
Il mio prof. di filosofia dice che per Nietszsche l'asceta è un
esempio di volontà di potenza (N. scrive che per vivere devi godere il
più possibile...) e mi ha contato sbagliata una risposta in un compito
in classe (a dir la verità l'ha contata sbagliata a _tutta_ la classe
e si è incazzato a morte quando l'abbiamo fatto notare, adducendo
anche motivi di interpretazione diversa...)
La mia prof di mate e fisica invece, oltre a darmi voti più bassi del
resto della classe perchè:"Posso dare di più", con 7,3 in mate e 8,7
in fisica (con un 9,5 in mate e due in fisica e altri voti molto alti)
vuole presentarmi con 7 e 8,5, e ovviamente, come tutti gli anni, il
mezzo punto andrà a farsi fottere...
Sempre il prof di filo mi ha dato 7 in una verifica in cui ho copiato
le risposte dal libro di filosofia (esattamente identiche), l'ho fatto
apposta per capire se mi prendeva per il culo o faceva sul serio... Mi
prendeva per il culo ovviamente...
C'è ben poco da fare in poche parole... Se un prof. vuole tenerti
basso il voto... te lo tiene basso...
Avrei anche altri esempi ma sono totalmente OT... Ad ogni modo
lamentati... Io purtroppo ormai sono in vista della maturità ma,
evitando scene troppo polemiche, fagli capire che è un cazzone...
-- 
try: troll = "Brain"
except TypeError, data: 
   troll.plonk()
Co-Responsabile Hardware Information & Technology 
http://hit.edengames.net

 ... Secondo me, lo ha fatto proprio a posta ...
Scusa la franchezza, ma secondo me sarebbe meglio accontentarsi del 9 in
informatica e ripassare un po' l'italiano.

 minuscolo?
sono d'accordo con te, scrivendo tutto maiuscolo il newline lo scrivi \N, ma
mi sembra un motivo futile per toglierti un punto, il vero motivo sarà
sicuramente come ti ripeto che tu non vai molto a genio al tuo prof, non so,
probabilmente ce l'avrà con te perché sei bravo, o perché lo correggi, o
perché si sfoga per le umiliazioni subite quando era studente... non so cosa
dire, saprai meglio di me la situazione e anche come provvedere per
reclamare quello che tu ritieni un tuo diritto. Anche i professori sono
esseri umani, e soprattutto, a differenza degli studenti che fanno gruppo,
sono soli con i loro errori.
~~
artemis.alpeia

 Luca Carlon
Ops, non mi aspettavo questa domanda, è inutile se sai già a priori la
dimensione, o per esempio negli array di caratteri che terminano in \0, ma
negli array di interi come fai a sapere in generale quanto è lungo un array,
ed evitare di pescare elementi "sporchi"?
prova questo programma:
#include <iostream>
using namespace std;
void foo(int *num)
{ for (int i=0; i<10; i++)
  cout << num[i] << endl;
}
int main()
{ int arr[] = {1, 2, 3};
 foo(arr);
 return 0;
}
~~
artemis.alpeia

istruzioni, invece va scritto esattamente come le altre.
Mi stupisco ancora una volta... il tuo professore si é accorto che \N
é sbagliato, in quanto non é una sequenza di escape valida( il VC++ lo
segnala anche)ma non si é accorto che COUT in c++ non é una classe e
che nessun programma che lo dichiara cosi' potrà mai funzionare.
Ripetiamo ancora una volta che il c++ é un linguaggio case sensitive,
in cui tre diciture CASA e casa , o anche CaSa sono trattate come 3
entità differenti e non come la stessa variabile. In poche parole il
tuo programma non compilerebbe su nessun compilatore della terra( a
meno che qualcuno non abbia definito una macro che sostituisce COUT
con std::cout, ma questo é un altro discorso).
Il Ghenio
---------
// TODO: Place your ass here

 ha scritto nel messaggio
news:zRrK8.8814$t47.2...@twister1.libero.it...


Che tipo di output ti aspetti?
Che non compili assolutamente visto che COUT non vuol dire
assolutamente nulla.
-- 
Marco Barisione (ICQ 84277092)

 con std::cout, ma questo é un altro discorso).
No, avevo specificato nel massaggio originale che con il prof. ci siamo
accordati in modo tale che si potesse scrivere il programma in un modo
qualsiasi, maiuscolo, minuscolo o corsivo, per motivi di praticità. Quello
che mi da fastidio è il fatto che lui prima mi dica che gli va bene in
qualunque modo, e poi mi faccia una singola correzione dicendo che il \n va
in minuscolo. Quindi le cout gli vanno bene in maiuscolo mentre il \n no. La
mia domanda era se ci fosse qualche cosa per cui lui avesse ragione a
differenziarli. Quindi, se lui mi dice che quello che io scrivo maiuscolo
lui lo considera minuscolo, allora perchè segnarmi errore su \N? Diventerà
\n. Boh.
Mi pare cmq di aver capito non c'era motivo, ma che lo abbia fatto appunto
tanto perchè gli sono antipatico.
Grazie.
Luca Carlon

 basso il voto... te lo tiene basso...
Sono daccordo. Infatti questo lo fa in ogni interrogazione. Io faccio
ripetizioni ai miei compagni e loro prendono 9 ed io 7.5. Cmq una cosa no,
nei compiti quando è 10 è 10, qualsiasi cosa mi dica. Quel compito potrei
farlo vedere ad un esterno alla scuola, per vedere le sue correzioni. Potrei
anche far notare al preside che nei compiti ho solo 10, in tutti, mentre
nelle interrogazioni sempre 3 o 4 oti di meno. Cmq che non pensi che ci
casco, se lui mi segna un errore, so quello che scrivo, e non gliela do la
soddisfazione. L'anno scorso mi ha dato 3 voti di meno in un capito perchè
ha considerato un commento come una istruzione, quando glielo ho fatto
notare, mi ha detto: ma io come faccio a saperlo? Io gli ho risposto che
davanti c'erano le doppie slash, e lui si è messo a ridere. A quel punto gli
ho detto che avevo capito che lo aveva fatto a posta. Ha riso molto meno.
Grazie dei consigli, infatti li seguo sempre, ma in questo caso lui mi sta
prendendo in giro.
Luca Carlon

 informatica e ripassare un po' l'italiano.
Io preferisco entrambi. Cmq non è per questo voto, so che non lo cambierà
neanche se faccio una petizione, ma non voglio che creda che ci caschi nelle
sue cazza... Gli faccio capire che se continua ad abbassarmi i voti posso
anche andare aparlare con il preside.
Cmq grazie anche a te per i consigli.
Luca Carlon

 Auguri.
Tu pensi che io abbia sbagliato? Se io so che nel compilatore tutto va
scritto in minuscolo, ma ti viene permesso di scrivere scegliere se tutto
maiuscolo minuscolo o corsivo, e scelgo il maiuscolo, dovrei scrivere tutto
maiuscolo tranne il \n?
Grazie.
Luca Carlon

 Cmq grazie anche a te per i consigli.
Figurati, la mia era solo una battuta.
Queste sono cose che fanno male al calcio e che non dovrebbero mai accadere.
In bocca al lupo.
Bye
Roby

 maiuscolo tranne il \n?
Se la variazione da MAIUSC a min non produce un errore di sintassi ma
di significato, e' un bell'errore.
Buona Giornata,
               eba

 maiuscolo tranne il \n?
Se la variazione da MAIUSC a min non produce un errore di sintassi ma


 maiuscolo tranne il \n?
Se la variazione da MAIUSC a min non produce un errore di sintassi ma


 Almeno IMHO.
Beh, l'aspettativa di essere valutati in rapporto al lavoro svolto e'
piu' che legittima e non e' sempre detto che si debba chinare la testa
(anche se a scuola conviene quasi sempre).
Ciao,
Nicola

 capo.
qui ti sbagli; il compilatore (o, meglio, il preprocessore) considera una 
\N all'interno di una stringa come un errore, dato che non e` una 
sequenza di escape riconosciuta.
ciao Anto
-- 
Antonio Cuni, 20 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 significato della linea di codice.
falso nuovamente. In entrambi i casi il codice non compila, quindi non 
vedo quale sia la differenza.


 sequenza di escape riconosciuta.
Ho provato col mio Borland C++ 5.02 e fa come dico io, evidentemente dipende
dai compilatori.
Grazie.
Luca Carlon

 Tu considereresti errato scrivere "NCIAO" anziche "<a capo>CIAO" ?
\NCAIO non scrive NCIAO, non scrive semplicemente nulla, perche' non
compila.
ciao,
Zeppe

 compila.
Dipende dai compilatori. Sul Borland C++ 5.02 compila perfettamente e scrive
NCIAO.
Ciao
Luca Carlon

 NCIAO.
"Ho visto compilare dal Borland C++ cose che voi umani non potreste nemmeno
immaginare..." :)
In realta', scherzi a parte, non e' standard, e il Borland non rispetta lo
standard. In realta', il carattere '\' ha un significato ben preciso, e se
il borland se ne frega quando non riconosce una sequenza di escape valida
non e'
certo un punto a suo favore...
Giusto per dirti, quest'anno ho fatto un breve corso sulla programmazione ad
oggetti, ed in particolare sul c++. Non era raro vedere a lezione programmi
compilati dal borland, che davano una barca di errori a casa, usando un
compilatore piu' aderente allo standard.
Ciao,
Zeppe

certo un punto a suo favore...
Veramente penso sia corretto il comportamento del Borland o quello di
qualsiasi altro compilatore. Almeno nel C89 (e penso anche nel C++)
l'uso di letere minuscole senza altro significato è undefined
behavior, tutte le altre letere e simboli sono implementation-defined
behavior.


 scrive NCIAO.
molto peggio. Rischi la formattazione del disco fisso:
If the character following a backslash is not one of those specified, the 
behavior is undefined.
(paragrafo 2.13.2 dello standard)
