Esercizio: numero primo



Documenti analoghi
Esercizio: dispari-pari

Esercizio: divisibilità

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

Esempi di algoritmi. Lezione III

Fasi di creazione di un programma

Introduzione. Informatica B. Daniele Loiacono

Descrizione di un algoritmo

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Corso di Informatica

VII GARA DI MATEMATICA CON LE TECNOLOGIE SELEZIONE 25 NOVEMBRE 2010 DURATA ORE 2:00

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Lezione 8. La macchina universale

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

ELASTICITÀ. Sarebbe conveniente per il produttore aumentare ulteriormente il prezzo nella stessa misura del caso

Anna Montemurro. 2Geometria. e misura

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

INdAM QUESITI A RISPOSTA MULTIPLA

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Aritmetica: operazioni ed espressioni

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Introduzione. 001_007_pagine_iniziali.indd 7 22/01/

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Matematica in laboratorio

Terza Edizione Giochi di Achille ( ) - Olimpiadi di Matematica Soluzioni Categoria M1 (Alunni di prima media)

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50

1 n. Intero frazionato. Frazione

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

ESAME DI QUALIFICA TRIENNALE (II LIVELLO EUROPEO)

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

LE FUNZIONI A DUE VARIABILI

Esercizi di programmazione

IGiochidiArchimede-SoluzioniBiennio 22 novembre 2006

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Kangourou Italia Gara del 21 marzo 2013 Categoria Junior Per studenti di seconda e terza della secondaria di secondo grado

CURRICOLO MATEMATICA - CLASSE QUINTA -

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Interesse, sconto, ratei e risconti

AREA RETTANGOLO LIRE IN EURO

Algoritmi e diagrammi di flusso

Interesse, sconto, ratei e risconti

Introduzione ai tipi di dato astratti: applicazione alle liste

Percorsi di matematica per il ripasso e il recupero

Gestione della memoria centrale

Similitudine e omotetia nella didattica della geometria nella scuola secondaria di primo grado di Luciano Porta

Dimensione di uno Spazio vettoriale

SCHEDA DI PROGRAMMAZIONE PER COMPETENZE DISCIPLINARI CURRICOLO DI MATEMATICA CLASSE PRIMA SCUOLA PRIMARIA

CURRICOLO DI MATEMATICA SCUOLA PRIMARIA MATEMATICA SEZIONE A : Traguardi formativi

Metodologie di programmazione in Fortran 90

Si sa che la via più breve tra due punti è la linea retta. Ma vi siete mai chiesti, Qual è la via più breve tra tre punti? o tra quattro punti?

Gestione degli ordini e del magazzino

Comune di San Martino Buon Albergo

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

Nel triangolo disegnato a lato, qual è la misura, in gradi e primi sessagesimali, di α?

Il calcolo letterale per risolvere problemi e per dimostrare

Probabilità discreta

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

LA GRAFICA E LA GEOMETRIA OPERATIVA

Introduzione al MATLAB c Parte 2

set numeri la cui somma delle cifre dà un multiplo di tre sono divisibili per tre.

CALCOLO DEL MASSIMO COMUN DIVISORE

Curricoli scuola primaria Disciplina: MATEMATICA classi di riferimento: QUARTA. Abilità Contenuti Scansione cronologica

Rilevazione degli apprendimenti. Anno Scolastico PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

RISOLUZIONE N. 296/E

Esercizi di programmazione in C

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

La selezione binaria

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Guida Compilazione Piani di Studio on-line

(concetto classico di probabilità)

Nuova procedura on-line di autocertificazione

FIGURE GEOMETRICHE SIMILI

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Anno 3. Funzioni: dominio, codominio e campo di esistenza

e l insieme delle soluzioni, dopo le analoghe riduzioni del caso n = 2, si scrive come

Contenuti didattici: v. infra Contenuti dell Area Formativa, con specifica della durata di ciascun Modulo.

Lab 04 Istruzioni, cicli e array"

Test d ingresso di Matematica per la secondaria di secondo grado Test d ingresso di matematica per la secondaria di 2 grado

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

Guardiamo ora però la cosa da un altro punto di vista analizzando il seguente grafico a forma di torta. La torta in 5 parti

