SlideShare a Scribd company logo
1 of 9
Download to read offline
Programmazione Base

Concetti base dell’informatica

Bentenuto Bruno

© All rights reserved. Mebtech Technologies
Problemi e Algoritmi
• Prerequisiti
– Conoscenza di dato e informazione
• Obiettivi
– Apprendere il significato di problema
– Conoscere il processo risolutivo di un problema
– Apprendere la differenza tra risolutore ed esecutore
– Conoscere il concetto di algoritmo
– Conoscere le proprietà di un algoritmo

© All rights reserved. Mebtech Technologies
I Problemi – Alcuni concetti fondamentali
• Un problema è un quesito che attende una risposta
• Un processo risolutivo è un insieme di passi da compiere per giungere
alla soluzione di un problema
• La soluzione o risultato finale è l’obiettivo che vogliamo raggiungere

• Il criterio di verifica è un controllo sui risultati finali per verificare che
questi siano rispondenti agli obiettivi iniziali
• Un problema non è risolvibile se, pur essendo correttamente formulato
non ammette soluzioni.

© All rights reserved. Mebtech Technologies
Formulare un problema
Formulare correttamente un problema o affermare che esso è ben
formulato significa:
– Chiarire gli obiettivi finali
– Possedere le informazioni iniziali
– Individuare il criterio di verifica

Esempio di problema mal formulato

Calcolare il massimo comun divisore
Il problema è mal formulato perche mancano le informazioni iniziali
© All rights reserved. Mebtech Technologies
Il processo risolutivo
Nella ricerca della soluzione di un problema non si possono definire criteri
ma si possono proporre suggerimenti e strategie che possono essere
utilizzati in un considerevole numero di situazioni problematiche
Il processo risolutivo è molto soggettivo percui alcuni processi saranno piu
efficienti di altri o piu eleganti di altri etc..
Per giungere alla soluzione di un problema è generalmente necesario:
– Conoscere il tema oggetto del problema
– Utilizzare metodi risolutivi gia sperimentati
– Scindere il problema in sotto problemi
• Un processo risolutivo si dice generale quando risolve problemi della
stessa classe (problemi simili)
© All rights reserved. Mebtech Technologies
Chi risolve il problema?
In genere quando si risolve un problema si fa riferimento a:
Risolutore colui che definisce la soluzione necessaria per risolvere un
problema attraverso un processo risolutivo
Esecutore (Processore) colui che esegue le azioni descritte dal risolutore
per giungere concretamente alla soluzione del problema
Come detto prima bisogna creare un processo risolutivo descritto (insieme
di azioni da eseguire sull’istanza dei dati in ingresso) naturalmente nel
linguaggio che l’esecutore può comprendere.

© All rights reserved. Mebtech Technologies
Descrivere rigorosamente
• Fornire le azioni da eseguire è un’attività creativa prerogativa dell’uomo
• Eseguire le azioni meccanicamente (non vanno interpretate
semanticamente) è compito generalmente delle macchine.
• Dato che non saremo noi ad interpretare i passi da eseguire esse
dovranno essere espresse in modo inequivocabile, devono avere un
inizio ed una fine, devono poter essere eseguite in un tempo
determinato.

© All rights reserved. Mebtech Technologies
L’Algoritmo
• L’algoritmo è la base di tutta l’informatica (computer Science)
• Si definisce algoritmo una sequenza finita di azioni elementari che
descrivono la soluzione di un problema in tempo finito

© All rights reserved. Mebtech Technologies
ESERCITAZIONE
• Descrivere l’algoritmo generico A che torni vero se un algoritmo B
termina (Arriva alla fine della sua esecuzione)

© All rights reserved. Mebtech Technologies

More Related Content

Viewers also liked

ADLUG 2012: Linking Linked Data
ADLUG 2012: Linking Linked DataADLUG 2012: Linking Linked Data
ADLUG 2012: Linking Linked DataAndrea Gazzarini
 
A possible cure 2014 may9
A possible cure 2014 may9A possible cure 2014 may9
A possible cure 2014 may9Glen Alleman
 
Cadeaux corporatif Collection Christian Lacroix
Cadeaux corporatif Collection Christian LacroixCadeaux corporatif Collection Christian Lacroix
Cadeaux corporatif Collection Christian LacroixDominique Caisse
 
Proteção coletiva
Proteção coletivaProteção coletiva
Proteção coletivaTiago Alves
 
