/2223_3M

Primary LanguagePythonMIT LicenseMIT

2223_3M

link a Repository con esempi

https://github.com/angelogalantiscuola/IT

Remote VSCode coding

Collegamento agli esercizi

Input/Output: print() e input()

  1. calcola_sconto_e_iva
  2. calcola_media_voti
  3. calcolo_giornaliero
  4. calcola_spesa_cinema
  5. calcola_circonferenza
  6. calcola_differenza_date
  7. calcola_espressione
  8. visualizza_dati_studente
  9. calcola_spesa_pavimentazione
  10. calcola_spesa_costruzione
  11. equazione_secondo_grado
  12. calcola_sconto_e_interesse
  13. calcola_conversione_valuta
  14. calcola_prestito_bancario

Scelta Condizionata: if e switch

  1. Numero_positivo/negativo
  2. Calcolo_sconto
  3. Verifica_carattere
  4. Calcolo_importo
  5. Anno_bisestile
  6. Conversione_giorno
  7. Verifica_data_inserita
  8. Tipo_di_triangolo
  9. Giudizio_voto_studente
  10. Punteggio_finale
  11. Costo_fotocopie
  12. Calcolo_media_voti
  13. Calcoli_numerici_interattivi
  14. Geometria_triangolare_interattiva
  15. Calcolo_affitto_bungalow
  16. Convertitore_lettera
  17. Esercizi_vari_di_matematica
  18. Calcolo_circonferenza_e_area

Cicli: for e while

  1. Somma_di_valori_assoluti
  2. Quiz_di_domande_con_punteggio
  3. Statistiche_numeriche
  4. Moltiplicazione_con_l'addizione
  5. Contribuenti reddito > 30K
  6. Prospetto risultati seggi
  7. Dipendenti età pensionabile e minorenni
  8. Indice di obesità e conteggio obesi
  9. Gioco di lancio monete e dadi
  10. Prenotazione alberghi
  11. Prodotto più costoso
  12. Indice di attività città
  13. Albero di Natale
  14. Superficie collinare
  15. Numeri pari e dispari
  16. Numeri doppi
  17. Informazioni CD
  18. Calcolo quadrato di un numero
  19. Coppie di numeri uguali

Liste

  1. Gli alunni di 3M
  2. Cognomi lunghi con E e C
  3. Nomi femminili senza volitivo
  4. Nomi femminili con volitivo
  5. Numeri casuali

Funzioni

  1. nome_eta_descrizione
  2. descrizione_eta_nome
  3. descrizione_eta_casuale
  4. descrizione_casuale_eta
  5. swap_variabili_intere
  6. giorni_trascorsi_anno
  7. confronta_date
  8. verifica_maiuscole
  9. differenza_max_min
  10. tre_divisori
  11. fibonacci_iterativo_ricorsivo

Array

voti_studenti_da_file

Input/Output: print() e input()

  1. Dato un importo, calcolare lo sconto del 5% e applicare un'IVA dell'8%.
  2. Dato un nominativo di un alunno e 3 voti di una materia, visualizzare la media dei voti.
  3. Dato il giornaliero di un ombrellone di 12 euro, lettini di 5 euro e sedie a sdraio di 6.50 euro, elaborare un algoritmo che chiede all'utente di inserire il numero di giorni ed i servizi che vuole prenotare e calcola la spesa complessiva.
  4. Un cinema sta facendo la seguente promozione: adulto 10 euro, minorenne 6 euro. Il cinema lavora solo con gruppi su prenotazione, calcolare la spesa complessiva dato il numero di persone nel gruppo.
  5. Scrivi un algoritmo che determini la circonferenza e l’area di un cerchio conoscendo il raggio.
  6. Calcola il tempo trascorso tra due date espresse in giorni, mesi e anni (es: 12/06/2020). Consideriamo i mesi di 30 giorni.
  7. Letto in input il valore di X calcola il valore dell’espressione aX^2 + bX sapendo che A vale 10 e B vale 15.
  8. Dato in input il nominativo e l’età di uno studente, visualizzare a video la posizione del registro, il nominativo, il nome della scuola e la data odierna.
  9. Crea un programma che permetta di calcolare e visualizzare la spesa necessaria per pavimentare una stanza di dimensione 7*4 avendo in input: il costo delle piastrelle al metro quadrato, il costo orario della manodopera e il numero di ore impiegate. Al costo finale aggiungi l’X% di IVA.
  10. Un cliente ha deciso di costruire una piccola casetta per gli attrezzi da giardino. Hai bisogno di L assi larghe per il tetto, P assi di legno piccole per le pareti e Q riquadri di legno per il pavimento. Realizza un programma che dopo avere preso in input L,P,Q e il loro prezzo unitario (senza IVA), calcoli e visualizzi la spesa da sostenere, sapendo che il venditore ha uno sconto del 10% ma chiede 30 euro per la consegna.
  11. Data un'equazione di 2° grado che abbia come soluzione “due numeri reali distinti” (Delta>0), calcoli tali valori, il fuoco e il vertice. Visualizzare oltre ai valori sopracitati anche il valore del delta.
  12. Dato un importo, applicare lo sconto del 5% e considerare l'IVA al 12%.
  13. Un giocatore di D&D vuole visualizzare le sei statische del suo personaggio, dati i sei valori compresi tra 3-18, visualizzarli in ordine con accanto l'etichetta che lo descriva: Str, Int, Sag, Dex, Cos, Cha.
  14. Data una sequenza di 8 bit, dare il corrispendente valore decimale. (Dati 8 varibili, da b0 a b7).