Lezioni di Matematica 1 - I modulo

Le Macchine di Turing

ISTITUTO COMPRENSIVO RIGNANO - INCISA PROGRAMMAZIONE ANNUALE DI MATEMATICA. Scuola primaria classe quinta 1 quadrimestre

Primo allenamento per i Giochi Kangourou della Matematica

Rendering air show e verifica della sincronizzazione

Una sperimentazione. Probabilità. Una previsione. Calcolo delle probabilità. Nonostante ciò, è possibile dire qualcosa.

CURRICULUM SCUOLA PRIMARIA MATEMATICA

Sapienza, Università di Roma. Ingegneria, Scienze M. F.N., Scienze Statistiche 11 settembre 2009

La somma. Esempio: Il prodotto. Esempio:

I teoremi di Euclide e di Pitagora

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi

Gli algoritmi: definizioni e proprietà

Transcript:

Esercizio: numero primo Dato un numero N scrivere un algoritmo che verifichi se N è un numero primo e stampi un relativo messaggio Il numero N è un numero primo se è divisibile solo per 1 e per N Quindi, per verificare se un numero N è primo è sufficiente provare a dividerlo per tutti gli interi minori di esso Se almeno uno di questi interi è un divisore di n allora n non è primo Altrimenti n è primo 100

primo := Esercizio: numero primo N divisibe per divisore divisore := divisore + 1 N divisore := 2 primo := divisore < N "numero primo" primo = "numero nonprimo" read N divisore := 2 primo := while (divisore < N) if (N divisibile per divisore) then primo := if divisore := divisore + 1 while if (primo = ) then numero primo else numero non primo if 101

primo := Esercizio: numero primo ottimizzazione I N divisibe per divisore divisore := divisore + 1 N divisore := 2 primo := divisore < N and primo = "numero primo" primo = "numero nonprimo" read N divisore := 2 primo := while (divisore < N and primo = ) if (N è divisibile per divisore) then primo := if divisore := divisore + 1 while if (primo = ) then numero primo else numero non primo if 102

primo := divisore := N Esercizio: numero primo ottimizzazione II N divisibe per divisore divisore := divisore + 1 N divisore := 2 primo := divisore < N "numero primo" primo = "numero nonprimo" read N divisore := 2 primo := while (divisore < N) if (N è divisibile per divisore) then primo := divisore := N if divisore := divisore + 1 while if (primo = ) then numero primo else numero non primo if 103

Esercizi Produrre un algoritmo che controlla la correttezza dell input Produrre un algoritmo più efficiente di quello di base (più efficiente vuol dire che compie meno operazioni) 104

Esercizio: divisibilità Dati un divido ed un divisore scrivere un algoritmo che verifichi la divisibilità DD := DD - DS "divisibile" read DD,DS DD >= DS DD = 0 "non divisibile" read DD,DS while (DD >= DS) DD := DD DS while if (DD = 0) then else divisibile non divisibile if 105

Esercizi Produrre un algoritmo che sia corretto per ogni tipologia di dati in ingresso Come risolvereste il problema del pari o dispari adesso? 106

Esercizio: triangoli Scrivere un algoritmo che, date le coordinate di tre punti corrispondenti ai vertici di un triangolo, riconosca se si tratta di un triangolo degenere o no, e nel caso di triangolo non degenere calcoli il suo perimetro A B C 107

Esercizio: triangoli soluzione preliminare leggi coordinate dei vertici A,B,C del triangolo triangolo degenere calcola la lunghezza dei lati calcola il perimetro del triangolo "triangolo degenere" perimetro 108

Esercizio: triangoli - raffinamento leggi coordinate dei vertici A,B,C del triangolo (A coincide con B) OR (B coincide con C) OR (C coincide con A) OR (A,B,C sono allineati) LAB := distanza(a,b) LBC := distanza(b,c) LCA := distanza(c,a) perimetro:=lab+lbc+lca "triangolo degenere" perimetro 109