Health healthy or not project
Health healthy or not projectHealth healthy or not project
Health healthy or not projectjataya
 
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attention
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attentionSupriya_VentureLab_2012_Creativity_Assignment2 pay_attention
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attentionSup2012
 
Passion for the Past: Maxine Tewsley
Passion for the Past: Maxine TewsleyPassion for the Past: Maxine Tewsley
Passion for the Past: Maxine TewsleyJill Tewsley
 
MM Bagali, PhD, HRM, HRD, HR Project, AHRB,
MM Bagali, PhD, HRM, HRD, HR Project, AHRB, MM Bagali, PhD, HRM, HRD, HR Project, AHRB,
MM Bagali, PhD, HRM, HRD, HR Project, AHRB, dr m m bagali, phd in hr
 
Psy 6100 assignment guide sum11
Psy 6100 assignment guide sum11Psy 6100 assignment guide sum11
Psy 6100 assignment guide sum11k3stone
 
В.С.Крикоров-Единый Космос 3
В.С.Крикоров-Единый Космос 3В.С.Крикоров-Единый Космос 3
В.С.Крикоров-Единый Космос 3Yury Podusov
 
Philip quiere ayudar
Philip quiere ayudarPhilip quiere ayudar
Philip quiere ayudaraba
 

Viewers also liked (18)

ADLUG 2012: Linking Linked Data
ADLUG 2012: Linking Linked DataADLUG 2012: Linking Linked Data
ADLUG 2012: Linking Linked Data
 
A possible cure 2014 may9
A possible cure 2014 may9A possible cure 2014 may9
A possible cure 2014 may9
 
Message
MessageMessage
Message
 
E10 may9 2011
E10 may9 2011E10 may9 2011
E10 may9 2011
 
2011 july 1 this week in mc&fp (1)
2011 july 1  this week in mc&fp  (1)2011 july 1  this week in mc&fp  (1)
2011 july 1 this week in mc&fp (1)
 
Cadeaux corporatif Collection Christian Lacroix
Cadeaux corporatif Collection Christian LacroixCadeaux corporatif Collection Christian Lacroix
Cadeaux corporatif Collection Christian Lacroix
 
Proteção coletiva
Proteção coletivaProteção coletiva
Proteção coletiva
 
Health healthy or not project
Health healthy or not projectHealth healthy or not project
Health healthy or not project
 
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attention
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attentionSupriya_VentureLab_2012_Creativity_Assignment2 pay_attention
Supriya_VentureLab_2012_Creativity_Assignment2 pay_attention
 
Passion for the Past: Maxine Tewsley
Passion for the Past: Maxine TewsleyPassion for the Past: Maxine Tewsley
Passion for the Past: Maxine Tewsley
 
MM Bagali, PhD, HRM, HRD, HR Project, AHRB,
MM Bagali, PhD, HRM, HRD, HR Project, AHRB, MM Bagali, PhD, HRM, HRD, HR Project, AHRB,
MM Bagali, PhD, HRM, HRD, HR Project, AHRB,
 
Psy 6100 assignment guide sum11
Psy 6100 assignment guide sum11Psy 6100 assignment guide sum11
Psy 6100 assignment guide sum11
 
Can ufo doc_24
Can ufo doc_24Can ufo doc_24
Can ufo doc_24
 
Dinâmicas
DinâmicasDinâmicas
Dinâmicas
 
В.С.Крикоров-Единый Космос 3
В.С.Крикоров-Единый Космос 3В.С.Крикоров-Единый Космос 3
В.С.Крикоров-Единый Космос 3
 
Philip quiere ayudar
Philip quiere ayudarPhilip quiere ayudar
Philip quiere ayudar
 
Page 1
Page 1Page 1
Page 1
 
Busqueda de iinformaciión
Busqueda de iinformaciiónBusqueda de iinformaciión
Busqueda de iinformaciión
 

Similar to Programmazione base 1

Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Fulvio Corno
 
coding_competenze_computazionali.pdf
coding_competenze_computazionali.pdfcoding_competenze_computazionali.pdf
coding_competenze_computazionali.pdfLaura Antichi
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista IMarcello Missiroli
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al codingPaolo Righetto
 
Computational thinking - Il pensiero computazionale
Computational thinking - Il pensiero computazionaleComputational thinking - Il pensiero computazionale
Computational thinking - Il pensiero computazionaleRaffaele Micelotta
 
Problem Solving
Problem SolvingProblem Solving
Problem SolvingLuca Naso
 
Elaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlabElaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlabprofman
 

Similar to Programmazione base 1 (11)

Problem solving
Problem solvingProblem solving
Problem solving
 
