Dal problema al programma

Slides:



Advertisements
Presentazioni simili
Quadrilateri.
Advertisements

Conosci la differenza tra circonferenza e cerchio?
I triangoli.
Risoluzione di triangoli qualsiasi
COSTRUZIONI GEOMETRICHE ELEMENTARI 1
Congiungendo la punta dell’albero con la base, si può individuare un triangolo isoscele.
Dati, istruzione e pseudocodice
Informatica 22/03/2012.
Analisi – Progettazione - Programmazione
Costruzione di un semplice programma che opererà su uno smartphone
Istruzioni condizionali e blocco
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Teorema di Pitagora Con gli angoli di 45°.
Definizione e caratteristiche
Programmazione Procedurale in Linguaggio C++
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Il computer ragiona? Problemi e algoritmi.
Esercitazioni su circuiti combinatori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Costrutti iterativi Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Scuola Primaria “A.Mantegna “ – Padova -
1 INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA. 2 PROCESSO INTRODUZIONE ALLA PROGRAMMAZIONE STRUTTURATA INIZIO FINE.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Formule dirette e inverse
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)
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
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.
Gli algoritmi.
Algoritmi e diagrammi di flusso
Lezione 6 Strutture di controllo Il condizionale
Il perimetro è la lunghezza del contorno (confine) di un poligono.
Massimo Comun Divisore
Cominciamo a parlare di tangenti.
I triangoli.
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Ripasso : Algoritmi.
Sessione live Testing. Esercizio Quesito 1 Soluzione 1.
Triangoli.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
I triaNgoli.
Le aree dei poligoni.
Poligoni inscritti, circoscritti e regolari
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto.
PRIMI ELEMENTI DI PROGRAMMAZIONE
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }
Diagrammi a blocchi.
Progettazione degli algoritmi
I Triangoli.
PROBLEMI SENZA PROBLEMI!!!
il mio lavoro è inserito nel mio blog con il titolo
I triangoli.
I POLIGONI Gli alunni della seconda media Istituto “ M. Ausiliatrice “
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
Strutture di controllo
Solidi di rotazione.
Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.
Risoluzione esercizi Informatica - CDL in Ingegneria Industriale- A.A
Risoluzione esercizi. 3 PROGRAMMAZIONE STRUTTURATA Informatica - CDL in Ingegneria Industriale- A.A
ATTENZIONE Per poter funzionare, è necessario che le “macro” siano attivate. Provare il programma e, se non dovesse funzionare, andare su Strumenti – Macro.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
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.
Transcript della presentazione:

Dal problema al programma Galeandro B. – Londoni C. Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Indice Sequenza selezione Ciclo o iterazione mappa Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Sequenza Calcola la media di tre numeri Debug Pseudocodifica Flow-chart codifica Cerchio (area,circonferenza) Pseudocodifica Flow-chart Debug codifica Rettangolo (area,perimetro) Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Selezione Trova il massimo di tre numeri Pseudocodifica Flow-chart Debug codifica Definisci il triangolo Pseudocodifica Flow-chart Debug codifica Reciproco Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Ciclo o iterazione mese per vero Pseudocodifica Flow-chart Debug mese per falso codifica Pseudocodifica Flow-chart Debug spesa Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice

Pseudocodifica: calcola la media di tre numeri Algoritmo media Variabili A,B,C numerica,intera,input M numerica,reale,output Inizio scrivi (“inserisci tre numeri interi”); leggi (A,B,C); M = (A+B+C)/3; scrivi (“media =“,M); fine Londoni camilla-Galeandro Beatrice

Flow-chart: calcola la media di tre numeri inizio A,B,C M = (A+B+C)/3 M fine Londoni camilla-Galeandro Beatrice

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 Inserisci tre numeri interi A4, B6, C8 6(4+6+8)/3 Media = 6 Londoni camilla-Galeandro Beatrice

peseudocodifica: cerchio (area,circonferenza) Algoritmo cerchio Variabili Raggio numero reale,input A,C numero reale,output Costante Pigreco = 3,14 numero reale inizio Scrivi (“inserisci raggio”); leggi (“raggio”); A = pigreco*raggio^2; C = 2*pigreco*raggio; scrivi (“area =“,A); scrivi (“circonferenza =“,C); fine Londoni camilla-Galeandro Beatrice

Flow-chart: cerchio (area,circonferenza) inizio raggio pigreco*raggio^2 2*pigreco*raggio A C fine Londoni camilla-Galeandro Beatrice

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 Inserisci raggio Raggio5 78,5pigreco*raggio^2 31,42*pigreco*raggio Area = 78,5 Circonferenza = 31,4 Londoni camilla-Galeandro Beatrice

pseudocodifica: rettangolo(area,perimetro) Algoritmo rettangolo Variabili B,H numerica,reale,I A,P numerica,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 Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Flow-chart:rettangolo(area,perimetro) inizio B,H B*H 2*(B+H) A P fine Londoni camilla-Galeandro Beatrice

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 Inserisci la base e l’altezza B 2,H 4 8 B*H 12 2*(B+H) Area=8 Perimetro=12 Londoni camilla-Galeandro Beatrice

