Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.

Slides:



Advertisements
Presentazioni simili
Quadrilateri.
Advertisements

Risoluzione di triangoli qualsiasi
COSTRUZIONI GEOMETRICHE ELEMENTARI 1
Congiungendo la punta dell’albero con la base, si può individuare un triangolo isoscele.
Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
PROGRAMMARE IN PASCAL (le basi)
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Istruzioni condizionali e blocco
Dipartimento di Matematica
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Fondamenti di Informatica
Poligoni con angoli 30°e 60°
INFORMATICA Strutture iterative
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Introduzione alla programmazione lll
Formule dirette e inverse
APPUNTI SUL LINGUAGGIO C
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Informatica? Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero Studio degli algoritmi che descrivono e trasformano l’informazione.
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
CAPITOLO 7.
Lezione 2 Programmare in ASP
Algoritmi e diagrammi di flusso
Elementi di Informatica
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Punto nave con rilevamento polare 45° e Traverso
Lordinamento di tre numeri interi. acquisisci a,b,c (a > b) AND (a > c)(b > a) AND (b > c) (c > a) AND (c > b) Scrivi c,b,aScrivi b,c,aScrivi c,a,bScrivi.
Dal problema al programma
Programmazione Strutturata
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Cenni di Logica Fabio Massimo Zanzotto. Calcolo proposizionale.
I SOLIDI DI ROTAZIONE Cilindro e cono.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
C++:Strutture di Controllo
Progettazione degli algoritmi
ALGORITMI Dal problema al programma Definizione di algoritmo
PROBLEMI SENZA PROBLEMI!!!
il mio lavoro è inserito nel mio blog con il titolo
I POLIGONI Gli alunni della seconda media Istituto “ M. Ausiliatrice “
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
Strutture di controllo
Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente.
Algoritmo per il calcolo del maggiore tra tre numeri qualsiasi Francesco PUCILLO matr
ATTENZIONE Per poter funzionare, è necessario che le “macro” siano attivate. Provare il programma e, se non dovesse funzionare, andare su Strumenti – Macro.
Il cilindro DEFINIZIONE. Si dice cilindro il solido generato dalla rotazione completa di un rettangolo attorno ad uno dei suoi lati. Analizzando la figura.
Esempi di algoritmi.
A = InputBox("Immetti un numero")
Transcript della presentazione:

Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA

Luca Chichisola2 Indice Sequenza selezione Ciclo o iterazione mappa

Luca Chichisola3 Sequenza Calcola la media di tre numeri Cerchio (area,circonferenza) Rettangolo (area,perimetro) PseudocodificaFlow-chart Debug PseudocodificaFlow-chartDebug PseudocodificaFlow-chartDebug codifica

Luca Chichisola4 Selezione Trova il massimo di tre numeri Definisci il triangolo Reciproco PseudocodificaFlow-chartDebug PseudocodificaFlow-chartDebug PseudocodificaFlow-chartDebug codifica

Luca Chichisola5 Ciclo o iterazione mese per vero mese per falso spesa PseudocodificaFlow-chartDebug PseudocodificaFlow-chartDebug PseudocodificaFlow-chartDebug codifica

Luca Chichisola6 Pseudocodifica: calcola la media di tre numeri Algoritmo media Variabili A,B,Cnumerica,intera,input Mnumerica,reale,output Inizio scrivi (“inserisci tre numeri interi”); leggi (A,B,C); M = (A+B+C)/3; scrivi (“media =“,M); fine

Luca Chichisola7 Flow-chart: calcola la media di tre numeri inizio A,B,C M = (A+B+C)/3 M fine

Luca Chichisola8 Debug: Calcola la media di tre numeri Algoritmo media scrivi (“inserisci tre numeri interi”); leggi (A,B,C); M = (A+B+C)/3; scrivi (“media =“,M); Debug 1.Inserisci tre numeri interi 2. A  4, B  6, C   (4+6+8)/3 4.Media = 6

Luca Chichisola9 peseudocodifica: cerchio (area,circonferenza) Algoritmo cerchio Variabili Raggionumero reale,input A,Cnumero reale,output Costante Pigreco = 3,14numero reale inizio Scrivi (“inserisci raggio”); leggi (“raggio”); A = pigreco*raggio^2; C = 2*pigreco*raggio; scrivi (“area =“,A); scrivi (“circonferenza =“,C); fine