Scelta Condizionata: if e switch

  1. Determina se un numero è positivo/negativo.
  2. Sul prezzo di un prodotto viene praticato lo sconto del X% se si acquistano fino a 10 pezzi e dell'Y% se si acquistano più di 10 pezzi. Presi in input il pezzo di un prodotto e il numero di pezzi da acquistare, stampa la spesa da sostenere.
  3. Verifica se un carattere digitato da tastiera corrisponde a: "S" o "s" visualizzare il messaggio "Si", "N" o "n" visualizzare il messaggio "No", un altro carattere visualizzare il massaggio "Errato".
  4. Presi in input i dati relativi all'acquisto di una merce (codice merce, quantità, descrizione, prezzo unitario, tipo di pagamento(se contanti o rateale)), calcola e stampa l'importo totale delle merce, sapendo che se il pagamento è in contanti il prezzo va diminuito del 10%, se è rateale va diminuito del 15%. Un parcheggio ha tariffa 2 euro per la prima ora di sosta e 1 euro per ogni ora successiva. Conoscendo l'orario di entrata e di uscita di un'autovettura(espresso in ore e minuti), emetti uno scontrino con l'ora di entrata, l'ora di uscita, il tempo di durata della sosta e la relativa spesa. (suggerimento: trasforma dapprima gli orari di entrata e di uscita in minuti).
  5. Determina se un anno fornito in input è bisestile. Un anno è bisestile se è divisibile per 4, gli anni secolari non sono bisestili se non sono divisibili per 4.
  6. Converti il giorno della settimana da numerico a stringa. (es. 1 --> Monday, 2 --> Tuesday)
  7. Crea un programma che verifichi se la data inserita è corretta (attenzione: i mesi sono 12, non in tutti i mesi ci sono 31 giorni, alcuni anni sono bisestili)
  8. Il programma legge tre lunghezze dei lati di un triangolo e dice se il triangolo è scaleno, isoscele o equilatero.
  9. Scrivere un programma che legga il nominativo di uno studente e un voto, e dica se è insufficiente o sufficiente, e se è insufficiente distingua tra gravemente insufficiente (minore o uguale a 4) o insufficiente (compreso tra 4 (escluso) e 6 (escluso)). Si visualizzi il nominativo e il giudizio, non il valore del voto.
  10. In un concorso a punteggio conseguito nelle prove scritte vanno aggiunti i punti relativi ai titli di studio secondo il seguente schema: elementare 1 punto, media 2 punti, superiore 4 punti, laurea 7 punti, nessun titolo 0 punti. Calcola il punteggio finale conoscendo il punteggio iniziale e il titolo di studio.
  11. In una copisteria, il costo unitario delle fotocopie varia a seconda del numero da effetture secondo la seguente tabella: n.1-19 0,10 euro, n.20-100 0,08 euro, piu di 100 0,05 euro. Inoltre se le fotocopie sono da rilegare viene aggiunto un costo di 1,80 euro. Dati in input il numero di fotocopie da effetturare, il nome del cliente e un indicazione che segnali se il plico è da rilegare, calcola il costo totale e stampa il seguente prospetto: Gentile Sig. ___ il suo preventivo è di ___ euro compresa la rilegatura. L'ultima riga è da scrivere solo se è richiesta la rilegatura.
  12. Uno studente ha effettuato 4 prove ottenendo voti compresi tra 1 e 10. Scrivi un programma che calcoli la media dei voti e stampi il seguente prospetto: STUDENTE_____ MEDIA____ RISULTA____ Stampa la scritta "sufficiente" se la media è >6, "insufficiente" altrimenti.
  13. Scrivi un programma che, tramite menu, permetta di calcolare il quadrato, il cubo e la radice quadrata di un numero fornito in Input. Prevedi opportuni messaggi di errore se la scelta è errata e se viene richiesta la radice quadrata di un numero negativo.
  14. Scrivi un programma che, tramite menu, permetta di calcolare l'area e il perimetro di un triangolo, distinguendo i casi di triangolo rettangolo, isoscele, equilatero e generico.
  15. Un campeggio vuole calcolare il costo degli affitti dei suoi bungalow. Scrivi un programma che effettui il calcolo dell'affitto di un bungalow (massimo per 2 settimane) tenendo presenti le seguenti tariffe: quota fissa 100 euro, una settimana 600 euro, due settimane 1100 euro e eventuale supplemento lenzuola 20 euro a settimana
  16. Generare una lettera casuale tra A ed E e convertirla in un voto numerico A-B = 3 C = 2 D-E = 1
  17. Scrivere 10 volte la parola "ciao", sommare i numeri da 10 a 20 (compresi gli estremi), sommare i numeri pari fino a 30 (30 incluso) e moltiplicare i numeri da 1 a 10
  18. Scrivi un programma che calcoli il valore della circonferenza e quello dell'area di tutti i cerchi con raggio compreso tra 1 e 20.
  19. Dati N numeri interi positivi e negativi trova la somma dei valori assoluti.
  20. In un quiz vengono poste N domande(facili e difficili). Se il concorrente risponde correttamente a una domanda facile ottiene 2 punti, altrimenti ne perde 4, per le domande difficili ottieme 4 punti se la risposta è giusta, ne perde 2 se è sbagliata. Calcola il punteggio complessivo.
  21. Dato N inserito dall'utente: stampare il massimo numero inserito, stampare il minimo numero inserito, stampare la media dei numeri inseriti, stampare la media di solo i numeri positivi inseriti.
  22. Determina il prodotto di due numeriinteri utilizzando solamente l'operazione di addizione.

