Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

Test Sharp

Quiz Sharp #72 [junior]

Il seguente snippet: using System; interface IFoo {     IFoo GetInstance(); } partial class Foo : IFoo {     public IFoo GetInstance() {         Console.WriteLine("Ciao");         return this;     } } class Program {     static void Main() {         (new Foo()).GetInstance().GetInstance();     } } stampa: Ciao Ciao a console. Senza toccare lo snippet ma solo aggiungendone un pezzo, dobbiamo stampare a console: Ciao UGIdotNET Ciao

posted @ Thursday, May 21, 2009 10:55 AM | Feedback (335) | Filed Under [ Quiz Sharp Test Sharp ]

Corso Sql Server 2008 Express per gli insegnanti arrivati all'ONI2009

Ieri e l'altro ieri ho tenuto un corso su Sql Server 2008 Express per 80 insegnanti di informatica arrivati per l'occasione delle Olimpiadi Nazionali di Informatica (ONI2009) che quest'anno sono state ospitate proprio dalla mia citta'. E' stata un'esperienza interessante e inedita perche' parlare di un argomento cosi' "real world" davanti alle migliori menti in ambito pre-universitario vi assicuro che non e' facile. Gente eccezionale, che vive di algoritmi, grafi e C++, un po' lontana purtroppo dalle problematiche dei DB. Ieri, cioe' nel secondo giorno, mi sono dovuto inventare la successione di Fibonacci fatta in SQL... with fibonacci(f, g) as (     select...

posted @ Tuesday, April 14, 2009 6:36 PM | Feedback (313) | Filed Under [ Quiz Sharp Test Sharp Varie RONUA ]

Quiz Sharp #70

Senza utilizzare stringhe, caratteri, numeri (literals) o file esterni, si chiede di scrivere un programma in C# 3.0 che stampi a console la definizione compilabile di un tipo non vuoto.

posted @ Sunday, May 18, 2008 6:22 AM | Feedback (105) | Filed Under [ Quiz Sharp Test Sharp ]

Test Sharp (pronto, chi chiama?)

Senza utilizzare alcun namespace, scrivete un metodo e compilatelo in una dll in tal modo che passandogli un parametro da codice C# ritorna un risultato mentre passandogli lo stesso parametro da codice VB.NET ritorna un altro risultato. Dovete indicare anche il valore del parametro.

posted @ Monday, October 9, 2006 5:13 PM | Feedback (5) | Filed Under [ Test Sharp ]

Test Sharp (private ctor di una classe abstract)

Senza utilizzare reflection si chiede di trovare un modo per eseguire il codice del costruttore private senza parametri di una classe abstract. Troppo semplice anche questo? :-)

posted @ Wednesday, October 4, 2006 5:55 PM | Feedback (23) | Filed Under [ Test Sharp ]

Test Sharp (no return)

Scrivete un metodo con il return type non void, che non abbia alcun return all'interno del suo corpo (e ovviamente che compili senza errori o warning).

posted @ Saturday, September 9, 2006 4:47 PM | Feedback (23) | Filed Under [ Test Sharp ]

Test Sharp (Multiply senza operatori aritmetici)

Senza utilizzare alcun operatore aritmetico, proponete una soluzione per l'espressione ???expr??? = a * b nel seguente snippet, che utilizzi il minor numero di caratteri: int Multiply(byte a, byte b){     return ???expr???;} La mia ha 19 caratteri.

posted @ Saturday, September 9, 2006 3:51 PM | Feedback (24) | Filed Under [ Test Sharp ]

Test Sharp (IsEqualsEquivalence)