Luca Chichisola10 Flow-chart: cerchio (area,circonferenza) inizio raggio pigreco*raggio^2 2*pigreco*raggio A C fine

Luca Chichisola11 Debug:cerchio (area,circonferenza) Algoritmo area,circonferenza Scrivi (“inserisci raggio”); leggi (“raggio”); A = pigreco*raggio^2; C = 2*pigreco*raggio; scrivi (“area =“,A); scrivi (“circonferenza =“,C); Debug 1.Inserisci raggio 2.Raggio  ,5  pigreco*raggio^2 4.31,4  2*pigreco*raggio 5.Area = 78,5 6.Circonferenza = 31,4

Luca Chichisola12 pseudocodifica: rettangolo(area,perimetro) Algoritmo rettangolo Variabili B,Hnumerica,reale,I A,Pnumerica,reale,O Inizio scrivi(“inserisci la base e l’altezza”); leggi(B,H); A=B*H; P=2*(B+H); scrivi(“area=“,A); scrivi(“perimetro=“,P); fine

Luca Chichisola13 Flow-chart:rettangolo(area,perimetro) inizio B,H B*H 2*(B+H) A P fine

Luca Chichisola14 Debug:rettangolo(area,perimetro) Algoritmo rettangolo scrivi(“inserisci la base e l’altezza”); leggi(B,H); A=B*H; P=2*(B+H); scrivi(“area=“,A); scrivi(“perimetro=“,P); Debug 1.Inserisci la base e l’altezza 2.B  2,H   B*H 4.12  2*(B+H) 5.Area=8 6.Perimetro=12

Luca Chichisola15 Pseudocodifica:trova il massimo di tre numeri Algoritmo massimo Variabili A,B,Cnumerica,intera,I Maxnumerica,intera,O Inizio scrivi (“inserisci tre numeri interi”); leggi (A,B,C); Max = A; se (B>Max)allora Max = B; fine se se (C>Max) allora Max = C; fine se scrivi (“il massimo è =“, Max); fine

Luca Chichisola16 Flow-chart:trova il massimo di tre numeri inizio A,B,C Max=A B>Max Max=B C>Max Max=C Max fine NO SI NO SI

Luca Chichisola17 Debug:trova il massimo di tre numeri Algoritmo massimo scrivi (“inserisci tre numeri interi”); leggi (A,B,C); Max = A; se (B>Max)allora Max = B; fine se se (C>Max) allora Max = C; fine se scrivi (“il massimo è =“, Max); Debug 1 1.Inserisci tre numeri 2.A  4,B  6,C  8 3.Max=4 4.6>4 ? 5.Max  6 6.8>6 ? 7.Max  8 8.Il massimo è = 8 Debug 3 1.Inserisci tre numeri 2.A  14,B  6,C  8 3.Max = >14 ? 5.8>14 ? 6.Il massimo è = 14 Debug 2 1.Inserisci tre numeri 2.A  4, B  16, C  8 3.Max = >4 ? 5.Max  >16 ? 7.Il massimo è = 16 Debug 4 1.Inserisci tre numeri 2.A  4, B  4, C  4 3.Max = 4 4.4>4 ? 5.4>4 ? 6.Il massimo è = 4

Luca Chichisola18 Pseudocodifica:definisci il triangolo Algoritmo triangolo Variabili A,B,Cnumerica,intera,I Inizio scrivi (“inserisci i tre lati del triangolo”); leggi (A,B,C); se (A<>B) AND (B<>C) AND (A<>C) allora scrivi(“scaleno”); fine se se (A = B) OR (B = C) OR (A = C) allora scrivi (“isoscele”); fine se se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); fine se fine

Luca Chichisola19 Flow-chart: definisci triangolo inizio A,B,C (A<>B) AND (B <> C) AND (A<>C) scaleno (A = B) OR (B = C) OR (A = C) isoscele ( A = B) AND (B = C) AND (A = C) equilatero fine no si