come costruire un algoritmo
come costruire un algoritmocome costruire un algoritmo
come costruire un algoritmo
 
Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)
 
coding_competenze_computazionali.pdf
coding_competenze_computazionali.pdfcoding_competenze_computazionali.pdf
coding_competenze_computazionali.pdf
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista I
 
Introduzione al coding
Introduzione al codingIntroduzione al coding
Introduzione al coding
 
Computational thinking - Il pensiero computazionale
Computational thinking - Il pensiero computazionaleComputational thinking - Il pensiero computazionale
Computational thinking - Il pensiero computazionale
 
Problem Solving
Problem SolvingProblem Solving
Problem Solving
 
Prof. d. lucangeli
Prof. d. lucangeliProf. d. lucangeli
Prof. d. lucangeli
 
Elaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlabElaborazione automatica dei dati: computer e matlab
Elaborazione automatica dei dati: computer e matlab
 
Fare
FareFare
Fare
 

Programmazione base 1

  • 1. Programmazione Base Concetti base dell’informatica Bentenuto Bruno © All rights reserved. Mebtech Technologies
  • 2. Problemi e Algoritmi • Prerequisiti – Conoscenza di dato e informazione • Obiettivi – Apprendere il significato di problema – Conoscere il processo risolutivo di un problema – Apprendere la differenza tra risolutore ed esecutore – Conoscere il concetto di algoritmo – Conoscere le proprietà di un algoritmo © All rights reserved. Mebtech Technologies
  • 3. I Problemi – Alcuni concetti fondamentali • Un problema è un quesito che attende una risposta • Un processo risolutivo è un insieme di passi da compiere per giungere alla soluzione di un problema • La soluzione o risultato finale è l’obiettivo che vogliamo raggiungere • Il criterio di verifica è un controllo sui risultati finali per verificare che questi siano rispondenti agli obiettivi iniziali • Un problema non è risolvibile se, pur essendo correttamente formulato non ammette soluzioni. © All rights reserved. Mebtech Technologies
  • 4. Formulare un problema Formulare correttamente un problema o affermare che esso è ben formulato significa: – Chiarire gli obiettivi finali – Possedere le informazioni iniziali – Individuare il criterio di verifica Esempio di problema mal formulato Calcolare il massimo comun divisore Il problema è mal formulato perche mancano le informazioni iniziali © All rights reserved. Mebtech Technologies
  • 5. Il processo risolutivo Nella ricerca della soluzione di un problema non si possono definire criteri ma si possono proporre suggerimenti e strategie che possono essere utilizzati in un considerevole numero di situazioni problematiche Il processo risolutivo è molto soggettivo percui alcuni processi saranno piu efficienti di altri o piu eleganti di altri etc.. Per giungere alla soluzione di un problema è generalmente necesario: – Conoscere il tema oggetto del problema – Utilizzare metodi risolutivi gia sperimentati – Scindere il problema in sotto problemi • Un processo risolutivo si dice generale quando risolve problemi della stessa classe (problemi simili) © All rights reserved. Mebtech Technologies
  • 6. Chi risolve il problema? In genere quando si risolve un problema si fa riferimento a: Risolutore colui che definisce la soluzione necessaria per risolvere un problema attraverso un processo risolutivo Esecutore (Processore) colui che esegue le azioni descritte dal risolutore per giungere concretamente alla soluzione del problema Come detto prima bisogna creare un processo risolutivo descritto (insieme di azioni da eseguire sull’istanza dei dati in ingresso) naturalmente nel linguaggio che l’esecutore può comprendere. © All rights reserved. Mebtech Technologies
  • 7. Descrivere rigorosamente • Fornire le azioni da eseguire è un’attività creativa prerogativa dell’uomo • Eseguire le azioni meccanicamente (non vanno interpretate semanticamente) è compito generalmente delle macchine. • Dato che non saremo noi ad interpretare i passi da eseguire esse dovranno essere espresse in modo inequivocabile, devono avere un inizio ed una fine, devono poter essere eseguite in un tempo determinato. © All rights reserved. Mebtech Technologies
  • 8. L’Algoritmo • L’algoritmo è la base di tutta l’informatica (computer Science) • Si definisce algoritmo una sequenza finita di azioni elementari che descrivono la soluzione di un problema in tempo finito © All rights reserved. Mebtech Technologies
  • 9. ESERCITAZIONE • Descrivere l’algoritmo generico A che torni vero se un algoritmo B termina (Arriva alla fine della sua esecuzione) © All rights reserved. Mebtech Technologies