Equals definisce una relazione di equivalenza su un tipo Foo se e solo se, per ogni istanze non nulle x, y e z di Foo abbiamo: x.Equals(x) è true; se x.Equals(y) è true, anche y.Equals(x) è true; se x.Equals(y) && y.Equals(z) è true, anche x.Equals(z) è true Scrivete un'implementazione migliore (cioè che ritorni correttamente Fuzzy.True per più tipi; per questo il tipo di ritorno è Fuzzy e non bool) per il metodo IsEqualsEquivalence,  rispetto a questa banale: public static Fuzzy IsEqualsEquivalence(Type t){      return Fuzzy.Maybe;} dove Fuzzy è: public enum Fuzzy{      False = -1,      Maybe,      True} Tempo: tutta la settimana.

posted @ Sunday, November 27, 2005 4:10 PM | Feedback (16) | Filed Under [ Test Sharp ]

Test Sharp (No recursion!) - la soluzione

Ecco la soluzione rigorosamente 2.0 all'ultimo test:class Foo{      static void Main()      {            System.Web.Util.WorkItemCallback Main = delegate() { };            Main();      }} Al posto di WorkItemCallback potete scegliere qualunque altro delegate pubblico del Framework che abbia la stessa dummy signature. Anche l'altro test, quello su IsValueType, utilizza una cosa carina del 2.0. Dai, non è difficile...

posted @ Monday, October 17, 2005 2:59 PM | Feedback (19) | Filed Under [ Test Sharp ]

Test Sharp (No recursion!)

Nel seguente snippet, sostituire il commento con un'unica riga di codice C# 2.0 (uno statement) così da evitare la ricorsività: class Foo{      static void Main()      {            // manca in questa posizione un'unica riga di codice            Main();      }} Cosa importante, la chiamata a Main è raggiungibile e viene eseguita!

posted @ Monday, October 17, 2005 2:24 AM | Feedback (15) | Filed Under [ Test Sharp ]

Test Sharp (My IsValueType)

Invece di typeof(Foo).IsValueType vorrei scrivere in C# 2.0 TypeOf<Foo>.IsValueType. Implementate voi la classe TypeOf<T>, ovviamente senza utilizzare reflection. For my non-Italian readers, if any :-) How would you implement in C# 2.0 the TypeOf<T> class, obviously without using any reflection mechanism, so that to be able to write TypeOf<Foo>.IsValueType instead of typeof(Foo).IsValueType?

posted @ Sunday, October 16, 2005 1:14 PM | Feedback (33) | Filed Under [ Test Sharp ]

Test Sharp (Writing Without Write)

In un'unica riga di codice C# (cioè il Main ha un'istruzione sola e non si definiscono altri membri o classi), stampate qualcosa a console senza utilizzare alcun metodo che si chiami Write o WriteLine inizi con Write.

posted @ Tuesday, October 4, 2005 12:40 PM | Feedback (38) | Filed Under [ Test Sharp ]

Test Sharp con fiaba

C'era una volta una classe, non mi ricordo se in C# o in J#, con un solo membro definito: MembroNonRicorsivo(){MembroNonRicorsivo();} che, stranamente, non era ricorsivo. Non mi ricordo cosa c'era scritto al posto di MembroNonRicorsivo... Aiutatemi voi a ricordarmi il linguaggio e l'intera definizione della classe. Quante soluzioni possibili ci sono? P.S.: Per chi al momento del post si trovava in vacanza, questo linkato qui è un altro Test Sharp.

posted @ Thursday, September 1, 2005 8:28 PM | Feedback (11) | Filed Under [ Test Sharp ]

Subito errore

Immaginiamo un principiante che aggiunge a una soluzione ASP .NET Web Site in Visual Studio, una Web Form in Visual C#. Che nome valido C#, identificatore diverso dalle keyword e che rispetti il paragrafo 9.4.2 "Identifiers" dell'ECMA-334, deve dare alla Web Form, per ottenere errore quando fa Build Solution? Supponiamo che oltre a dare il nome alla Web Form, non fa altro prima di Build.

posted @ Thursday, August 18, 2005 9:55 AM | Feedback (18) | Filed Under [ Test Sharp ]

Test Sharp (Before begin, After end)