Cicli: for e while

  1. Siano dati in input il codice fiscale, il reddito e il nome di una serie di contribuenti, stampa il nomi e i codici fiscali dei contribuenti con reddito superiore a 30.000 euro.
  2. Dati in input i risultati relativi a N seggi elettorali, per ogni seggio hai le seguenti informazioni : numero iscritti, numero votanti, numero di schede nulle, numero di schede bianche. Scrivi un programma che stampi il seguente prospetto: percentuale votanti su tutti i seggi, percentuale schede bianche, percentuale schede nulle.
  3. Scrivi un programma che presi in input l'anno corrente e i dati relativi a N dipendenti di un'azienda con nome e anno di nascita, stampi il numero di dipendenti di età pensionabile(età>=65) e il numero di dipendenti minorenni(età<18).
  4. Di N persone sono forniti il peso e l'altezza. Calcola per ciascuna l'indice di obesità(peso/altezza). Conta a mano a mano il numero di quelle che hanno indice di obesità maggiore di un valore K prefissato.
  5. Crea un programma che esegua le seguenti istruzioni: 1) lasciare una moneta fino a che non esce testa, 2) lanciare una moneta fino a che non esce testa 2 volte di fila, 3) lanciare due dadi fino a che non esce lo stesso numero in entrambi, 4) stampare i valori usciti ad ogni lancio solo se la somma dei valori e' maggiore di 5, 5)terminare forzatamente l'esecuzione se la somma dei valori e' 11.
  6. Siano dati in input i dati relativi a una serie di alberghi di una determinta località. Per ogni albergo hai in input: nome albergo, categoria, numero posti disponibili. Supponendo di avere in input un numero intero indicante il numero di posti da prenotare, stampa uno dei seguenti messaggi: La prenotazione può essere effettuata nell'hotel... e rimangono disponibili ancora... posti. Oppure La prenotazione non può essere effetuata perche mancano.... posti. A seconda che il numero di posti da prenotare sia minore o uguale al numero di posti disponibili oppure se i posti da prenotare sono più dei posti disponibili.
  7. Scrivi un programma che,presi in input i dati relativi a una serie di prodotti con: codice, descrizione, prezzo. Stampi il codice e la descrizione relativi al prodotto più costoso.
  8. Di N città si conoscono il numero di abitanti e il numero di quelli attivi. Calcola per ciascuna città l'indice di attività (attivi/abitanti * 100) e stampa il nome della città con l'indice più basso e di quella con l'indice più alto.
  9. Crea un programma che utilizzi un ciclo nidificato per visualizzare un albero di natale con caratteri a scelta.
  10. Crea un programma che utilizzi un ciclo nidificato per visualizzare una superficie colllinare.
  11. Stampa i primi N numeri pari e successivamente i primi N numeri dispari (N è letto in input ed è >0).
  12. Scrivi un programma che stampi N numeri (N è letto in input e deve essere > 0) in modo tale che il numero stampato sia il doppio del precedente.
  13. Realizza un programma per stampare informazioni su alcuni compact disc. Per ogni CD devono essere richiesti: titolo del CD, numero di brani che compongono il CD, titolo e durata(espressa in minuti) di ciascun brano. Stampa la durata del CD e il titolo del brano ha durata maggiore. Ripeti il procedimento per N CD (N è fornito in input) e stampa al termine il titolo del CD che ha durata maggiore.
  14. Calcola il quadrato di un numero N sfruttando il fatto che esso è dato dalla somma dei primi N numeri dispari (per esempio 3^2=1+3+5=9).
  15. Leggi dalla tastiera una serie di coppie di numeri interi, una coppia per ogni riga. Conta le coppie che presentano due valori che siano uguali. La serie termina quando entrambi ii valori letti in input sono uguali a 0.

