Domande (e risposte) sull'Homework 1

In questa pagina potete porre domande sul HomeworkUno.

Vi prego di inserire un titolo che chiarisca che tipo di domanda state ponendo.


return()

Sto affrontando il primo problema. diciamo che funziona se metto queste stringhe:
matteo --> 0
123 --> 1
ma3a --> 0

il problema sorge quando (a seconda dove si fa il controllo se e' un numero oppure no) il numero di trova alle due estremita.
123ciao123 --> 1
Il modo che avevo pensato ma che non so implementare, era questo: Come trovo un carattere NON numero, ritornare alla funzione chiamante senza estrarre tutte le chiamate dallo stack. Ho provato anche con exit ma niente.


-- MatteoLaBella - 07 Mar 2006

ctype.h

è possibile includere le funzioni della libreria ctype.h?


-- MatteoNati - 07 Mar 2006

Re: ctype.h

Matteo non voglio darti una risposta affrettata ma credo proprio di no. Se hai seguito lezione, almeno per il canale AD la prof.ssa petrioli, ha fatto vedere come utilizzare i caratteri ASCII. Te lo ripeto è solo una mia intuizione. Anche perche vuole che usiamo la ricorsività! Senno sarebbe troppo facile


-- MatteoLaBella - 07 Mar 2006

Re: Re: ctype.h
me lo aspettavo purtroppo... grazie mille per la risposta, io seguo il canale EO ma cmq venerdì non c'ero causa dentista :-(( la prima lezione di prog2 l'ho seguita oggi!

-- MatteoNati - 07 Mar 2006

Re: return()

per come ho affrontato io la ricorsione, il fatto di trovare un "non numero" rappresenta proprio un caso base...

-- GiuseppeLisanti - 07 Mar 2006

Re: Re: return()
Caso base.... sai che ho interpretato la condizione di uscita dalla ricorsione come caso base?


-- MatteoLaBella - 07 Mar 2006

nome del parametro funzione

Non dobbiamo preoccuparci di dare un nome al campo char * della funzione? Il compilatore lo prende lo stesso giustamente, ma in sede di correzione come ci dobbiamo comportare?

-- AndreaCosentino - 07 Mar 2006

Re: nome del parametro funzione

Io alla funzione ho dato questo prototipo:

int funzione(char *string)
-- MatteoLaBella - 07 Mar 2006

static

Si puo utilizzare la static ?

-- MatteoLaBella - 07 Mar 2006

(senza titolo)

grazie matteo

-- AndreaCosentino - 07 Mar 2006

esempio maxprefissocomune

maxprefissocomune(Roma,roma)-->0 giusto? oppure le maiuscole vanno trattate come le minuscole?

-- MatteoNati - 07 Mar 2006

Re: esempio maxprefissocomune

Io l'ho fatto senza contare la differenza... cioè ho fatto come hai fatto tu wink

Volevo sapere se per consegnare bisognava tenere anche i prototipi delle funzioni nel file che consegnamo oppure no. Grazie.


-- EmanueleGallo - 07 Mar 2006

input

se le due string sono tutte e due uguali a NULL?

-- GiuseppeEsposito - 07 Mar 2006

Re: input

Se i due puntatori sono NULL allora non si tratta di stringhe.

Se invece si tratta di due stringhe vuote ("") allora il prefisso comune è lungo 0.


-- AndreaSterbini - 07 Mar 2006

Re: ctype.h

Usate i caratteri invece che isdigit (è facile).


-- AndreaSterbini - 07 Mar 2006

Re: static

Per far che? (chi usa variabili globali lo boccio frown )


-- AndreaSterbini - 07 Mar 2006

Stack Ricorsione

Scusate, allora vediamo se riesco a spiegarmi Ho la parola 12ci Come ho sviluppato: In grassetto il puntatore e ogni ritorno a capo è stata effettuata la ricorsione
1
2
c
i
ora, con i vari return devo per forza ritrarre la pila. quindi
controllo se i e' una cifra. --> return(0)
controllo se c e' una cifra. --> return(0)
controllo se 2 e' una cifra. --> return(1)
controllo se 1 e' una cifra. --> return(1)

quindi l'ultimo return mi far ritornare 1. Dov'è che sbaglio?

PS: Domani sto a Prog2 canale AD se qualcuno ha tempo, perche non ci confrontiamo? grazie


-- MatteoLaBella - 07 Mar 2006

Re: Stack Ricorsione

Dovresti mettere una condizione nella ricorsione che appena vede una lettera torna 0.

-- EmanueleGallo - 07 Mar 2006

(senza titolo)

Ma i casi NULL vanno considerati non stringhe anche nelle altr due funzioni?

-- AndreaCosentino - 07 Mar 2006

Re: Re: Stack Ricorsione
Ho capito ma se trova la lettera alla 3 chiamata, ha cmq altre due chiamate da eseguire dalla pila. Ecco qui il mio problema. Ho provato anche con la funzione EXIT ma non va.

-- MatteoLaBella - 07 Mar 2006

Gestione errori??

Alle nostre funzioni saranno passati solo valori "legali"?? O dobbiamo occuparci di gestire eventuali errori?? Per esempio:Nei test è possibile che una nostra funzione riceva un putatore a NULL invece che una stringa o no? Grazie!

-- GiuseppeLisanti - 08 Mar 2006

Re: Re: Re: Stack Ricorsione
A me funziona bene con il metodo che ti ho descritto. Forse devi vedere bene dove "posizionare" la return.

-- EmanueleGallo - 08 Mar 2006

Re: Gestione errori

Per questi primi esercizi assumete che le stringhe siano puntatori legali (d'altro canto non vi abbiamo detto cosa fare se gli argomenti sono errati). Quindi nei test non verranno passati valori NULL.


-- AndreaSterbini - 08 Mar 2006

Spazi nelle stringhe

Possono capitare casi (per la 2° funzione) in cui le stringhe che vengono date in input abbiano degli spazi tra i loro caratteri? In tal caso come dobbiamo comportarci? Dobbiamo considerare prefisso comune anche lo spazio? Grazie.

-- AndreaCosentino - 08 Mar 2006

Consegna

Vi parlo come è stata la consegna in questi anni tramite twiki. Ci sarà un form, con nome cognome e twikiname. Poi una box dove incollare il programma. !!! ATTENZIONE !!! Poichè i programmi sono provati in automatico, dobbiamo attenerci a quello che ci viene detto nel testo dell'esercizio. Quindi bisogna scrivere solamente i dati personali e le tre funzioni. Tutto il resto va commentato. (io personalmente copio solo le funzioni, e anche l'ordine)


-- MatteoLaBella - 08 Mar 2006

Re: Spazi nelle stringhe

Gli spazi sono caratteri come gli altri.


-- AndreaSterbini - 09 Mar 2006

Pagina di Consegna

ma la pagina di consegna? io devo andare in vacanza sto week end.. smile ci muoviamo? dsaasddsadsadsadsadsads ps entro il 14, 14 compreso?

-- AntonioFelitti - 10 Mar 2006

sintassi per la consegna

non mi è chiara la sintassi per consegnare gli esercizi: 1) si devono specificare eventuali file inclusi??? 2) nella sintassi richiesta int solecifreP(char *) non è indicato il nome del parametro. lo dobbiamo mettere vero???? 3) ci sono altre specifiche sulla sintassi da rispettare?? quando esce la pagina di consegna???

