Introduzione al Corso

Documenti analoghi
Introduzione al Corso

Introduzione al Corso

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

Lezione 1. Algoritmi, Informatica e Informazione. Università degli Studi della Calabria. Facoltà di Ingegneria. INTRODUZIONE ALL INFORMATICA corso F

Concetti Introduttivi. Il Computer

ALGORITMI: PROPRIETÀ FONDAMENTALI

Lezione 1: Concetti introduttivi. Informatica Algoritmo Programma

Università degli Studi della Calabria

Università degli Studi della Calabria

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Algoritmi e Programmi

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

L ELABORATORE ELETTRONICO

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

L ELABORATORE ELETTRONICO!

Elaboratore Elettronico

L ELABORATORE ELETTRONICO

Introduzione all informatica

INFORMATICA (Computer Engineering o

Cosa è l Informatica?

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

Sistemi di elaborazione delle informazioni

Introduzione all Informatica Scienze Naturali / Restauro - Unical 1 Dispensa 1

INTRODUZIONE ALL INFORMATICA

FONDAMENTI DI INFORMATICA

CORSO DI INFORMATICA Maria Grazia Celentano

CODIFICA DI ALTRI TIPI DI NUMERI

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Strumento per la rappresentazione e l elaborazione delle informazioni

Problemi, algoritmi, linguaggi

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura dei

Risoluzione di un problema

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione al corso

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

Programmazione. Informatica. Risoluzione dei Problemi

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Modulo: Informatica. Chi sono. Obiettivi del corso. Preparazione all esame. Andrea Colitta

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Informatica. Come si risolve un problema?

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Introduzione all Informatica

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

L ELABORATORE ELETTRONICO

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan

Laboratorio di Informatica. Introduzione

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

INTRODUZIONE ALL INFORMATICA

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Algoritmi e (cenni sul) calcolatore

Linguaggi, Traduttori e le Basi della Programmazione

Introduzione agli Algoritmi

Introduzione alla programmazione strutturata

FONDAMENTI DI INFORMATICA

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Risoluzione di problemi con l uso dell elaboratore elettronico

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

MODELLO SCHEDA INSEGNAMENTO

Salvatore Cuomo Prolusione

Il concetto di calcolatore e di algoritmo

LABORATORIO DI INFORMATICA

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Problemi, algoritmi, calcolatore

INFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione

Laboratorio di Programmazione

Programmazione modulare

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Introduzione agli Algoritmi 4

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Algoritmi. Informatica B. Daniele Loiacono

Programmazione modulare

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Introduzione. Informatica B. Daniele Loiacono

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Caratteristiche di un calcolatore elettronico

Transcript:

Corso di Potenziamento di Informatica Francesco Folino al Corso

OBIETTIVI DEL CORSO Aspetti concettuali Illustrare i concetti fondamentali dell informatica Fornire conoscenze di base sugli elaboratori elettronici e le reti informatiche Aspetti pratici i Utilizzo di un elaboratore Uso di strumenti di produttività individuale (elaborazione testi, gestione e analisi di dati) Utilizzo di programmi di reperimento di informazioni su Internet all Informatica

PROGRAMMA DEL CORSO - I Parte teorica (aula) Problema, Algoritmo, Programma Codifica dell Informazione Architettura del Calcolatore Macchina di Von Neumann, Memorie, Periferiche Sistemi Operativi Macchine virtuali, Classificazione dei S.O. Reti di Calcolatori Topologie, Protocolli, Trasmissione, TCP/IP, Internet, Web all Informatica

PROGRAMMA DEL CORSO - II Parte pratica (laboratorio) Sistemi Operativi: Windows Sistemi di videoscrittura: Word Fogli elettronici: Excel all Informatica

LIBRIDITESTO Testi di riferimento D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari. ai sistemi informatici. McGraw-Hill, 2002. La guida McGraw-Hill alla patente europea del computer, 2002. Testi di consultazione D. Curtin et al., Informatica di Base II ed., McGraw-Hill, 2002. Collana ECDL, Apogeo 2002: S. Rubini: Moduli 1 e 2 - Concetti di base e Gestione dei file, S. Rubini: Mod. 3 - Elaborazione testi, S. Rubini: Mod. 4 - Foglio elettronico, S. Rubini: Mod. 7 - Reti informatiche. all Informatica

INDIRIZZI UTILI Studio docente: DEIS, Cubo 41C, II Piano Indirizzo di posta elettronica: ffolino@icar.cnr.it Sito del corso (avvisi, materiale, ): www.icar.cnr.it/ffolino all Informatica

CONCETTI INTRODUTTIVI Informatica Hardware & Software Problema, Algoritmo, Programma

INFORMAZIONE E COMUNICAZIONE Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere, diminuendo l incertezza Messaggio Tutto ciò che porta informazione Comunicazione Scambio di informazione all Informatica

INFORMATICA INFORMATICA = Scienza della rappresentazione e dell elaborazione dell informazione L informatica studia le caratteristiche dell informazione e i modi di usarla, immagazzinarla, trasportarla e manipolarla in modo automatico L informatica ha due anime: tecnologica: i calcolatori l elettronici i e i sistemi i che li utilizzano, metodologica: i metodi per la soluzione di problemi e la gestione delle informazioni. all Informatica

ELABORATORE ELETTRONICO Elaboratore elettronico (o computer o calcolatore ): è una macchina per la rappresentazione, la memorizzazione e l elaborazione e trasmissione delle informazioni La prima decomposizione di un calcolatore è relativa alle seguenti componenti: Hardware la struttura tt fisica i del calcolatore, l costituita da componenti elettronici ed elettromeccanici Software l insieme dei programmi che consentono all hardware di svolgere dei compiti utili all Informatica

HARDWARE & SOFTWARE L hardware è la macchina reale Le operazioni (chiamate istruzioni) che l hardware sa eseguire direttamente costituiscono il linguaggio macchina del calcolatore Le istruzioni del linguaggio macchina sono molto semplici, ma il calcolatore può eseguirle in modo molto efficiente Il software ha lo scopo di mostrare ai suoi utenti il calcolatore come una macchina virtuale (non esistente fisicamente) più semplice da usare rispetto all hardware sottostante all Informatica

SOFTWARE Programmi che vengono eseguiti dal sistema: Software di Base (Sistema Operativo) Software Applicativo all Informatica

SOFTWARE: MACCHINE VIRTUALI Macchine virtuali Semplificano la comunicazione fra uomo e hardware Le diverse macchine e i relativi insiemi di operazioni sono via via più astratti: più vicini alla logica dell utente e più lontani dalla logica del calcolatore l come dispositivo i i elettronico Alla fine, comunque, l unico responsabile dell esecuzione del software è l hardware disponibile Il software di base permette una più semplice interazione con le componenti hardware (memorie, periferiche, ) Il software applicativo mostra all utente il calcolatore come una macchina virtuale utilizzabile per la risoluzione di problemi all Informatica

I PROBLEMI I problemi affrontati dalle applicazioni informatiche sono di natura molto varia: Trovare il maggiore fra due numeri Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona Dati a e b, risolvere l'equazione ax+b=0 Stabilire se una parola precede alfabeticamente un'altra Ordinare un elenco di nomi Creare, modificare e alterare suoni Analizzare, riconoscere e modificare immagini... Gestione delle aziende (private e pubbliche) Supportare operazioni di commercio elettronico all Informatica

I PROBLEMI La descrizione del problema non indica direttamente (in genere) un modo per ottenere il risultato voluto Differenza tra specifica di un problema e specifica del processo di risoluzione Risoluzione di un problema processo che: dato un problema individuato un opportuno metodo risolutivo (algoritmo) all Informatica

RISOLUZIONE DI UN PROBLEMA all Informatica

TEORIA DEGLI ALGORITMI E DELLA COMPLESSITA La teoria degli algoritmi Fornisce algoritmi per risolvere problemi Classifica la complessità dei problemi Trattabili (n k ) Ricerca del massimo, ordinare n numeri Intrattabili (k n ) Cricca Non risolvibili Ci sono problemi non risolvibili ibili da nessun modello di calcolo l reale o astratto Esempio: data una funzione f : N N, stabilire se f(x) è costante per ogni valore di x all Informatica

PROBLEMI INTRATTABILI: TORRI DI HANOI n = 64 (dischi) Mosse = 2 n -1 = 2 64-1 = 18'446'744'073'709'551'615 1 mossa al secondo = 5 845 580 504 580 504 secoli Età della Terra = 46 000 000 secoli Ci restano circa 5 miliardi e 800 milioni di secoli! all Informatica

ALGORITMI La parola algoritmo deriva dal nome di un autore scientifico ifi persiano del IX secolo Abu Ja far Mohammed ibn Musa al-khowarizmi scrisse, circa nell 825, il trattato Kitab al jabr w al-muqabala (forse regole di trasposto e semplificazione) dove descrisse delle regole per la semplificazione i delle equazioni. i algebra deriva da al jabr (parte del titolo del trattato) algoritmo deriva da Khowarizmi (ultima parte del nome dell autore, indicante la città di nascita) Il termine originario era agorismo, trasformato in algoritmo per analogia con aritmetica. all Informatica

ALGORITMI all Informatica

ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse che sa eseguire ed il linguaggio che sa capire Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore, Eseguibilità: ogni azione deve essere eseguibile in un tempo finito da parte dell esecutore dell algoritmo, Finitezza: per ogni insieme di dati di ingresso, il numero totale di azioni da eseguire deve essere finito. Proprietà desiderabile: Efficienza: deve risolvere il problema utilizzando al meglio le risorse a disposizione all Informatica

ALGORITMI: ESECUTORE all Informatica

Rappresentazione degli algoritmi 1. Linguaggio naturale Linguaggi informali 2. Diagrammi i di flusso 3. Pseudo-codice Linguaggi semi-formali 4. Linguaggio di programmazione Linguaggi formali all Informatica

Variabili Un algoritmo descrive non una singola istanza di un problema, ma piuttosto un intera classe di problemi (es. trovare il max in un insieme quali che siano i valori contentuti nell insieme). Per questo motivo, le operazioni comprese nell algoritmo fanno riferimento a variabili, vale a dire contenitori per dati. Ogni variabile ha nome valore (iniziale e corrente) Esempio: N = 2 (il valore iniziale di N è 2) N = N + 3 (il valore corrente di N è 5) all Informatica

Esempio di algoritmo: calcolo del MCD Problema: calcolo del Massimo Comun Divisore (MCD) fra due interi M ed N Algoritmo n 1 1. Calcola l'insieme A dei divisori di M 2. Calcola l'insieme B dei divisori di N 3. Calcola l l'insieme i C dei divisori i i comuni di M e N, C = A B 4. Il risultato è il massimo dell insieme C all Informatica

ESEMPIO: calcolo del MCD Algoritmo n 2 Strategia risolutiva: Finchè M N: se M>N, sostituisci a M il valore M = M-N altrimenti sostituisci a N il valore N = N-M Il Massimo Comun Divisore è il valore finale ottenuto quando M e N diventano uguali all Informatica

ESEMPIO: calcolo del MCD Calcoliamo il MCD di M = 24 e N = 14. 1. M=24, N=14 24>14 M = 24-14 = 10 2. M=10, N=14 10<14 N = 14-10 = 4 3. M=10, N=4 10>4 M = 10-4 = 6 4. M=6, N=4 6>4 M = 6-4 = 2 5. M=2, N=4 2<4 N = 4-2 = 2 6. M=2, N=2 2=2 il MCD di 24 e 14 è 2 all Informatica

ALGORITMI EQUIVALENTI In generale un algoritimo può essere visto come una funzione da un dominio di ingresso (input) ad dominio di uscita (output) Due algoritmi si dicono equivalenti quando: hanno stesso dominio di ingresso e stesso dominio di uscita; in corrispondenza degli stessi valori nel dominio di ingresso producono gli stessi valori nel dominio di uscita. all Informatica

ESEMPIO: calcolo del MCD Algoritmo n 3 Dati due interi M e N (M N) 1. Dividi M per N, e sia R il resto della divisione; 2. Se R=0 0 allora termina. Il Massimo Comun Divisore è N; 3. Altrimenti assegna a M il valore di N ed a N il valore del resto R e torna al punto 1. all Informatica

ESEMPIO: calcolo del MCD Calcoliamo il MCD di M = 24 e N = 14. 1. M=24, N=14 24/14 = 1,R=10 M=N=14, N=R=10 2. M=14, N=10 14/10 = 1,R=4 M=N=10, N=R=4 3. M=10, N=4 10/4 = 2, R=2 M=N=4, N=R=2 4. M=4, N=2 4/2 = 2, R=0 il MCD di 24 e 14 è 2 all Informatica

ALGORITMI: ESECUZIONE L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono la particolare istanza del problema. all Informatica

ALGORITMI: ESECUZIONE TRAMITE COMPUTER La programmazione è l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su una particolare tipologia di dati, allo scopo di risolvere un problema. all Informatica

RISOLUZIONE DI PROBLEMI CON L ELABORATORE ELETTRONICO Ogni elaboratore è una macchina in grado di eseguire azioni elementari su dati L'esecuzione delle azioni elementari è richiesta all'elaboratore tramite comandi chiamati istruzioni Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione Un programma non è altro che la formulazione testuale di un algoritmo in un linguaggio di programmazione all Informatica

ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di programmazione all Informatica

LINGUAGGI AD ALTO LIVELLO È opportuno impostare la soluzione di un problema a partire dalle mosse elementari del linguaggio macchina? SI, per risolvere il problema con efficienza NO, se la macchina di partenza ha mosse di livelloll troppo basso (difficile progettare un algoritmo) Linguaggi di Programmazione ad Alto Livello (di astrazione) le istruzioni corrispondono ad operazioni più complesse esempi: Pascal, Basic, C, C++, Java all Informatica

Operazioni Elementari Operazioni aritmetiche e assegnamento di valori a singole variabili Es. C = (A + B) ( C A + B ) Condizioni sul valore di singole variabili Es. Se A > B allora Lettura e scrittura di variabili Es. Leggi A oppure Stampa B all Informatica

Le strutture di controllo: SEQUENZA Le istruzioni devono semplicemente essere eseguite nell ordine in cui sono presentate: solleva il ricevitore componi il numero Una sequenza di istruzioni può essere raggruppata in modo da diventare una nuova macro-istruzione: INIZIO solleva il ricevitore componi il numero FINE all Informatica

Le strutture di controllo: ITERAZIONE Le istruzioni devono essere eseguite ripetutamente fino a che non si verifica una determinata condizione Esempio: RIPETI componi il numero FINO a che la linea è libera all Informatica

Le strutture di controllo: CONDIZIONE Le istruzioni da eseguire sono determinate dalla valutazione di una data condizione Esempio: SE il numero è libero ALLORA attendi la risposta conduci la conversazione deponi il ricevitore ALTRIMENTI deponi il ricevitore all Informatica

Pseudo-codice: calcolo della potenza Problema: Calcolare a elevato alla n (a n ) Utilizziamo le variabili K, Ris Inizialmente Ris = 1 e K = n Algoritmo: Fino a che K >0 Calcola Ris a e memorizzalo in Ris Decrementa K Correttezza: Al termine Ris = a n all Informatica

Programma: calcolo della potenza Programma (in Pascal): (i P l) Il programma in linguaggio i ad alto Program Potenza; livello va tradotto in linguaggio Begin macchina (comprensibile Integer Ris,N,A; Read(N); all elaboratore) Read(A); Ris=1; While (N>0) Do Begin Ris=Ris*A; N=N-1; End; Wit Write(Ris); End. all Informatica

FINE all Informatica