Liste

  1. Creare una lista con i cognomi degli alunni di 3M (in ordine alfabetico), stampare tutti i cognomi (uno per riga), inserire un nuovo alunno in fondo, cancellare il primo alunno, inserire l'alunno 'Pippo' seguendo l'ordine alfabetico, modificare il cognome dell'alunno 'Pippo' in 'Pluto', stampare il cognome del quarto alunno.
  2. Modificare l'esercizio precedente: creare una nuova lista che contiene solo i cognomi piu lunghi di 8 caratteri che contengono la lettera E, stampare i cognomi ordinati dalla Z alla A, creare una copia della lista cognomi lunghi con la E, creare una nuova lista che contiene solo i cognomi che contengono la lettera C, unire le due liste 'cognomi lunghi con la E' e 'cognomi che contengono la lettera C'.
  3. 1.Data una lista con elementi: "Signore Mario" e/o "Signora Maria", dre in output una lista dei soli nomi femminili senza volitivo.
  4. Data in input una lista dei soli nominativi femminili, dire quanti sono i nomi femminili e generare una nuova lista con i nomi femminili e il volitivo esempio: "Sig.ra Maria" e visualizzarlo.
  5. Creare una lista di 8 numeri random tra 1 e 10 (estremi inclusi) e calcolare: il massimo dei numeri, il minimo dei numeri, la moda dei numeri, una lista con i tre risultati, la lista con i risultati. Utilizzare le funzioni e il metodo top-down nella risoluzione del problema.

