Compatibile con Xcode 8

La sfida del soldato Swift parte 1. Inviami i tuoi Esercizi

Soldato Swift a rapporto!

Prima di procedere oltre, prova a risolvere un paio di questi esercizi. Solamente testando le tue capacità potrai effettivamente valutare quanto e cosa realmente conosci del linguaggio Swift.

Gli esercizi sono stati pensati per poter essere risolti con le conoscenze acquisite fin ora. Niente di meno e niente di più. Si tratta di una mera e pura applicazione delle nozioni apprese nella prima parte del corso.

Esercizi base del linguaggio di programmazione Swift

Per lo svolgimento degli esercizi, sentiti libero di utilizzare il metodo che più preferisci e se ti va di svolgerli con le funzioni o con semplice codice procedurale, di sicuro non te lo vieterò io.

Questi esercizi oltre a testare la tua conoscenza del linguaggio testano anche la tua capacità critica e risolutiva.

Ne approfitto per ringraziare Gianluca Alterio per il testo di alcuni esercizi (in caso prenditela con lui se non riesci a risolvere alcuni degli “Esercizi classici della programmazione old style“). Se hai spunti e suggerimenti per altri esercizi, lascia pure un commento.

Gli esercizi proposti. Cominciamo a pensare alle applicazioni

  • Esercizio 0. Una classe di un liceo è composta da 10 alunni, maschi e femmine. Ogni alunno ha un’età diversa. Crea una    funzione che calcoli la media delle età: delle ragazze o dei soli ragazzi.
    La classe è rappresentata da un dizionario dove:

    • la chiave è il nome dell’alunno.
    • il valore è una Tupla che indica se l’alunno è Maschio o Femmina e il valore dell’età. La tupla ti ricordo che ha questa forma: (sesso: String, età: Int).

 

  • Esercizio 1. Un’applicazione conserva una lista di comuni organizzati in ordine alfabetico tenendo conto solamente della prima lettera maiuscola di ogni comune/città. L’applicazione ti permette di cercare un comune in base ad un testo inserito in un campo di testo (o TextField).
    • Per esempio sotto la lettera A ci sono i comuni Acireale, Aci Platani, Arezzo, Avellino. Sotto la lettera C i comuni Catania, Crotone ecc.
      • I comuni, sotto ogni lettera, non devono obbligatoriamente essere inseriti in ordine alfabetico.
      • Trova la struttura dati più adatta a rappresentare questa tipologia di informazioni.
    • Una funzione deve essere in grado di recuperare la lista dei comuni filtrata in base al testo inserito. Cioè se l’utente inserisce “A” la funzione deve tornare i comuni [“Acireale”, “Aci Platani”, ecc ecc]. Se invece l’utente inserisce “Ar” deve restituire solo [“Arezzo” e gli altri che cominciano per Ar].
      • Cerca di risolvere l’esercizio senza utilizzare le funzioni di sort o filter del linguaggio swift.
      • L’unica funzione che possono consigliarti di utilizzare è la hasPrefix che restituisce true se una stringa contiene o meno una stringa come prefisso. Se sei un temerario non utilizzare neanche questa :P

 

  • Esercizio 2.  Un’applicazione ti permette di salvare delle “cose” da acquistare. Le cose da acquistare sono organizzate in base ad una categoria: Dolci, Carne, Altro, Indumenti ecc. Una volta acquistato un elemento, questo viene rimosso dalla lista e conservato in una lista di elementi acquistati.
    • L’applicazione ti permette di inserire un nuovo oggetto nella lista della categoria che lo rappresenta.
      • Suggerimento: Organizza gli elementi all’interno di un dizionario di array dove la chiave rappresenta la categoria ed il valore è un array di stringhe che identificano gli elementi da acquistare.
      • L’inserimento devi farlo con una funzione che ha per parametro il nome del nuovo oggetto da acquistare e la categoria d’appartenenza. Assicurati di inserire i casi d’errore (uno tra questi è Categoria non presente).
    • Di rimuoverlo dalla lista degli oggetti da acquistare e di inserirlo nella lista degli acquistati. Un dizionario analogo al precedente.

 

 

Come si invia il codice

Se ti va carica il tuo codice su paste.ofcode.org e condividi il link con un commento alla lezione.

Altrimenti, se vuoi incollare direttamente il codice come commento, devi inserirlo all’interno dei seguenti tag:

schermata-2016-10-25-alle-13-00-44

Considerazioni

Più che una vera e propria sfida contro gli altri, questa dovrà essere una sfida individuale per mettere realmente alla prova le tue conoscenze basilari del linguaggio Swift.

Preferirei che si attivasse una discussione interna a questa lezione. Quindi, se hai un problema, lascia pure un commento a questa lezione.

Non è un contest e non è una gara per la scoperta del programmatore migliore della community. Quindi non vergognarti di fare domande o di esporre un problema perché, ricordati sempre, chi fa domande è un passo avanti a chi non le fa!

Con questo ti saluto e non posso che augurarti,
Buona Programmazione!

Changelog

  • 31/10/2016 – Aggiunto il changelog. Aggiunti nuovi esercizi in ottica Swift e sviluppo app.

Torna a: Corso gratuito linguaggio di programmazione Swift > Dai controlli alle funzioni del linguaggio Swift

Start typing and press Enter to search

la sfida del soldato swift parte 2