Esercizio: triangoli raffinamento ulteriore read AX,AY,BX,BY,CX,CY (AX=BX AND AY=BY) OR (BX=CX AND BY=CY) OR (CX=AX AND CY=AY) OR (A,B,C sono allineati) LAB := sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)) LBC := sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy)) LCA := sqrt((cx-ax)*(cx-ax)+(cy-ay)*(cy-ay)) perimetro:=lab+lbc+lca "triangolo degenere" perimetro 110

Esercizio: triangoli Se i tre vertici sono allineati allora otteniamo due triangoli rettangoli i cui cateti sono nella stessa proporzione C A B (AY-BY):(AX-BX)=(AY-CY):(AX-CX) 111

Esercizi: triangoli In una proporzione il prodotto dei medi è uguale al prodotto degli estremi per cui i tre vertici sono allineati se è vera la condizione logica (AX-BX)*(AY-CY)=(AY-BY)*(AX-CX) 112

Esercizi: triangoli - soluzione read AX,AY,BX,BY,CX,CY (AX=BX AND AY=BY) OR (BX=CX AND BY=CY) OR (CX=AX AND CY=AY) OR (AX-BX)*(AY-CY)=(AY-BY)*(AX-CX) LAB := sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)) LBC := sqrt((bx-cx)*(bx-cx)+(by-cy)*(by-cy)) LCA := sqrt((cx-ax)*(cx-ax)+(cy-ay)*(cy-ay)) perimetro:=lab+lbc+lca "triangolo degenere" perimetro 113

Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che dettaglieremo e raffineremo in passaggi successivi per ottenere un algoritmo direttamente eseguibile Ognuno dei sottoproblemi potrà essere risolto da un algoritmo a parte che potremo riutilizzare, quando sarà necessario, nella soluzione di ulteriori problemi complessi. 114

Individuazione di sottoproblemi: vantaggi I dettagli delle diverse soluzioni sono descritti negli algoritmi dei sottoproblemi In generale, uno stesso sottoproblema deve essere risolto più volte nella soluzione di un problema principale Dagli algoritmi derivano programmi, quindi si possono raccogliere librerie di software da riutilizzare in nuovi programmi 115

Esercizio: frazioni Scrivere un algoritmo che verifichi se una frazione è apparente o propria Sapreste risolverlo senza un analisi del problema? Vi ricordate la FASE 1: Dare un nome al problema parto dall analisi del problema e la FASE 2: Scrivere la specifica funzionale? apparenti: numeratore multiplo di denominatore proprie: numeratore minore di denominatore 116

Esercizio: MCD Scrivere un algoritmo che calcoli il massimo comune divisore di due numeri Sapreste risolverlo senza un analisi del problema? Vi ricordate la FASE 1: Dare un nome al problema parto dall analisi del problema e la FASE 2: Scrivere la specifica funzionale? Il massimo comune divisore di due numeri è il più grande numero, minore o uguale del più piccolo dei due, che divide entrambi 117

Esercizio: anno bisestile Scrivere un algoritmo che verifichi se un anno è bisestile produco un messaggio Sapreste risolverlo senza un analisi del problema? Vi ricordate la FASE 1: Dare un nome al problema parto dall analisi del problema e la FASE 2: Scrivere la specifica funzionale? Un anno è bisestile (ha 366 giorni) se è divisibile per quattro (come il 1980) e non è divisibile per 100 (ad es. il 1900 non è bisestile). Fanno eccezione gli anni divisibili per 400, che sono bisestili (ad es. il 2000 è bisestile). Questa regola non si applica prima del 1582, anno di introduzione del calario gregoriano. 118

Esercizio: busta paga Scrivete un algoritmo che calcoli l importo della busta paga settimanale di un lavoratore sapo il numero di ore che ha lavorato durante una settimana e la retribuzione oraria L algoritmo deve segnalare l opportunità di far recuperare al lavoratore delle ore di lavoro se non è stato rispettato l accordo sindacale che prevede un minimo di 35 ore settimanali L algoritmo deve altresì tenere in conto le ore di straordinario che sono, come da contratto, retribuite il doppio di quelle normali 119

Esercizio: poligoni Scrivere un algoritmo che, date le coordinate di quattro punti corrispondenti ai vertici di un poligono irregolare, riconosca se si tratta di un quadrato o di un rettangolo e nel caso calcoli la sua area 120