ESERCIZIO: CODICE FISCALE
|
|
|
- Valerio Ferri
- 9 anni fa
- Visualizzazioni
Transcript
1 ESERCIZIO: CODICE FISCALE Problema: Scrivere un programma che, a partire dai dati anagrafici, calcoli il codice fiscale di una persona. Il C.F. è composto di 5 parti: tre lettere identificative del cognome tre lettere identificative del nome due cifre, una lettera e altre due cifre, indicanti sesso e data di nascita una lettera e tre cifre, indicanti il Comune di nascita una lettera di controllo, calcolata sulla base delle lettere e delle cifre precedenti. 1
2 ESERCIZIO: CODICE FISCALE Problema: Scrivere un Le programma prime tre consonanti che, a partire (se dai non dati bastano, anagrafici, calcoli le vocali; il codice se non fiscale bastano di ancora, una una X) persona. Esempi: Il C.F. è composto di 5 parti: ROSSI MARIO fi RSS MRA tre lettere identificative del cognome; ROSSI GASTONE fi RSS GTN tre lettere identificative del nome; due cifre, una lettera e altre due cifre, indicanti La sesso prima, e la data terza di e nascita; la quarta consonante una lettera (se e non tre ci cifre, sono indicanti quattro consonanti, il Comune si usano di nascita; le prime tre; se non bastano, si usano le una lettera vocali; di controllo, se non bastano calcolata ancora, sulla una base X) delle lettere e delle cifre precedenti. 2
3 ESERCIZIO: CODICE FISCALE Problema: Scrivere un programma che, a partire dai dati anagrafici, Anno, calcoli mese e il giorno codice di fiscale nascitadi una persona. Per le donne, giorno aumentato di 40 Mese = A, B, C, D, E, H, L, M, P, R, S, T Il C.F. è composto di 5 parti: tre lettere identificative Esempi: del cognome; tre lettere identificative 01/02/1978 del nome; (maschio) fi 78B01 due cifre, una lettera 25/12/1969 e altre due (femmina) cifre, fi 69T65 indicanti sesso e data di nascita; una lettera e tre cifre, indicanti il Comune di nascita; una lettera di Sigla controllo, che si calcolata trova su apposite sulla base tabelle delle lettere e delle Bologna cifre precedenti. = A944, Reggio E. = H223, etc diverse sigle, inclusi Stati esteri
4 ESERCIZIO: CODICE FISCALE Problema: Scrivere Cifre 0 un 9 fi programma Lettere A che, J a partire dai dati anagrafici, Lettere di posto calcoli pari il codice (2,4,..) fiscale 0-25 di una persona. Lettere di posto dispari (1,3,&)fi vedi tabella: B A K P L C Q D R E V O S F T G U Il C.F. è composto di 5 parti: tre lettere identificative del cognome; H M I N J W Z Y X tre 17 lettere identificative del 25 nome; due Alla cifre, fine, una si somma lettera tutto e altre e si due prende cifre, il risultato indicanti modulo 26. sesso e data di nascita; una lettera e tre cifre, indicanti il Comune di nascita; una lettera di controllo, calcolata sulla base delle lettere e delle cifre precedenti. 4
5 ESERCIZIO: CODICE FISCALE Problema: Scrivere Esempio: un Rossi programma Mario, 12/6/76, che, a partire Bologna dai dati anagrafici, calcoli il codice fiscale di una R S S M R A 7 6 H 1 2 A 9 4 4? persona. R S S M R A H G H B C A J E E? Il C.F. 18 è 12 composto 0 6 di 5 parti: (pari) tre 8 lettere 12 identificative del 5 cognome; 21 (dispari) tre Totale: lettere 138 identificative mod 26 = 8 fi del Inome; due R S cifre, S M una R A lettera 7 6 e H altre 1 2 due A 9 cifre, 4 4 I indicanti sesso e data di nascita; una lettera e tre cifre, indicanti il Comune di nascita; una lettera di controllo, calcolata sulla base delle lettere e delle cifre precedenti. 5
6 UN PROBLEMA: OMOCODIA L'algoritmo di calcolo del C.F. ha un difetto: può generare due codici identici se due persone hanno "quasi" lo stesso cognome e nome sono nate nello stesso giorno/mese/anno e comune sono dello stesso sesso Improbabile? NO! esistono già casi del genere e più di 1000 nuovi ogni anno Soluzione: le cifre numeriche sono via via sostituite da lettere, a partire da destra: 0 L 1 M 2 N 3 P 4 Q ma per identificare l'omocodia bisogna accedere all' Anagrafe Tributaria! 6
7 ARCHITETTURA Per definire l'architettura dell'applicazione bisogna rispondere ad alcune domande fondamentali: Quali e quante classi? Chi usa cosa? Componenti software (statici) o classi come ADT (oggetti dinamici)? Quale modello di interazione fra l'applicazione nel suo complesso e l'esterno? da console (standard input) dalla linea di comando in altro modo ancora... 7
8 ARCHITETTURA: UNA POSSIBILE SCELTA Quali e quante classi? una sola pubblica: CodFisc Componenti software (statici) o classi come ADT (oggetti dinamici)? una componente software (statico) con una sola funzione (statica) pubblica: public static String calcolacodice(...) Quale modello di interazione fra l'applicazione nel suo complesso e l'esterno? argomenti dalla linea di comando del main 8
9 INTERAZIONE CON L'ESTERNO Ipotesi: argomenti sulla linea di comando del main Già.. ma FORMATTATI COME? La data esiste come entità atomica (1/2/1978) o vengono invece fornite le singole entità componenti? C:> java CodFisc Rossi Mario M A944 classe con il main cognome nome giorno mese anno sesso sigla Comune di nascita Attenzione: i caratteri numerici non sono numeri! 9
10 INTERAZIONE CON L'ESTERNO Sottoproblema: come trasformare stringhe in numeri? dalla riga di comando otteniamo stringhe di caratteri come "1978", "2". ma questi non sono gli interi millenovecentosettantotto, due, etc: OCCORRE UNA TRASFORMAZIONE! C:> java CodFisc Rossi Mario M A944 La trasformazione di stringhe in numeri (int, float, ) viene svolta dalle funzioni statiche: int Integer.parseInt(String) float Float.parseFloat(String) etc.; ad esempio: int x = Integer.parseInt("1978"); 10
11 LA CLASSE CodFisc Struttura interna (funzioni statiche private): una funzione calcolasiglacognome che calcola le prime tre lettere una funzione calcolasiglanome che calcola le seconde tre lettere una funzione calcolasigladata che calcola il blocco centrale (data di nascita e sesso) (la sigla del comune di nascita si assume data) una funzione calcolaultimalettera che calcola la lettera finale Interfaccia esterna (funzioni statiche pubbliche): la funzione calcolacodice che si avvale dei servitori privati precedenti. 11
12 Interfaccia: LA FUNZIONE calcolasiglacognome private static String calcolasiglacognome(string cognome) Specifica: occorre una stringa sigla per accumulare via via il risultato esplorare cognome da sinistra verso destra: finché contiene con-sonanti, e purché non ne siano già state trovate tre, concatenare la consonante trovata in coda a sigla se sigla non contiene ancora tre consonanti, ripetere l'esplora-zione di cognome cercando le vocali: finché ce ne sono e fintanto che sigla non contiene tre lettere, accodare la vocale trovata a sigla se dopo ciò in cognome manca ancora una lettera (possibile solo con i cognomi di due sole lettere), accodare a sigla una 12 X
13 COMPLETARE L'ESERCIZIO Per finire l esercizio: definire le altre funzioni definire un main che invochi calcolacodice con i parametri appropriati Osservazione (cambiamento dei requisiti): Cosa cambierebbe se i dati, invece che dalla linea di comando del main, provenissero dallo standard input, da un file,... dalla rete, da un'interfaccia grafica?? 13
ARRAY RESTITUITI DA FUNZIONI
ARRAY RESTITUITI DA FUNZIONI Gli array Java possono essere restituiti come risultato di funzioni, come qualunque altro oggetto ESEMPIO int[] creatabellaquadrati(int n) ESEMPIO DI ARRAY RESTITUITO ESEMPIO
Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1. Esercizio 1 - Soluzione. Esercizio 1 - Soluzione. Fondamenti di Informatica T2 Modulo 2 Lab 1
Università egli Stui i Bologna Facoltà i Ingegneria Fonamenti i Informatica T Moulo Lab Corso i Laurea in Ingegneria Informatica Anno accaemico 008/009 Esercizio Ancora frazioni Creare il componente Frazione
CODICE FISCALE. Cos'è e a cosa serve
CODICE FISCALE Cos'è e a cosa serve Il codice fiscale rappresenta lo strumento di identificazione del cittadino nei rapporti con gli enti e le amministrazioni pubbliche. L'unico valido è quello rilasciato
SERVIZI ANAGRAFICI MASSIVI - INTERROGAZIONE SPECIFICHE TECNICHE SERVIZIO SM1.02
SERVIZI ANAGRAFICI MASSIVI - INTERROGAZIONE SPECIFICHE TECNICHE SERVIZIO SM1.02 Servizio_SM1_02_specifiche_tecniche_versione1.3.docx Pag. 1 Indice 1. Generalità del servizio... 3 1.1. Descrizione del servizio...
TRACCIATO RECORD DI TESTA. Tipo di dato. Codice numerico NU Vale sempre "53" TIPOLOGIA DI INVIO
TRACCIATO RECORD DI TESTA Campo Posizione Lunghezza Descrizione campo da a Tipo di dato Valori Note 1 1 1 1 Tipo Record Vale sempre "0" 2 2 6 5 Codice identificativo della fornitura Vale sempre "POS01"
BOZZA INTERNET del 23/12/2015. Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alle spese funebri
Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alle spese funebri 1 1. GENERALITA Il presente documento descrive le modalità di compilazione delle comunicazioni dei
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Guida a SacramentiWeb 1.2
Guida a SacramentiWeb 1.2 Benvenuti! Dopo aver effettuato il logon, potete utilizzare le funzionalità di accesso alla Banca Dati del Vicariato di Roma. Tramite il menù principale potrete accedere a: Ricerca
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
8.1 Anagrafica Imprese
8.1 Anagrafica Imprese Questo link è utilizzato per l inserimento e la gestione dei dati relativi ad un impresa. Per modificare le informazioni di un impresa già esistente inserire la ragione sociale e/o
Array multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA1 1.1 Programmazione base 1 Prerequisiti Saper scrivere algoritmi elementari Tecniche elementari di sviluppo di una applicazione Modalità a riga di comando Utilizzo
ALLEGATO B. Specifiche tecniche per la trasmissione telematica Modello INTRA 12
ALLEGATO B Specifiche tecniche per la trasmissione telematica Modello INTRA 12 Specifiche tecniche modello INTRA 12 Allegato B INDICE 1. AVVERTENZE GENERALI...3 2. CONTENUTO DELLA FORNITURA...3 2.1 GENERALITÀ...
Lezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
CREAZIONE D IMPRESA 1
CREAZIONE D IMPRESA 1 1 Informazioni generali Questo manuale contiene le procedure e le modalità di utilizzo del SiForm, il Sistema Informativo della Formazione Professionale. In questa prima sezione vengono
Corso sul linguaggio C
Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione
Esercizio 1 Liste: calcolo perimetro di un poligono
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 12 Esercitazione: 28 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo perimetro di
GESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1
Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero
ALLEGATO A. Specifiche tecniche per la trasmissione telematica delle Comunicazioni di richiesta delle Dichiarazioni Precompilate 2017
ALLEGATO A Specifiche tecniche per la trasmissione telematica delle Comunicazioni di richiesta delle Dichiarazioni Precompilate 2017 Specifiche tecniche Comunicazione Richiesta Precompilata 2017 Allegato
A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica
informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class
RELAZIONE SUI CHICCHI DI RISO
Irene Ocri, Giulia Guido, Erica Meucci, Viviana Moschini Classe I a CL Anno Scolastico 2008/09 Obiettivi: RELAZIONE SUI CHICCHI DI RISO Elevare a potenza numeri naturali. Leggere e scrivere numeri naturali
Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
Modalità di compilazione del tracciato telematico per la comunicazione telematica dell indirizzo di posta elettronica certificata
Modalità di compilazione del tracciato telematico per la comunicazione telematica dell indirizzo di posta elettronica certificata Utilizzare esclusivamente lettere in maiuscolo. Si riportano di seguito
Modello da inviare all'autorità regionale competente
MINISTERO DELLE POLITICHE AGRICOLE E FORESTALI Sistema Informativo Agricolo Nazionale (SIAN) N. progressivo di protocollo (a cura del SIAN) DICHIARAZIONE DI VENDITA DI PRODOTTI FITOSANITARI E DI COADIUVANTI
SPECIFICHE TECNICHE ISTANZE DI COLLABORAZIONE VOLONTARIA
SPECIFICHE TECNICHE ISTANZE DI COLLABORAZIONE VOLONTARIA Specifiche tecniche per la trasmissione telematica dei dati relativi al modello per l istanza di Collaborazione volontaria (Voluntary disclosure),
MISURE DI SINTESI 54
MISURE DI SINTESI 54 MISURE DESCRITTIVE DI SINTESI 1. MISURE DI TENDENZA CENTRALE 2. MISURE DI VARIABILITÀ 30 0 µ Le due distribuzioni hanno uguale tendenza centrale, ma diversa variabilità. 30 0 Le due
ALLEGATO A. Specifiche tecniche per la trasmissione telematica Modello FTT
ALLEGATO A Specifiche tecniche per la trasmissione telematica Modello FTT 2 Allegato A CONTENUTO E CARATTERISTICHE TECNICHE DEI DATI DEL MODELLO FTT DA TRASMETTERE ALLA AGENZIA DELLE ENTRATE IN VIA TELEMATICA
Laboratorio di Programmazione 1 [Java]
Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero
Specifiche tecniche per la trasmissione telematica dei dati relativi alle forniture di documenti fiscali
Specifiche tecniche per la trasmissione telematica dei dati relativi alle forniture di documenti fiscali CONTENUTO E CARATTERISTICHE TECNICHE DEI DATI RELATIVI ALLE FORNITURE DI DOCUMENTI FISCALI DA TRASMETTERE
Java: loading dinamico e reflection
Java: loading dinamico e reflection Scopo del corso integrativo: Presentare le caratteristiche avanzate di Java che lo rendono un linguaggio molto flessibile pur senza rinunciare ai vantaggi di un typechecking
ALLEGATO. Specifiche tecniche per la trasmissione telematica dei dati relativi alla comunicazione per la ricezione dei mod.
ALLEGATO Specifiche tecniche per la trasmissione telematica dei dati relativi alla comunicazione per la ricezione dei mod. 730-4 Specifiche tecniche Comunicazione per ricezione telematica dati mod. 730-4
6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
ALLEGATO C. Specifiche tecniche per la trasmissione telematica Modello F24
ALLEGATO C Specifiche tecniche per la trasmissione telematica Modello F24 CONTENUTO E CARATTERISTICHE TECNICHE DEI DATI DEI VERSAMENTI MODELLO F24 DA TRASMETTERE ALL AGENZIA DELLE ENTRATE IN VIA TELEMATICA
Addizioni con l abaco Esegui le addizioni, prestando attenzione al cambio, come nell esempio.
Addizioni con l abaco Esegui le addizioni, prestando attenzione al cambio, come nell esempio. 78 5 = 96 5 = 5 565 = 9 9 = 8 89 = 655 68 = 6 5 = 68 65 = 5 75 = 7 5 = 6 76 = Macchine per contare Cambia l