Luca Chichisola20 Debug: definisci triangolo Algoritmo triangolo scrivi (“inserisci i tre lati del triangolo”); leggi (A,B,C); se (A<>B) AND (B<>C) AND (A<>C) allora scrivi(“scaleno”); fine se se (A = B) OR (B = C) OR (A = C) allora scrivi (“isoscele”); fine se se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); fine se Debug 1 1.Inserisci i tre lati del triangolo 2.A  2, B  3, C  6 3.(2<>3) AND (3<>6) AND (2<>6) ? (V) 4.Scaleno 5.(2 = 3) OR (3 = 6) OR (2 = 6) ? (F) 6.(2 = 3) AND (3 = 6) AND (2 = 6) ? (F) Debug 2 1.Inserisci tre lati del triangolo 2.A  2,B  2, C  6 3.(2<>3) AND (3<>6) AND (2<>6) ? (F) 4.(2 = 3) OR (3 = 6) OR (2 = 6) ? (v) 5.Isoscele 6.(2 = 3) AND (3 = 6) AND (2 = 6) ? (F) Debug 3 1.Inserisci i tre lati del triangolo 2.A  2, B  2, C  2 3.(2<>2) AND (2<>2) AND (2<>2) ? (F) 4.(2 =2) OR (2 = 2) OR (2 = 2) ? (V) 5.(2 = 2) AND (2 = 2) AND (2 = 2) ? (V) 6.equilatero

Luca Chichisola21 Pseudocodifica: reciproco Algoritmo reciproco Variabili Anumerica, intera, I Inizio scrivi (“inserisci un numero”); leggi (A); se ( A <> 0) allora scrivi (“1/”A); altrimenti scrivi(“errore”); fine se fine

Luca Chichisola22 Flow-chart: reciproco inizio A (A<>0) fine 1/A errore sino

Luca Chichisola23 Debug: reciproco Algoritmo reciproco scrivi (“inserisci un numero”); leggi (A); se ( A <> 0) allora scrivi (“1/”A); altrimenti scrivi(“errore”); fine se Debug 1 1.Inserisci un numero 2.A  4 3.(4 <> 0) ? (V) 4.¼ Debug 2 1.Inserisci un numero 2.A  0 3.(0 <>0) ? (F) 4.errore

Luca Chichisola24 Pseudocodifica: mese per vero Algoritmo mese Variabili Mnumerica, intera, I Inizio M = 0; esegui mentre ((M =12)); scrivi (“inserisci il mese”); legge(M); se (M>0) AND (M<13) allora scrivi (“mese corretto”); altrimenti scrivi (“errore”); fine se; ripeti fine

Luca Chichisola25 FLOW-CHART: MESE per vero inizio (M 12) M (M>0) AND (M<13) errore Mese corretto M=0 fine V F F V

Luca Chichisola26 Debug: mese per vero Debug per vero 1.M  ? (V) 3.Inserisci mese 4.M  14 5.Errore ? (V) 7.Inserisci mese 8.M  6 9.Mese corretto ? (F) Algoritmo mese per vero M = 0; esegui mentre ((M =12)); scrivi (“inserisci il mese”); legge(M); se (M>0) AND (M<13) allora scrivi (“mese corretto”); altrimenti scrivi (“errore”); fine se; ripeti

Luca Chichisola27 Pseudocodifica: mese per falso Algoritmo mese per falso Variabili Mnumerica, intera, I Inizio ripeti; scrivi(“inserisci il mese”); leggi (M); se (M>0) AND (M<13) allora scrivi (“mese corretto”); altrimenti scrivi (“errore”); fine se; finché (M>0) AND (M<13); fine

Luca Chichisola28 Flow-chart: mese per falso Inizio M M>0 AND M< 13 Fine F V Errato Corretto M>0 AND M< 13 F V

Luca Chichisola29 Debug: mese per falso Debug per falso 1.Inserisci mese 2.M  >0 AND 14<13 ? (F) 4.Errore 5.14>0 AND 14<13 ? (F) 6.Inserisci mese 7.M  1 8.1>0 AND 1<13 ? (V) 9.Mese corretto 10.1>0 AND 1<13 ? (V) Algoritmo mese per falso ripeti; scrivi(“inserisci il mese”); leggi (M); se (M>0) AND (M<13) allora scrivi (“mese corretto”); altrimenti scrivi (“errore”); fine se; finché (M>0) AND (M<13);

