1) analisi del problema - 2... · analisi del problema 2. definizione dell’algoritmo 3....

Download 1) analisi del problema - 2... · analisi del problema 2. definizione dell’algoritmo 3. esecuzione

Post on 24-Feb-2019

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

I FONDAMENTI della PROGRAMMAZIONE

Risoluzione dei problemi mediante il PC

1. analisi del problema 2. definizione dellalgoritmo 3. esecuzione e risoluzione

1) analisi del problema

Problema produrre una melodia risolvere unequazione

Esperto compositore matematico

Algoritmo spartito formula

Esecutore musicista calcolatore

Es. equazione di 2 grado file: equ2

ax2+bx+c=0

1.1 def esatta e completa: formula risolutiva delle equ di 2 grado

1.2 ricerca di algoritmi gi esistenti: non conveniente ricercare algoritmi gi esistenti

1.3 individuazione delle variabili di INPUT: a, b, c

1.4 individuazione delle variabili intermedie e di OUTPUT: D=b

2-4ac; var OUT: x1, x2

1.5 necessit o meno di usare un PC: conveniente il PC se il numero di equ elevato

2) definizione dellalgoritmo

algoritmo: una serie finita di operazioni eseguite in sequenza che fornisce la soluzione

lalgoritmo deve essere: non ambiguo

finito nei passi

esaustivo contenere tutte le possibili soluzioni

riproducibile stessi input, stesse risoluzioni

descrizione

a. linguaggio naturale b. ad alto livello c. specialistico d. diagrammi di flusso, pseudocodifica

3) realizzazione tramite PC

a. linguaggio macchina b. ad alto livello c. orientato al problema

diagrammi di flusso

un insieme di blocchi collegati da linee orientate

la forma del blocco indica il tipo di operazione, ovvero il tipo di istruzioni che il blocco contiene;

un blocco pu contenere pi istr. Che verranno eseguite in sequenza dallalto verso il basso

lalgoritmo comunica tramite dati

dati: hanno un nome identificatore associato allindirizzo della locazione di memoria

i dati possono essere costanti e variabili:

costanti: dato che mantiene lo stesso valore per tutta la durata del programma

variabili: possono variare nel corso del programma

Espressioni: sequenza di costanti e variabili legate da operatori

Aritmetiche

Alfanumeriche

Logiche

Relazionali, confronto fra due espr. dello stesso tipo

Inizio o fine

IN e OUT

Assegnazione

selezione

STRUTTURE DEI FLOW-CHART

F V

F

V ? ISTR ? ISTR1 ISTR2

SELEZIONE

A UNA VIA A DUE VIE

ITERAZIONE

PRECONDIZIONALE POSTCONDIZIONALE

ISTR1

ISTR2

ISTR3

SEQUENZA

F

V F

V

?

? ISTR

ISTR

Un algoritmo si dice STRUTTURATO se usa solo le strutture:

SEQUENZA-SELEZIONE-ITERAZIONE

Tecniche di programmazione:

TOP-DOWN: dal generale al particolare; prima il problema generale che viene poi scisso in tanti

sottoproblemi

BOTTOM-UP: dal particolare al generale; usato in fase di verifica/correzione (debugging)

Problema: risoluzione equazione di primo grado ax+b=0 senza condizioni (file: equ1)

//************ file: equ1 *************

// autori: Nome Cognome Classe

// data: gg/mm/aaaa

// descrizione: RISOLUZIONE EQUAZIONE DI 1 GRADO

#include

#include

#include

#include

int a,b;

float x;

main()

{

cout a;

cout b;

x=-b/a;

cout

Problema: risoluzione equazione di primo grado ax+b=0 (con condizioni )

//************ file: equ1 cond *************

// autori: Nome Cognome Classe

// data: gg/mm/aaaa

// descrizione: RISOLUZIONE EQUAZIONE DI 1 GRADO con condizione

#include

#include

#include

#include

int a,b;

float x;

main()

{

cout a;

cout b;

if (a0) { x=-b/a;

cout

Problema: risoluzione equazione di secondo grado ax2+bx+c=0

{

leggi:a,b,c

D=b2-4ac

If (D

Recommended

View more >