Pseudocodifica:trova il massimo di tre numeri Algoritmo massimo Variabili A,B,C numerica,intera,I Max numerica,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; scrivi (“il massimo è =“, Max); fine Londoni camilla-Galeandro Beatrice

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 Londoni camilla-Galeandro Beatrice

Debug:trova il massimo di tre numeri Inserisci tre numeri A 4,B 6,C 8 Max=4 6>4 ? Max 6 8>6 ? Max 8 Il massimo è = 8 Debug 3 A 14,B 6,C 8 Max = 14 6>14 ? 8>14 ? Il massimo è = 14 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; scrivi (“il massimo è =“, Max); Debug 2 Inserisci tre numeri A4, B 16, C 8 Max = 4 16>4 ? Max  16 8>16 ? Il massimo è = 16 Debug 4 A  4, B  4, C  4 4>4 ? Il massimo è = 4 Londoni camilla-Galeandro Beatrice

Pseudocodifica:definisci il triangolo Algoritmo triangolo Variabili A,B,C numerica,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”); se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); fine Londoni camilla-Galeandro Beatrice

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 Londoni camilla-Galeandro Beatrice

Debug: definisci triangolo Inserisci i tre lati del triangolo A 2, B  3, C  6 (2<>3) AND (3<>6) AND (2<>6) ? (V) Scaleno (2 = 3) OR (3 = 6) OR (2 = 6) ? (F) (2 = 3) AND (3 = 6) AND (2 = 6) ? (F) Debug 2 Inserisci tre lati del triangolo A 2,B  2, C 6 (2<>3) AND (3<>6) AND (2<>6) ? (F) (2 = 3) OR (3 = 6) OR (2 = 6) ? (v) Isoscele 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”); se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); Debug 3 Inserisci i tre lati del triangolo A 2, B 2, C 2 (2<>2) AND (2<>2) AND (2<>2) ? (F) (2 =2) OR (2 = 2) OR (2 = 2) ? (V) (2 = 2) AND (2 = 2) AND (2 = 2) ? (V) equilatero Londoni camilla-Galeandro Beatrice

Pseudocodifica: reciproco Algoritmo reciproco Variabili A numerica, intera, I Inizio scrivi (“inserisci un numero”); leggi (A); se ( A <> 0) allora scrivi (“1/”A); altrimenti scrivi(“errore”); fine se fine Londoni camilla-Galeandro Beatrice

Flow-chart: reciproco inizio A (A<>0) fine 1/A errore si no Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Debug: reciproco Algoritmo reciproco scrivi (“inserisci un numero”); leggi (A); se ( A <> 0) allora scrivi (“1/”A); altrimenti scrivi(“errore”); fine se Debug 1 Inserisci un numero A  4 (4 <> 0) ? (V) ¼ Debug 2 A  0 (0 <>0) ? (F) errore Londoni camilla-Galeandro Beatrice

Pseudocodifica: mese per vero Algoritmo mese Variabili M numerica, intera, I Inizio M = 0; esegui mentre ((M<=1) OR (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 Londoni camilla-Galeandro Beatrice

FLOW-CHART: MESE per vero inizio (M<1) OR (M>12) M (M>0) AND (M<13) errore Mese corretto M=0 fine V F Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Debug: mese per vero Debug per vero M 0 0<1 OR 0>12 ? (V) Inserisci mese M14 Errore 14<1 OR 14>12 ? (V) M 6 Mese corretto 6<1 OR 6 >12 ? (F) Algoritmo mese per vero M = 0; esegui mentre ((M<=1) OR (M>=12)); scrivi (“inserisci il mese”); legge(M); se (M>0) AND (M<13) allora scrivi (“mese corretto”); altrimenti scrivi (“errore”); fine se; ripeti Londoni camilla-Galeandro Beatrice

Pseudocodifica: mese per falso Algoritmo mese per falso Variabili M numerica, 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 Londoni camilla-Galeandro Beatrice

Flow-chart: mese per falso Inizio M M>0 AND M< 13 Fine F V Errato Corretto Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Debug: mese per falso Debug per falso Inserisci mese M 14 14>0 AND 14<13 ? (F) Errore M 1 1>0 AND 1<13 ? (V) Mese corretto 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); Londoni camilla-Galeandro Beatrice

Pseudocodifica: spesa Algoritmo spesa Variabili P numerica, reale,I Tot numerica, reale,O Inizio ripeti; scrivi (“ inserisci il prezzo”); leggi (P); se ( Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Flow-chart: spesa inizio Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Debug: spesa Debug Londoni camilla-Galeandro Beatrice

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 Londoni camilla-Galeandro Beatrice

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 Londoni camilla-Galeandro Beatrice

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 Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice 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 Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice 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" If (lato1 = lato2) And (lato2 = lato3) Then Range("a5") = "equilatero" Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice 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 Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice Codifica: mese 'variabili Dim mese As Single 'acquisisci valori dalle celle mese = Range("b1") 'calcola mese giusto If (mese < 1) Or (mese > 12) Then Range("a3") = "errore" Else: Range("a3") = "mese corretto" End If Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice 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 Londoni camilla-Galeandro Beatrice

Londoni camilla-Galeandro Beatrice mappa menu sequenza Selezione ciclo media cerchio rettangolo massimo triangolo reciproco Mese vero Mese falso Spesa pseudocodifica Flow-chart debug Londoni camilla-Galeandro Beatrice