Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione
|
|
- Pio Locatelli
- 6 anni fa
- Visualizzazioni
Transcript
1 Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione
2 Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa (non ambigua) e finita di operazioni, che portano alla realizzazione di un compito PASSO 1: Fai qualcosa PASSO 2: Fai qualcosa PASSO n: Fermati, hai finito 24/09/2017 Fondamenti di Programmazione 2
3 Problema: consumo medio 24/09/2017 Fondamenti di Programmazione 3
4 Problema: ax 2 +bx+c=0 PASSO 1: ACQUISISCI i valori per a, b e c PASSO 2: PONI il valore di a b 2 4ac PASSO 3: SE il valore di è minore di zero allora PASSO 4: STAMPA Non esistono soluzioni reali ALTRIMENTI PASSO 5: SE il valore di è uguale a zero allora PASSO 6: STAMPA Due soluzioni reali coincidenti PASSO 7: PONI il valore di x a ( b/2a) PASSO 8: STAMPA il valore di x ALTRIMENTI PASSO 9: STAMPA Due soluzioni reali distinte b a PASSO 10: PONI il valore di x 1 a 2 PASSO 11: PONI il valore di x 2 a b 2 PASSO 12: STAMPA il valore di x 1 e di x 2 PASSO 13: FERMATI a 24/09/2017 Fondamenti di Programmazione 4
5 Problema: n è primo? PASSO 1: ACQUISISCI il valore per n PASSO 2: PONI il valore di primo a 1 PASSO 3: PONI il valore di d a 2 PASSO 4: RIPETI i passi da 5 a 7 fintanto che primo è uguale a 1 e d è minore di n PASSO 5: SE n è divisibile per d PASSO 6: PONI il valore di primo a 0 ALTRIMENTI PASSO 7: PONI il valore di d a (d+1) PASSO 8: SE il valore di primo è uguale a 1 PASSO 9: STAMPA È primo! ALTRIMENTI PASSO 10: STAMPA Non è primo! PASSO 11: FERMATI 24/09/2017 Fondamenti di Programmazione 5
6 Operazioni Operazioni sequenziali Realizzano una singola azione. Quando l azione è terminata passano all operazione successiva. PONI il valore della variabile a espressione aritmetica Istruzioni di I/O Ingresso: ACQUISISCI il valore della variabile,... Uscita: STAMPA il valore della variabile,... STAMPA il messaggio 24/09/2017 Fondamenti di Programmazione 6
7 Operazioni (cont.) Operazioni condizionali Controllano una condizione. In base al valore della condizione, selezionano l operazione successiva da eseguire. SE una condizione è vera allora sequenza di operazioni ALTRIMENTI sequenza di operazioni 24/09/2017 Fondamenti di Programmazione 7
8 Operazioni (cont.) Operazioni iterative Ripetono l esecuzione di un blocco di operazioni, finchè non è verificata una determinata condizione. RIPETI finché una condizione è vera sequenza di operazioni 24/09/2017 Fondamenti di Programmazione 8
9 Automazione della soluzione Se siamo capaci di specificare un algoritmo per risolvere un problema, allora siamo in grado di automatizzare la soluzione Per fare ciò bisogna saper costruire una macchina capace di eseguire le operazioni dell algoritmo 24/09/2017 Fondamenti di Programmazione 9
10 Algoritmo L esecuzione delle azioni nell ordine specificato dall algoritmo consente di risolvere il problema. Risolvere il problema significa produrre risultati a partire da dati in ingresso algoritmo dati esecutore risultati L algoritmo deve essere applicabile ad un qualsiasi insieme di dati in ingresso appartenenti al dominio di definizione dell algoritmo (se l algoritmo si applica ai numeri interi deve essere corretto sia per gli interi positivi che per gli interi negativi) 24/09/2017 Fondamenti di Programmazione 10
11 Algoritmo - proprietà Eseguibilità: ogni azione deve essere eseguibile dall esecutore in un tempo finito Non-ambiguità: ogni azione deve essere univocamente interpretabile dall esecutore Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati in ingresso, deve essere finito Algoritmi equivalenti hanno lo stesso dominio di ingresso hanno lo stesso dominio di uscita in corrispondeza degli stessi valori del dominio di ingressso producono gli stessi valori del dominio di uscita Due algoritmi equivalenti gforniscono lo stesso risultato, ma possono avere diversa efficienza e possono essere profondamente diversi 24/09/2017 Fondamenti di Programmazione 11
12 Algoritmo - proprietà Correttezza: un algoritmo è corretto se esso perviene alla soluzione del compito cui è preposto, senza difettare in alcun passo fondamentale. Efficienza: un algoritmo è efficiente se perviene alla soluzione del compito cui è preposto nel modo più veloce possibile, compatibilmente con la sua correttezza. 24/09/2017 Fondamenti di Programmazione 12
13 Il calcolatore come esecutore di algoritmi Calcolatore Macchina calcolatrice che accetta in ingresso informazioni codificate in forma digitale, le elabora attraverso un programma memorizzato e produce informazioni in uscita Un calcolatore è un esecutore di algoritmi in cui un algoritmo viene descritto per mezzo di un programma ed il programma è una sequenza di istruzioni espresse in un linguaggio comprensibile al calculatore (linguaggio di programmazione) 24/09/2017 Fondamenti di Programmazione 13
14 Ricapitolando Per risolvere un problema bisogna: 1. Individuare un procedimento risolutivo 2. Scomporre il procedimento in un insieme ordinato di azioni ALGORITMO 3. Rappresentare i dati e dell algoritmo attraverso un formalismo comprensibile al calcolatore: LINGUAGGIO DI PROGRAMMAZIONE 24/09/2017 Fondamenti di Programmazione 14
15 Linguaggio naturale Perché non usare direttamente il linguaggio naturale? il linguaggio naturale è un insieme di parole e di regole per combinare tali parole che sono usate e comprese da una comunità di persone non evita le ambiguità non si presta a descrivere processi computazionali automatizzabili Occorre una nozione di linguaggio più precisa. Un linguaggio di programmazione è una notazione formale che può essere usata per descrivere algoritmi. Si può stabilire quali sono gli elementi linguistici primitivi, quali sono le frasi lecite e se una frase appartiene al linguaggio. 24/09/2017 Fondamenti di Programmazione 15
16 Linguaggio di programmazione Un (qualunque) linguaggio è caratterizzato da: SINTASSI insieme di regole formali per la scrittura di programmi, che fissano le modalità per costruire frasi corrette nel linguaggio SEMANTICA insieme dei significati da attribuire alle frasi (sintatticamente corrette) costruite nel linguaggio a parole (poco precisa e ambigua) mediante azioni (semantica operazionale) mediante funzioni matematiche (semantica denotazionale) mediante formule logiche (semantica assiomatica) 24/09/2017 Fondamenti di Programmazione 16
17 Definizione di linguaggio Alfabeto V (lessico) insieme dei simboli con cui si costruiscono le frasi Universo linguistico V* insieme di tutte le frasi (sequenze finite) di elementi di V Linguaggio L su alfabeto V un sottoinsieme di V* Come definire il sottoinsieme di V* che definisce il linguaggio? Specificando in modo preciso la sintassi delle frasi del linguaggio TRAMITE una grammatica formale 24/09/2017 Fondamenti di Programmazione 17
18 Grammatica Grammatica G = <V, VN, P, S> V insieme finito di simboli terminali VN insieme finito di simboli non terminali P insieme finito di regole di produzione S simbolo non terminale detto simbolo iniziale Data una grammatica G, si dice Linguaggio LG generato da G l insieme delle frasi di V Derivabili dal simbolo iniziale S applicando le regole di produzione P Le frasi di un linguaggio di programmazione vengono dette programmi di tale linguaggio. 24/09/2017 Fondamenti di Programmazione 18
19 Grammatica BNF GRAMMATICA BNF (Backus-Naur Form) è una grammatica le cui regole di produzione sono della forma X ::= A con X simbolo non terminale A sequenza di simboli (terminali e non terminali) Una grammatica BNF definisce quindi un linguaggio sull alfabeto terminale V mediante un meccanismo di derivazione (riscrittura) A deriva da X se esiste una sequenza di derivazioni da X ad A Unica regola che indica l alternativa fra A 1,, A n X ::= A 1 A 2 A n 24/09/2017 Fondamenti di Programmazione 19
20 Grammatica BNF G = <V, VN, P, S> V = {lupo, canarino, bosco, cielo, mangia, vola, canta,., il, lo} VN = {frase, soggetto, verbo, articolo, nome } S = frase Produzioni P frase ::= soggetto verbo. soggetto ::= articolo nome articolo ::= il lo nome ::= lupo canarino bosco cielo verbo ::= mangia vola canta Esempio: derivazione della frase il lupo mangia. frase -> soggetto verbo. -> articolo nome verbo. -> il nome verbo. -> il lupo verbo. -> il lupo mangia. derivazione left-most 24/09/2017 Fondamenti di Programmazione 20
21 Albero sintattico frase soggetto verbo articolo nome. il lupo mangia Albero sintattico: albero che esprime il processo di derivazione di una frase usando una data grammatica Esistono programmi per generare analizzatori sintattici per linguaggi descritti con BNF 24/09/2017 Fondamenti di Programmazione 21
22 Sintassi e semantica Scrivere un programma sintatticamente corretto non implica che il programma faccia quello per cui è stato scritto La frase il lupo vola è sintatticamente corretta ma non è semanticamente corretta (non è significativa) // Somma di due numeri interi inseriti da tastiera int main() { } int a, b; cout << immettere due numeri << endl; cin >> a; cin >> b; int c = a + a; //!!!!! cout << Somma: << c << endl; return 0; 24/09/2017 Fondamenti di Programmazione 22
23 Approccio compilato Sviluppo di un programma (approccio compilato): 1. Editing 2. Compilazione 3. Linking 4. Esecuzione Compilatore: traduce il programma sorgente in programma oggetto ANALISI programma sorgente analisi lessicale analisi sintattica TRADUZIONE generazione del codice ottimizzazione del codice Esempi: C, C++, Pascal 24/09/2017 Fondamenti di Programmazione 23
24 Approccio interpretato Sviluppo di un programma (approccio interpretato): 1. Editing 2. interpretazione Interpretazione ANALISI programma sorgente analisi lessicale analisi sintattica ESECUZIONE ESEMPIO: Basic, Java 24/09/2017 Fondamenti di Programmazione 24
25 Struttura logica di un calcolatore Architettura di von Neumann (1946) 24/09/2017 Fondamenti di Programmazione 25
26 Calcolatore e periferiche modem schermo scanner tastiera Calcolatore stampante mouse hard disk USB stick lettore di CD-ROM 24/09/2017 Fondamenti di Programmazione 26
27 Descrizione funzionale La memoria contiene dati ed i programmi (istruzioni) Il processore ripete all infinito le seguenti azioni: preleva una nuova istruzione dalla memoria la decodifica (capisce cosa deve fare!) la esegue (lo fa!) L esecuzione di un istruzione può comportare Calcolo di un espressione e/o Trasferimenti memoria-cpu e CPU-I/O) Le periferiche permettono al calcolatore di interagire con il mondo esterno (trasduttori) 24/09/2017 Fondamenti di Programmazione 27
28 Linguaggio macchina e assembly Esempio: espressione Z = X + Y (linguaggio di alto livello) Linguaggio macchina Linguaggio Assembly LOAD R0,x; LOAD R1,y; ADD R0,R1; STORE R0,z; 24/09/2017 Fondamenti di Programmazione 28
INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
Dettagli(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B
Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3
DettagliFONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica
DettagliAlgoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.
Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliLinguaggi di programmazione
Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliElementi di informatica
Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliInformatica di Base - 6 c.f.u.
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Algoritmi Introduzione L informatica è una
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliStruttura del calcolatore
Mondo esterno Dati di ingresso Calcolatore Dati di uscita Mondo esterno Il calcolatore elabora dei dati di ingresso per ottenere dati in uscita In linea di principio, ma non solo, il compito svolto da
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliIntroduzione al Linguaggio C ed all IDE DEV-C++
Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliLezioni di Informatica di Base per la Facoltà di Lettere e Filosofia. Algoritmi
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Anno Accademico 2012/20103 Docente: ing. Salvatore Sorce Algoritmi
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
Dettagli2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.
Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliCome funziona il linguaggio COME FUNZIONA IL LINGUAGGIO
Come funziona il linguaggio COME FUZIOA IL LIGUAGGIO SITASSI Il cervello di ogni persona contiene un dizionario di parole e dei concetti che esse rappresentano (dizionario mentale) e un insieme di regole
DettagliAlgoritmi e Diagrammi di flusso
Algoritmi e Diagrammi di flusso Prof. Orazio Mirabella SOMMARIO La soluzione di un problema Cos è un algoritmo Esempi di problemi algoritmici Struttura di selezione Struttura di iterazione Esempi di algoritmi
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliLa rappresentazione dell algoritmo Diagrammi di flusso
La rappresentazione dell algoritmo Diagrammi di flusso Forme di rappresentazione Ritornando al problema dell addizione di due numeri interi, la maestra non fa altro che codificare l algoritmo utilizzando
DettagliLaurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1
Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/
DettagliProgrammazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"
Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore
DettagliAlgebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
DettagliMatematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.
Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it erasmo@galois.it A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,
DettagliCaratteristiche di un PC
Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
DettagliCURRICOLO DI MATEMATICA CLASSE PRIMA
CURRICOLO DI MATEMATICA CLASSE PRIMA INDICATORI OBIETTIVI SPECIFICI CONTENUTI NUMERI Eseguire le quattro operazioni con i numeri interi. Elevare a potenza numeri naturali e interi. Comprendere il significato
DettagliModulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliLa codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
Dettagli1. riconoscere la risolubilità di equazioni e disequazioni in casi particolari
Secondo modulo: Algebra Obiettivi 1. riconoscere la risolubilità di equazioni e disequazioni in casi particolari 2. risolvere equazioni intere e frazionarie di primo grado, secondo grado, grado superiore
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliE una notazione per descrivere gli algoritmi.
Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliSomma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi
Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliAnalisi e Programmazione
Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
Dettaglialgebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi
Liceo B. Russell VIA IV NOVEMBRE 35, 3803 CLES Indirizzo: Scienze umane CLASSE Programmazione Didattica a. s. 00/0 UB Disciplina: Matematica Prof. Ore effettuate 08 + 6 recupero Carlo Bellio PROGRAMMA
DettagliArchitettura dei calcolatori e Software di sistema
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103
DettagliM.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI
M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI Assumiamo come primitivo il concetto di insieme e quello di appartenenza di un elemento a un insieme. La notazione x A indica
DettagliCOMPILAZIONE. Tarsformazione di linguaggi
COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File
DettagliALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
DettagliElaboratore Elettronico
Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14 Docente: Ing. Ivan Bruno Elementi di programmazione 1. Algoritmi e linguaggi di programmazione 2. Definizione di un linguaggio di programmazione
DettagliNumeri naturali ed operazioni con essi
Liceo B. Russell VIA IV NOVEMBRE 35, 38023 CLES Indirizzo: Liceo Linguistico CLASSI Programmazione Didattica 1 e Disciplina: MATEMATICA Ore annue: 110 MODULO 1 TEORIA DEGLI INSIEMI E INSIEMI NUMERICI settembre
DettagliArchitettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)
Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) La macchina di Von Neumann Le periferiche Software (tutto ciò che non e tangibile) Il sistema operativo I programmi applicativi
Dettagli1 IL LINGUAGGIO MATEMATICO
1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s
ALGORITMI E PROGRAMMAZIONE STRUTTURATA Prof R. Bresolin a.s. 2013-2014 2 Programmazione Calcolatore Elettronico È uno strumento in grado di eseguire insiemi di azioni elementari; Le azioni vengono eseguite
DettagliArchitettura di un PC
Architettura di un PC E ancora. Chiavi USB (penne): stanno diventando i dispositivi di memorizzazione rimovibili più diffusi. Si tratta di memorie flash che si collegano direttamente al computer per mezzo
DettagliPROGRAMMAZIONE DIDATTICA DI MATEMATICA
ISTITUTO COMPRENSIVO F. D'ASSISI TEZZE SUL BRENTA (VI) PROGRAMMAZIONE DIDATTICA DI MATEMATICA CLASSE 3^ OBIETTIVI FORMATIVI: I NUMERI CONOSCENZE ABILITA COMPETENZE Leggere, rappresentare e utilizzare i
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliPROGRAMMAZIONE EIA/ISO Macchine Utensili CNC
PROGRAMMAZIONE EIA/ISO Macchine Utensili CNC A cura di Massimo Reboldi La programmazione EIA/ISO! Introduzione! Assi e Riferimenti! Linguaggio di programmazione! Grammatica;! Lessico;! Funzioni N, G, M,
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliElementi di base del calcolatore
Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo
DettagliModulo 2 Data Base - Modello Relazionale
Modulo 2 Data Base - Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Modello Relazionale
DettagliAlgoritmi, dati e programmi
1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite
DettagliInformatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!
Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!! Definizioni! Informatica: scienza per l elaborazione automatica dell informazione! Informatica = Informazione + Automatica! Informazione:
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
DettagliProgettazione logica
Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede
DettagliCapitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliImplementazione semplificata
Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento
DettagliFONDAMENTI DI INFORMATICA Lezione n. 11
FONDAMENTI DI INFORMATICA Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di
DettagliIntroduzione all Informatica e alla Programmazione. Fondamenti di Informatica T
Introduzione all Informatica e alla Programmazione Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Esistono varie definizioni: l'informatica è la scienza che si occupa della
DettagliAE RZT QSO RKPT SQZC
Laboratorio di Informatica Lezione 1: Introduzione al corso Prof. Riccardo Cassinis Dott. Marzia Tassi Siete seduti nel posto giusto? AE RZT QSO RKPT SQZC PRFGE BERTSZ KDTVSU ZQRPDE 2 1 Prima di cominciare,
DettagliMemoria Secondaria o di Massa
Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc deve essere permanente (mentre la RAM e`volatile) accesso sequenziale, cioe il tempo di accesso
DettagliChe cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
Dettagli2. Sintassi e Semantica
2. Sintassi e Semantica Un linguaggio di programmazione è un linguaggio formale dotato di una sintassi e una semantica ben definita. Per linguaggio formale si intende un insieme di stringhe di lunghezza
DettagliInformatica per la Storia dell Arte. Algoritmi
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Informatica per la Storia dell Arte Anno Accademico 2014/2015 Docente: ing. Salvatore Sorce Algoritmi
DettagliProgramma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliIndividuazione di sottoproblemi
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
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università
DettagliIntroduzione alla probabilità
Introduzione alla probabilità Osservazione e studio dei fenomeni naturali: a. Caso deterministico: l osservazione fornisce sempre lo stesso risultato. b. Caso stocastico o aleatorio: l osservazione fornisce
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliI RADICALI QUADRATICI
I RADICALI QUADRATICI 1. Radici quadrate Definizione di radice quadrata: Si dice radice quadrata di un numero reale positivo o nullo a, e si indica con a, il numero reale positivo o nullo (se esiste) che,
DettagliCOMPETENZE SPECIFICHE ABILITA
CURRICOLO PROVVISORIO SETTEMBRE 2015 AMBITO DISCIPLINARE: MATEMATICA CLASSE: PRIMA PRIMARIA COMPETENZE SPECIFICHE 1. OPERARE CON I NUMERI NEL CALCOLO SCRITTO E MENTALE 2. RICONOSCERE, ANLIZZARE ED OPERARE
DettagliAnno 3. Funzioni esponenziali e logaritmi: le 4 operazioni
Anno 3 Funzioni esponenziali e logaritmi: le 4 operazioni 1 Introduzione In questa lezione impareremo a conoscere le funzioni esponenziali e i logaritmi; ne descriveremo le principali caratteristiche e
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliUN METODO PER SCRIVERE I CURRICOLI DI SCUOLA: DISCIPLINE, UNITÀ DI TRANSIZIONE, VALUTAZIONE E COMPETENZE
Relazione Maurizio Gentile UN METODO PER SCRIVERE I CURRICOLI DI SCUOLA: DISCIPLINE, UNITÀ DI TRANSIZIONE, VALUTAZIONE E COMPETENZE Domande di ricerca. Come rendere semanticamente più semplici i traguardi
Dettagli