Luca Chichisola30 Pseudocodifica: spesa Algoritmo spesa Variabili Pnumerica, reale,I Totnumerica, reale,O Inizio ripeti; scrivi (“ inserisci il prezzo”); leggi (P); se (

Luca Chichisola31 Flow-chart: spesa inizio

Luca Chichisola32 Debug: spesa Debug

Luca Chichisola33 Codifica: calcola la media di tre numeri 'VARIABILI Dim primo, secondo, terzo, media As Integer 'Acquisizione dei valori dalle celle primo = Range("a1") secondo = Range("a2") terzo = Range("a3") 'Calcolo della media media = (primo + secondo + terzo) / 3 Range("c1") = media

Luca Chichisola34 Codifica: cerchio (area,circonferenza) 'VARIABILI Dim raggio, area, circonferenza As Single Const pigreco = 3.14 'AQUISIZIONE DEI VALORI DELLE CELLE raggio = Range("B1") 'CALCOLO IL VALORE DELLA CIRCONFERENZA E DELL'AREA circonferenza = (2 * 3.14 * raggio) area = (3.14 * raggio ^ 2) 'STAMPO NELLA CELLA B2 IL RISULTATO: CIRCONFERENZA Range("b2") = circonferenza 'STAMPO NELLA CELLA B3 IL RISULTATO : AREA Range("b3") = area

Luca Chichisola35 Codifica: rettangolo (area, perimetro) 'VARIABILI Dim base, altezza, perimetro, area As Integer 'ACQUISIZIONE DEI VALORI base = Range("a1") altezza = Range("a2") 'CALCOLO AREA E PERIMETRO area = (base * altezza) perimetro = 2 * (altezza + base) Range("c1") = area Range("c2") = perimetro

Luca Chichisola36 Codifica: massimo 'VARIABILI Dim primo, secondo As Integer Dim maggiore As Integer 'ACQUISIZIONE DEI VALORI DALLE CELLE primo = Cells (1, 2) secondo = Cells (2, 2) 'CONTROLLO DEI NUMERI (SELEZIONE) If primo > secondo Then maggiore = primo Else maggiore = secondo End If ' VISUALIZZA I NUMERI ORDINATI Cells(2, 4) = maggiore

Luca Chichisola37 Codifica: triangolo 'variabili Dim lato1, lato2, lato3 As Single 'acquisisci valori dalle celle lato1 = Range("b1") lato2 = Range("b2") lato3 = Range("b3") 'definisci triangolo If (lato1 <> lato2) And (lato2 <> lato3) And (lato1 <> lato3) Then Range("a5") = "scaleno" End If If (lato1 = lato2) Or (lato2 = lato3) Or (lato1 = lato3) Then Range("a5") = "isoscele" End If If (lato1 = lato2) And (lato2 = lato3) Then Range("a5") = "equilatero" End If

Luca Chichisola38 Codifica: reciproco 'variabili Dim numero As Single 'acquisisci valori dalle celle numero = Range("b1") 'calcola il valore del reciproco If (numero <> 0) Then Range("a3") = 1/ numero Else: Range("a3") = "errore" End If

Luca Chichisola39 Codifica: mese 'variabili Dim mese As Single 'acquisisci valori dalle celle mese = Range("b1") 'calcola mese giusto If (mese 12) Then Range("a3") = "errore" Else: Range("a3") = "mese corretto" End If

Luca Chichisola40 Codifica: spesa 'VARIABILI Dim i, totale, spesa As Integer 'QUANTI CONTA I NUMERI >20 totale = 0 'IL CONTATORE "i" CONTA QUANTE CELLE STO LEGGENDO For i = 2 To 6 spesa = Cells (i, 1) totale = totale + spesa Next Range("b8") = totale

Luca Chichisola41 mappa menu sequenza Selezione ciclo media cerchio rettangolo massimo triangolo reciproco Mese vero Mese falso Spesa pseudocodifica Flow-chart debug