Inserendo del codice solo nei posti marcati dai due commenti, il seguente snippet: using System; class Foo{      //       static void Main()      {            Console.WriteLine("Begin");            //            Console.WriteLine("End");      }} deve stampare a console: Before beginBeginEndAfter end Se vi pare troppo semplice, provate a trovare 2 soluzioni differenti (esistono!).

posted @ Friday, July 15, 2005 4:30 PM | Feedback (33) | Filed Under [ Test Sharp ]

Test Sharp (a@f) - la soluzione

In modo sorprendente, la soluzione al test è questa: compilate il seguente snippet J#: public class a{  public int GetHashCode()  {    return 15;  }} e referenziate l'assembly al vostro snippet C#: class Test{  static void Main()  {    System.Console.WriteLine(new a());  }} Come mai stampa a@f a console? Semplice! In Visual J# tutte le classi sovrascrivono implicitamente i metodi virtual MemberwiseClone() e ToString(), dove ToString() semplicemente ritorna com.ms.vjsharp.lang.ObjectImpl.jloToString(this) (dell'assembly vjslib.dll). E che stringa ritorna questo metodo jloToString?: new StringBuilder(obj.GetType().FullName.Replace('+', '$')).Append('@').Append(Integer.toHexString(obj.GetHashCode()).ToString()).ToString() ovvero il full name della classe (in cui per le classi nested i "+" vengono sostituiti da "$") concatenato con "@" e con il hash code...

posted @ Friday, March 18, 2005 1:26 PM | Feedback (19) | Filed Under [ Test Sharp ]

Test Sharp (a@f)

Questo snippet C#: class Test{  static void Main()  {    System.Console.WriteLine(new a());  }} stampa a console le mie iniziali con una chiocciola in mezzo: a@f Si sa che la classe a: deriva da System.Object,  NON ha definito in modo esplicito alcun costruttore e  NON sovrascrive nel suo codice di definizione il metodo ToString. Com'è possibile? Le vostre idee/soluzioni fino al prossimo venerdì, nella sezione commenti.

posted @ Saturday, March 12, 2005 12:41 PM | Feedback (14) | Filed Under [ Test Sharp ]

Sharp-lock Holmes (il vincitore e la soluzione)

Sotto questa riga, l'eccellente soluzione di Claudio Brotto al test "Sharp-lock Holmes". Molto bene ha condotto il ragionamento, vero? Ed eccolo inserito nel blogroll :-) Foo.dll è un assembly .NET che definisce, almeno, i tipi A, B e C. Potrebbe essere stato generato da un qualsiasi compilatore conforme a CLS, così come da ilasm a partire da codice IL. Essendo referenziati senza qualificatore di namespace, A, B e C devono appartenere allo stesso namespace in cui è definita D (oppure deve essere presente in precedenza una direttiva using). A, B e C possono essere classi o interfacce. Poichè le specifiche C# impongono che, in...

posted @ Saturday, March 12, 2005 12:21 PM | Feedback (9) | Filed Under [ Test Sharp ]

Sharp-lock Holmes

Il seguente snippet C#: class D: A, B, C{  static void Main()  {    D d = new D();  }} compila con: csc /r:foo.dll test.cs e stampa a console: Ciao! La dimensione dell'assembly foo.dll è molto piccola. Si chiede di ipotizzare quanto più possibile (senza reflection o tool) sul codice da cui è nata foo.dll. Il test chiude martedì sera, le soluzioni via Contact.

posted @ Thursday, March 3, 2005 9:08 AM | Feedback (10) | Filed Under [ Test Sharp ]

Ponder This Wintellectual TopCoder Competition of Quizzes

Se i miei quiz non vi bastano, potete provare quelli di Brad (ma questo senz'altro lo sapete) oppure il concorso mensile di Wintellect: "Who Wants to Be a Wintellectual?" (si vince un libro). A quelli potenti e insoddisfatti anche dopo questo :-) magari il concorso mensile "Ponder This" fatto da IBM Research dovrebbe dire qualcosa. Una lista lunga di rumeni che hanno risposto correttamente a "Ponder This" l'ho compilata un po' di tempo fa in un commento a questo post di Adi Oltean, anche lui rumeno. Oppure, potete partecipare alla TopCoder Competition, dove i rumeni sono all'ottava posizione.

posted @ Saturday, October 30, 2004 11:43 PM | Feedback (15) | Filed Under [ Quiz Sharp Test Sharp ]

Write a routine that counts the number of bits in a byte (soluzione)

Il problema chiedeva, utilizzando meno ipotesi possibili, di calcolare quello che sappiamo tutti, già dal primo contatto con l'informatica: il numero di bit in un byte. Una soluzione potrebbe essere questa: System.Convert.ToString(unchecked((byte)~0), 2).Length tirata fuori da un'idea di Pietro Toniolo - ho apprezzato il fatto che NON ha pensato a "byte.MaxValue" (avrebbe fatto un'altra ipotesi ancora, quella del segno...). Però è un po' bruttino il fatto che calcoliamo il numero di bit in un tipo partendo da un valore (0) di quel tipo. Riusciamo a trovare una soluzione più "generale"? Io ho pensato così: System.BitConverter.ToString(new byte[1]).Replace("-", string.Empty).Length * 4 dove ci ricordiamo che la documentazione originale...

posted @ Friday, October 22, 2004 7:16 PM | Feedback (11) | Filed Under [ Test Sharp ]

Write a routine that counts the number of bits in a byte

Un simpatico problema proposto da Stephen Hebert in un colloquio tecnico: "Write a routine that counts the number of bits in a byte." Voi come l'avreste risolto (facendo ovviamente meno ipotesi possibile)?

posted @ Thursday, October 21, 2004 1:28 AM | Feedback (25) | Filed Under [ Test Sharp ]

Nuovo test (chi vuol essere nel mio blogroll?)

Questa esspressione è False: a == a Chi è a? Viste le vostre ottime risposte ai test che ogni tanto vi propongo, ho deciso di premiare i migliori. Di seguito le regole per vincere e il premio: il premio consiste nell'inserimento del vostro blog nel mio blogroll pubblico, in una sezione a parte; per vincere è necessario avere un blog (non necessariamente su UGIdotNET!) e accettare di apparire col nome e il cognome reali;  la chiusura di un test (con il conseguente inserimento nel blogroll) avverà alla fine della settimana successiva alla data di pubblicazione del test; l'elenco dei vincitori sarà ordinato secondo l'ordine cronologico e il...

posted @ Friday, September 24, 2004 3:56 PM | Feedback (30) | Filed Under [ Test Sharp ]

Test (un'equazione in C#) - piccolo aiuto

Al mio "Test (un'equazione in C#)", Michele Bernardi ha suggerito una soluzione che contiene però un errore diciamo "interessante". Per aiutarvi, ecco la frase sbagliata: "1 bit per il segno, 10 per l'esponente e 53 per la mantissa" che, secondo lo standard IEEE 754 dovrebbe essere così: "1 bit per il segno, 11 bit per l'esponente e 52 per la parte frazionaria". Come mai allora il risultato rimane 1023 = Pow(2, 10) - 1, come già indovinato da Gianluca per primo? Il test continua :-) La canzone del giorno: Patty Pravo - "Morire... Dormire... Forse sognare...".

posted @ Friday, September 17, 2004 4:28 PM | Feedback (17) | Filed Under [ Test Sharp ]

Test (un'equazione in C#)

Si chiede il valore minimo dell'intero positivo n per avere la seguente espressione True: long.MaxValue - n - (long)(double)(long.MaxValue - n) == 0 Le soluzioni con le necessarie spiegazioni postatele nei commenti di questo post. Proponete voi la data di chiusura del test, sempre nei commenti.

posted @ Wednesday, September 15, 2004 2:04 PM | Feedback (17) | Filed Under [ Test Sharp ]

-AltroTest- (la mia soluzione)

I numeri possibili nel Quiz Sharp #36 sono: 1 - Pow(10, -2043) e 0 = 0 * Pow(10, Pow(10, 2043) - 1) Per avere un'idea sulla grandezza del numero moltiplicato con 0, pensate che un googolplex è "solo" Pow(10, Pow(10, 100)). Se al posto di 0 mettete 1, cioè 1e99...9, ovviamente il compilatore vi dà "Floating-point constant is outside the range of type 'double'". Come mai allora per 0e99...9 va tutto bene e il compilatore fornisce il risultato corretto? Il compilatore riconosce una moltiplicazione con 0 e chiude per il resto gli occhi. Quando tokenizza la parte exponent dell'espressione 0e99...9, non gli interessa di rappresentare...

posted @ Monday, September 6, 2004 11:36 PM | Feedback (8) | Filed Under [ Quiz Sharp Test Sharp Carillon .NET ]

-AltroTest-

Cosa dobbiamo mettere al posto del punto di domanda (sono permessi anche più caratteri), per rendere valido il seguente snippet? class Foo{  static void Main()  {    System.Console.WriteLine(-?-);  }} Apprezzerò, come sempre, le spiegazioni migliori. Se non si vede bene nell'HTML, il punto di domanda è delimitato da due trattini che devono rimanere così. Cosa ne dite di lasciare le vostre soluzioni e soprattutto spiegazioni nei commenti al posto di mandarmeli in mail? E' vero che si potrebbe perdere un po' della tensione della sfida, però da un'altra parte avreste un confronto più diretto e immediato tra di voi. E poi la gara secondo me migliorerebbe in qualità...

posted @ Sunday, September 5, 2004 4:00 PM | Feedback (25) | Filed Under [ Test Sharp ]

Test di buon rientro (le differenze C# e Java)

Il test di buon rientro, di cui vi ho svelato ieri sera i vincitori (purtroppo solo due) con le loro soluzioni, ha, come vi ho già accennato, comportamenti e spegazioni diversi in C# rispetto a Java. In un commento, Flavio mi ha chiesto come stanno le cose in Java - magari anche altri hanno la stessa curiosità (il confronto fra C# e Java fa, secondo me, sempre bene). Mary Smaragdis, una dipendente di Sun, ospita nel suo blog un simpatico concorso di quiz chiamato "Friday Free Stuff" con piccoli premi sponsorizzati dalla sua tenera generosità - eh sì, qui siamo diversi......

posted @ Saturday, September 4, 2004 4:37 PM | Feedback (13) | Filed Under [ Test Sharp ]

Test di buon rientro (i vincitori con le loro spiegazioni)

Ormai sono passate quasi due settimane da quando vi ho proposto questo test: "Pensate a dichiarare e inizializzare x e y in modo da avere: x += y; // un'assegnazione correttax = x + y; // errore di compilazione" e aggiungevo che "apprezzerò nei vostri feedback le spiegazioni migliori". Alla fine, siete ri-entrati tutti (dalle vacanze) ma solo due di voi sono ri-usciti :-) a mandarmi feedback validi. Il primo è stato lo Schumacher dei miei test, Flavio Polesello: "Per generare un errore di compilazione sull'assegnazione x = x + y è sufficiente dichiarare le variabili x e y di 1 o di 2...

posted @ Friday, September 3, 2004 11:08 PM | Feedback (23) | Filed Under [ Test Sharp ]

Test di buon rientro (posticipo)

Mi sa che il rientro non è ancora finito per tutti, quindi conviene magari posticipare la chiusura del "Test di buon rientro" per la fine della prossima settimana. Per adesso ho ricevuto solo un feedback e mezzo e la domanda secondo me è troppo interessante per non godervela in tanti :-)

posted @ Wednesday, August 25, 2004 5:48 PM | Feedback (14) | Filed Under [ Test Sharp ]

Test di buon rientro

Per una buona digestione delle vacanze, pensate a dichiarare e inizializzare x e y in modo da avere: x += y; // un'assegnazione correttax = x + y; // errore di compilazione Gli autori (Joshua Bloch e Neal M. Gafter) hanno pensato il quiz per Java, ma io ve lo propongo per C# - i comportamenti Java e C# in questo caso sono diversi tra loro, perciò ho rubato solo il testo del quiz, non la soluzione. Apprezzerò nei vostri feedback le spiegazioni migliori e le posterò verso la metà della prossima settimana (dipende anche da in quanti mi risponderete).

posted @ Saturday, August 21, 2004 4:45 PM | Feedback (2) | Filed Under [ Test Sharp ]

RomanEval (i vincitori con le loro soluzioni)

Grande divertimento con questi quiz, ragazzi!... Alcune soluzioni sono degne di TheDailyWTF! (sì, WTF viene proprio da What The F**k :-)) Inizio come sempre con la soluzione a cui ho pensato io e lascio poi che le vostre parlino da sole: private enum Roman{  UnFintoZeroRomano,  I, II, III, IV, V, VI, VII, VIII, IX, X,  XI, XII, XIII, XIV, XV, XVI, XVII, XVIII, XIX, XX}public static string RomanEval(string r){  string[] split = r.Split('+', '-');  int t1 = (int)Enum.Parse(typeof(Roman), split[0]);  int t2 = (int)Enum.Parse(typeof(Roman), split[1]);  Roman ret = (Roman)(t1 - t2 * ((int)r[split[0].Length] - 44));  return ret.ToString().Substring(0, ret.ToString().Length % ((Roman)0).ToString().Length);} Si può notare l'uso di una enum, l'espressione di ritorno calcolata in...

posted @ Wednesday, July 28, 2004 1:20 PM | Feedback (8) | Filed Under [ Test Sharp ]

Un altro quiz (RomanEval)

Vediamo questo come vi pare: Data una stringa r che rappresenta un'operazione di addizione o di sottrazione tra due numeri da 1 a 10 scritti con cifre romane si chiede di implementare la funzione: public static string RomanEval(string r) che ritorni il risultato sempre in cifre romane o la stringa vuota in caso di risultato 0. Si presuppone che l'espressione sia sempre valida, non possa dare risultato negativo e nell'implementazione non si richiede una sua verifica. E' vietato l'uso di istruzioni di selezione, istruzioni di iterazione oppure dell'operatore condizionale "?"! Alcuni esempi: "VIII+II" dovrebbe ritornare "X";"IX-VI" dovrebbe ritornare "III";"III-III" dovrebbe ritornare string.Empty; I vincitori e le...

posted @ Sunday, July 25, 2004 12:00 PM | Feedback (7) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #2 (i vincitori con le loro soluzioni)

I vostri feedback sono un ottimo barometro della qualità, che vuol dire che quando piovono email da voi, il problema non è male, altrimenti vi annoia e non mi mandate - giustamente :-) - niente. Così è successo col sogno #1 (che ha avuto un'ottima accoglienza!) e sempre così è successo col sogno #2 (che avete trovato troppo semplice e quindi ha avuto molto meno successo...). I vincitori stavolta sono due: Marco Poponi che mi ha mandato per primo una soluzione corretta (nel precedente quiz era arrivato quinto) e Massimo Prota secondo, che mi ha mandato una soluzione identica a quella...

posted @ Sunday, July 18, 2004 5:36 PM | Feedback (8) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #1 (i vincitori con le loro soluzioni)

Come promesso, ecco i vincitori con le loro soluzioni. Ricordiamoci prima il problema: Dato un array di interi dispari, oddArray, che determina una sequenza monotona crescente, e un intero pari, evenValue, si chiede di implementare la funzione: public static int IndexOfOddGreaterThanEven(int[] oddArray, int evenValue) che ritorni l'indice del primo elemento di oddArray maggiore di evenValue. Nel caso evenValue > max(oddArray) la funzione ritorna -1. Si presuppone che i parametri siano validi e che quindi l'implementazione non richieda una verifica di questi. Nell'implementazione è vietato l'uso di istruzioni di selezione, istruzioni di iterazione oppure dell'operatore condizionale "?"! Abbiamo un array ordinato di elementi (interi dispari)...

posted @ Wednesday, July 14, 2004 3:01 PM | Feedback (1) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #2

Dai vostri feedback ho capito che il test in questa forma vi piace di più rispetto a quello con risposta multipla - infatti così è più difficile sia per voi che per me, quindi più bello per tutti :-) Vediamo allora il secondo test (per il primo, domani pomeriggio saprete i nomi di quelli che hanno risposto correttamente, finora 4, e le soluzioni, finora 3 diverse): Dato un array di interi tutti diversi tra loro, array, e un intero value, si chiede di implementare la funzione: public static bool IsInSmallest13(int[] array, int value) che ritorni true se l'intero value è tra i 13 interi più...