Funzioni

  1. Creare una funzione descrizione() con due parametri nome ed eta. La funzione restituisce una stringa formattata nel seguente modo: "nome ha eta anni." descrizione("Pippo",23). Utilizzare il type-hinting.
  2. Creare una funzione descrizione() con due parametri nome ed eta. La funzione restituisce una stringa formattata nel seguente modo: "nome ha eta anni." descrizione("Pippo",23). Utilizzare il type-hinting.
  3. Creare una funzione descrizione_eta_casuale() con un parametro nome. L'eta e' calcolata in modo casuale La funzione restituisce una stringa formattata nel seguente modo: "nome ha eta anni." descrizione_eta_casuale("Pippo"). Utilizzare il type-hinting.
  4. Creare una funzione(?) descrizione_casuale(). Il nome e' scelto in modo casuale da una lista di nomi interna alla fuzione. L'eta e' calcolata in modo casuale La funzione restituisce una stringa formattata nel seguente modo: "nome ha eta anni." descrizione_casuale(). Utilizzare il type-hinting.
  5. Scrivere una procedura che permetta di scambiare il contenuto di due variabili intere.
  6. Scrivere una funzione che riceva due date dello stesso anno e restituisca il numero di giorni che sono trascorsi tra le due date.
  7. Scrivere una procedura che effettui il confronto,la convalidazione e il calcolo della differenza fra due date espresse in giorno, mese, anno.
  8. Creare un programma che fa inserire all’utente tre caratteri e usando una funzione verifica e stampa quanti di questi sono lettere maiuscole.
  9. Creare una funzione che riceve tre numeri interi e restituisce la differenza tra il più grande e il più piccolo. Creare anche un main che consenta di provare la funzione.
  10. Creare una funzione che restituisce se un numero intero ha almeno 3 divisori. Creare poi un programma che dica se un numero passato dall’utente e il più grande numero intero più piccolo del suo quadrato hanno almeno tre divisori.
  11. Calcolare l'n-esimo numero della successione di Fibonacci. Creare la funzione iterative_fibonacci(n:int) -> int che calcola il numero in modo iterativo. Creare la funzione recursive_fibonacci(n:int) -> int che calcola il numero in modo ricorsivo.

Vettori

  1. Siano dati in input il codice fiscale, il reddito e il nome di una serie di contribuenti, stampa i nomi e i codici fiscali dei contribuenti con reddito superiore a 30.000 euro.
  2. Il risultato di uno studente allo scrutinio finale è deciso sulla base del numero di insufficienze nelle materie secondo uno schema di questo tipo: nessuna insufficienza = promosso, da 1 a 3 insufficienze = giudizio sospeso, più di 3 insufficienze = non promosso. Scrivi un programma che, presi in input il nome e la media dei voti di uno studente nelle diverse materie, calcoli e stampi il nome dello studente e il suo risultato finale.
  3. Carica un vettore di numeri poi stampa la somma di tutti i numeri in posizione dispari e in posizione pari.
  4. Dati gli stipendi di N dipendenti, realizza un programma che memorizzati i dati in un vettore, permetta di: visualizzare la posizione dello stipendio massimo, visualizzare la media degli stipendi, incrementare lo stipendio di tutti del 10%.
  5. I dati relativi al campionato di calcio sono memorizzati in tre vettori paralleli: 1)SQUADRE (contenente il nome della squadra), 2)SERIE (contenente << A >> o << B >> ), 3)PUNTI (contenente il puntegeo ottenuto nel campionato). Scrivi un programma che preveda di:
  1. visualizzare l’elenco delle squadre di serie A nella forma: ELENCO SQUADRE SERIE A SQUADRA PUNTI
  2. dato in input il nome di una squadra, stampare la serie in cui milita e i punti realizzati: se la squadra non esiste, stampare una segnalazione di errore, costruire e stampare un altro vettore CLASSE contenente solo le squadre di serie B, cercare e stampare il nome della squadra campione di serie A.
  1. Dati due vettori numerici di dimensione n e m con i valori già inseriti, creare un terzo vettore di dimensione n+m con tutti i valori dei precedenti due.
  2. Dati due vettori di dimensione n dichiarare un terzo vettore di dimensione n che contenga SOLO i primi i-esimi valori dei due vettori fino al suo riempimento.
  3. Siano dati in input tre vettori paralleli contenenti il titolo, l'autore e l'incasso di N film di prima visione, scrivi un programma in grado di soddisfare le seguenti richieste: 1)stampare tutti i film di un determinato autore (fornito in input), 2)stampare titolo e autore del film con maggiore incasso, 3)stampare la media degli incassi dei film di un determinato autore.
  4. Memorizza in un vettore l’elenco dei prezzi di listino di alcuni prodotti. Aumenta detti prezzi, tenendo presente che i prezzi inferiori a 5 euro andranno aumentati del 10% mentre quelli superiori andranno aumentati del 6%.