-- LorenzoReatini - 10 Mar 2006

valenza degli esercizi

volevo sapere poi se questi esercizi "incrementano" possono incrementare il punteggio anche di laboratorio, visto che ho gia fatto programmazione 2

-- LorenzoReatini - 10 Mar 2006

Re: sintassi per la consegna

Cosa cosa? File inclusi? Beh intanto ti invio a leggere il post consegna sempre scritto da me. Se le librerie sono quelle standard di C allora non devi scriverle, se hai fatto una tua include allora devi inserirla come unico codice. Insomma niente .h fai da te. Inoltre non per altro, ma oltre alla stdio.h e la stdlib.h cosa ti serve? Ti ricordo che i test sono fatti automaticamente!

-- MatteoLaBella - 11 Mar 2006

Re: sintassi per la consegna

Se usate librerie ricordatevi di ingluderne gli headers correttamente.

Nel mio esempio non le ho messe perchè dipendono da cosa vi serve.


-- AndreaSterbini - 11 Mar 2006

Re: Pagina di Consegna

Ho appena creato la pagina per la consegna dei compiti.

Per evitare sbagli nell'incollare il codice stavolta potete fare direttamnete l'upload del file sorgente.

Ricordatevi di commentare la funzione main.


-- AndreaSterbini - 11 Mar 2006

Re: Sintassi

Certamente le funzioni implementate debbono avere i nomi degli argomenti. Ho corretto l'esempio.

-- AndreaSterbini - 11 Mar 2006

Re: sintassi

volevo solo sapere se andava bene così:
#include <stdio.h>
#include <stdlib.h>
// funzioni da implementare....
-- LorenzoReatini - 11 Mar 2006

prototipi / aggiornamento upload / commenti al codice

A giudicare dall'esempio fornito, nel file esercizio.c dovremo mettere solo le definizioni (implementazioni) delle tre funzioni da svolgere; però per essere sicuro lo chiedo comunque: vanno inseriti anche i prototipi?

Altra cosa... è possibile aggiornare il file uploadato se per caso ci si accorge solo dopo l'upload di aver sbagliato?

Ultima cosa... sono importanti i commenti o possiamo lasciare anche solo il codice?