posted @ Tuesday, July 13, 2004 7:15 PM | Feedback (10) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #1 (info)

Finora abbiamo 3 soluzioni corrette e diverse tra loro - che dire, complimenti ragazzi! Saprete i nomi e le soluzioni commentate mercoledì pomeriggio. Nel frattempo aspetto le vostre altre soluzioni all'indirizzo che trovate nel post precedente - peccato che non vi possa offrire un premio, l'avreste meritato! Mi adeguo alle vostre mail, inserendo una precisazione aggiuntiva: nell'implementazione è vietato l'uso di istruzioni di selezione, istruzioni di iterazione oppure dell'operatore condizionale "?"! Un'altra cosa che ho visto in alcune delle vostre mail: NON fatte il presupposto che gli interi dispari siano "consecutivi" (per esempio {9, 11, 13}) - la soluzione deve funzionare...

posted @ Monday, July 12, 2004 5:23 PM | Feedback (11) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #1 (errata corrige...)

Preso dall'onda della soluzione più che strana per il mio problema di ieri, non mi sono reso conto di un vincolo necessario: l'array oddArray dev'essere una sequenza monotona crescente.Il testo adesso corretto del problema, diventa: Dato un array di interi dispari, oddArray, che determina una sequenza monotona crescente, e un intero pari, evenValue, si chiede di implementare la funzione: public static int IndexOfOddGreaterThanEven(int[] oddArray, int evenValue) che ritorni l'indice del primo elemento di oddArray maggiore di evenValue. Nel caso evenValue > max(oddArray) la funzione ritorna -1. Si presuppone che i parametri siano validi e che quindi l'implementazione non richieda una verifica di questi.Nell'implementazione...

posted @ Sunday, July 11, 2004 4:25 PM | Feedback (8) | Filed Under [ Test Sharp ]

Sogno di una notte di mezza estate - #1

Se a qualcuno non ho fatto dormire di notte con la serie di Quiz Sharp (come mi hanno confessato alcuni dei partecipanti alla cena dopo il workshop del 22 giugno), allora vediamo cosa direte di questo problema, che pure a me che l'ho composto sembra bastardo :-) Dato un array di interi dispari, oddArray, e un intero pari, evenValue, si chiede di implementare la funzione: public static int IndexOfOddGreaterThanEven(int[] oddArray, int evenValue) che ritorni l'indice del primo elemento di oddArray maggiore di evenValue. Nel caso evenValue > max(oddArray) la funzione ritorna -1. Si presuppone che i parametri siano validi e che quindi l'implementazione...

posted @ Saturday, July 10, 2004 5:50 PM | Feedback (1) | Filed Under [ Test Sharp ]

Powered by:
Powered By Subtext Powered By ASP.NET