Grazie


-- DanieleSchirmo - 11 Mar 2006

Come scrivere il codice

Allora una raccomandazione. Quando dovete scrivere dei tag di codice, scrivere il tag nella textbox "Eventuale codice da allegare" Infatti twiki interpreta i caratteri <> come tag html quindi non le fa vedere. Se per qualsiasi motivo dovete aggiungere del codice, senza utilizzare la texbox "Eventuale codice da allegare", dovete racchiudere il codice nei tag <verbatim> CODICE </verbatim>

-- MatteoLaBella - 11 Mar 2006

Re: esempio maxprefissocomune

Professore potrebbe dirci quale delle due è giusta?
(Roma, roma)--> 0
oppure
(Roma, roma)--> 4
grazie

-- MatteoLaBella - 12 Mar 2006

Re: Re: sintassi
io per svolgere le funzioni ho usato solo la stdio.h e la stdlib.h (come tutti credo), devo includerle nel file da consegnare o no?

-- MatteoNati - 13 Mar 2006

Re: prototipi / aggiornamento upload / commenti al codice

  • Potete inserire i prototipi
  • potete aggiornare il codice (vale l'ultimo upload)
  • commentate il codice

Re: Re: esempio maxprefissocomune

La prima che hai detto
Re: Re: Re: sintassi
Certo, mettete anche le include


-- AndreaSterbini - 14 Mar 2006

include non messi

io non ho messo le include perche non sapevo che andassero messi dato che nella pagina delle cose da consegnare non c'era scritto. Ci sono problemi???

-- LucaTartaglia - 15 Mar 2006

problema esistenziale su INCLUDE

ank'io nn ho messo le include e nemmeno il main e niente ho messo solo le funzioni..seguendo l'esempio di consegna ke c'era..

-- GiusiSiesti - 15 Mar 2006

Re: include non messi

Non vi preoccupate degli include.


-- AndreaSterbini - 15 Mar 2006

Re: Re: Include non messi
ok, grazie mille per la risposta

-- LucaTartaglia - 15 Mar 2006

Informazioni Personali

Ops. Ho dimenticato
//Nome = Matteo
//Cognome=La Bella
//Canale=AD
-- MatteoLaBella - 16 Mar 2006

Re: Risultati...

quando dovrebbero uscire i risultati?


-- AlfredoZedda - 17 Mar 2006

Re: Risultati...

quando dovrebbero uscire i risultati?


-- AlfredoZedda - 17 Mar 2006

SOLUZIONI

Sono uscite le soluzione nel file della prof.ssa Chiara Petrioli.

http://twiki.di.uniroma1.it/pub/Programmazione2ad/WebHome/HOMEWORK1.pdf


-- MatteoLaBella - 20 Mar 2006

Correzione..

correggetemi se sbaglio, la soluzione dell'esercizio 2 non controlla se s1 è + lunga di s2, cosa succede in questo caso? probabilmete leggo male il codice ma non vedo il controllo di fine stringa della di s2 smile

-- AntonioFelitti - 21 Mar 2006

Re: Correzione..

Antonio, mi sembra che non serva fare il controllo.
Prendiamo ad esempio:
s1: la vecchia con la borsa
s2: la vecchia con la borsa salta il fosso senza rincorsa
visto che si parlava di prefisso comune, se la s1 è minore della s2 è inevitabile che i restanti caratteri non faranno parte del prefisso comune.

Invece se abbiamo il caso contrario
s1: la vecchia con la borsa salta il fosso senza rincorsa
s2: la vecchia con la borsa
quindi s1>s2 nella riga
if ((*s1 == *s2) && (*s1 != ‘\0’))
si trova due condizioni, che devono essere VERE tutte e due per rendere la funzione IF vera e quindi eseguire il 1 + return(....). Con la prima (almeno credo) condizione si risolve il tuo problema. Infatti nel momento che un carattere di s1 sia diverso da s2 la funzione return (0).
-- MatteoLaBella - 21 Mar 2006
Re: Re: Correzione
ok.. chiaro.. che sbadato:P tnx

-- AntonioFelitti - 22 Mar 2006

Risultati

"Scaduta la consegna noi pubblichiamo la nostra soluzione e i risultati dei test svolti sul vostro codice." Dove sono i risultati?

-- CarmeloPalummo - 07 Apr 2006
No such template def TMPL:DEF{PROMPT:thread}
  • Se usate dei titoli comprensibili ci capiamo tutti un po' meglio
  • Ricordatevi di chiudere i tag che inserite nei post.
  • Non parite con i flame, c'è una pagina apposta per gli OffTopic.

-- AndreaSterbini - 06 Mar 2006

Edit | Attach | Watch | Print version | History: r53 < r52 < r51 < r50 < r49 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r53 - 2006-04-07 - CarmeloPalummo






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback