Fondamenti Teorici e Programmazione
|
|
- Alice Romani
- 4 anni fa
- Visualizzazioni
Transcript
1 Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D.
2 Informazioni Generali 2
3 Informazioni sul Modulo A FTP-A: Fondamenti Teorici e Programmazione A Modulo A Elementi di Programmazione Quando? il Lunedì dalle 12,00 alle 13,30 - Aule Fib H-Lab e Fib M-Lab il Mercoledì dalle 14,15 alle 15,45 - Aula Fib B 3
4 Programma del Modulo A La programmazione in JavaScript: Espressioni Funzioni senza stato Variabili e assegnamento Funzioni con Stato Costrutti di Controllo Condizionali Iteratori Array Array Associativi 4
5 Materiale Didattico Modulo A Modulo A: Lucidi delle lezioni resi disponibili sulla pagina Moodle del corso V. Ambriola. "Programmazione in JavaScript": Prima parte, Nota didattica, V. Ambriola, in formato pdf Testi di Consultazione: un qualsiasi testo su JavaScript, ad esempio Haverbeke, Marijn. Eloquent JavaScript. No Starch Press, Crockford, Douglas. JavaScript: The Good Parts: The Good Parts. " O'Reilly Media, Inc.",
6 Docenti: Modulo A Claudio Gallicchio, Ph.D. Assistant Professor Computational Intelligence and Machine Learning Group Dipartimento di Informatica - Universita' di Pisa Largo Bruno Pontecorvo 3, Pisa, Italy Polo Fibonacci web: gallicch@di.unipi.it tel.:
7 Pagina Moodle del Corso Organizzazione del corso Informazioni & Avvisi Slides Esercizi... 7
8 Introduzione alla Programazione 8
9 Elaborazione dell Informazione Informatica: elaborazione automatica dell informazione Individuare e implementare un metodo risolutivo automatico Risoluzione di un problema che richieda la manipolazione di informazione Per automatizzare la soluzione di un problema occorre rappresentare le informazioni e il metodo risolutivo in un linguaggio comprensibile dal calcolatore 9
10 Algoritmi e Programmazione Algoritmo: metodo risolutivo Linguaggio di Programmazione: linguaggio comprensibile al calcolatore Programma: sequenze di istruzioni del linguaggio che descrivono un algoritmo 10
11 Le Fasi della Programmazione Ad un primo livello di astrazione la programmazione può essere suddivisa in 4 macro-fasi: Specifica: definizione del problema quale funzione si vuole calcolare e quali sono i dati di interesse es. dati due numeri calcolarne il maggiore Individuazione di un algoritmo (metodo risolutivo) Codifica dell algorimo in un linguaggio di programmazione Esecuzione e messa a punto 11
12 Specifica Comprendere e definire (specificare) il problema che si vuole risolvere Descrizione dello stato iniziale del problema (dati iniziali, input) e dello stato finale atteso (risultati, output) La specifica può essere fatta in maniera piú o meno rigorosa 12
13 Esempi di Specifica Informale Es. 1: dati due numeri, trovare il maggiore Es. 2: dato un elenco telefonico e un nome, trovare il numero di telefono corrispondente Es. 3: data la struttura di una rete stradale e le informazioni sui flussi dei veicoli, determinare il percorso piú rapido tra due posizioni A e B Nota: La descrizione non fornisce un metodo risolutivo (es. 3) La descrizione puó essere ambigua o imprecisa (es. 2) 13
14 Algoritmi Dopo la specifica occorre individuare un algoritmo (metodo risolutivo) che permetta di ottenere i risultati attesi. In generale, in questa fase occorre: Individuare una soluzione Dimostrare che la soluzione è corretta Tra piú soluzioni, scegliere quella ottimale 14
15 Codifica Rappresentare l algoritmo e l informazione di interesse in un linguaggio di programmazione Il risultato è un programma eseguibile dal calcolatore Occorre rappresentare l algoritmo programma le informazioni iniziali dati in ingresso (input) le informazioni finali dati in uscita (output) le informazioni usate dall algoritmo dati ausiliari 15
16 Esecuzione Un programma può essere compilato oppure interpretato Compilazione il programma viene tradotto (compilato) in linguaggio macchina il nuovo programma in linguaggio macchina viene eseguito dal calcolatore Interpretazione il programma viene eseguito da un emulatore (interprete) dei comandi del linguaggio dato il programma, è l emulatore che ne calcola l output La correzione degli errori (in ogni caso) può richiedere la revisione di una o piú fasi (specifica, definizione dell algoritmo, codifica) 16
17 Introduzione a JavaScript 17
18 JavaScript: Caratteristiche Principali Linguaggio di programmazione interpretato linguaggio di scripting: permette di scrivere script programmi scritti per un particolare ambiente run time Consente di esprimere tutte le funzioni calcolabili L interprete è incorporato nei web browser (e servers) Permette di rendere dinamiche (ed interattive) le pagine web Weakly typed (tipizzazione debole) Non ha nulla a che fare con il linguaggio di programmazione Java 18
19 Scrivere ed Eseguire un Programma Un programma in JavaScript è scritto dall utente come una sequenza di caratteri Un esempio: function factorial(n){ if (n==0){ return 1; } else { return factorial(n-1)*n; } } write("fattoriale di 5 = "); writeln(factorial(5)); 19
20 Scrivere il Programma Usare un editor di testo, possibilmente con funzioni di source code editing e highlighting Ad esempio: Notepad++ 20
21 Eseguire il Programma Usare l ambiente di programmazione EasyJS Questo ambiente permette di: definire un programma JavaScript, eseguirlo, visualizzare il risultato dell esecuzione 21
22 Programmi in JavaScript Un programma in JavaScript è una sequenza di comandi I comandi (o istruzioni) sono eseguiti uno dopo l altro nell ordine in cui compaiono JavaScript è un linguaggio imperativo I comandi semplici devono terminare con un punto e virgola (;) JavaScript è case sensitive: fa distinzione tra lettere maiuscole e minuscole write e Write sono diversi! 22
23 Il Primo Programma in JavaScript Visualizzazione di una sequenza di caratteri "Ciao mondo!" //Il mio primo programma writeln("ciao mondo!"); /*Stampa Ciao mondo! in output */ Questo programma ha l effetto di stampare una riga di testo sulla finestra di output 23
24 Commenti Il testo racchiuso tra /* e */ è un commento, ad esempio /*Stampa Ciao mondo! in output */ Il testo che segue // fino alla fine della riga è un commento, ad esempio //Il mio primo programma L interprete ignora i commenti I commenti sono fondamentali per rendere comprensibile il programma a chi lo scrive e a chi lo legge 24
25 Istruzione di Stampa (output) writeln("ciao mondo!"); Esempio di istruzione semplice: ordina l esecuzione di un azione Repetita: le istruzioni semplici devono terminare con ; In questo caso l istruzione chiede di visualizzare sulla finestra di output la sequenza di caratteri tra gli apici L istruzione writeln("ciao mondo!"); è un invocazione (attivazione) di funzione il cui parametro è la sequenza di caratteri racchiusa tra doppi apici writeln è una comoda funzione che nasconde all utente (programmatore) molti dettagli implementativi connessi con la gestione degli output 25
26 Istruzione di Stampa (output)/2 L istruzione writeln provoca: 1. La visualizzazione della sequenza (argomento) a partire dalla posizione corrente del cursore (che inizialmente si trova nell angolo superiore a sinistra della finestra) 2. Lo spostamento del cursore all inizio della riga successiva writeln("ciao mondo!"); writeln("ciao mondo!"); Ciao mondo! Ciao mondo! 26
27 Istruzione di Stampa (output)/3 Un alternativa è rappresentata dall istruzione write: Visualizza la sequenza indicata a partire dalla posizione corrente del cursore Non va a capo! write("ciao mondo!"); write("ciao mondo!"); Ciao mondo!ciao mondo! 27
28 Invocare una Funzione Negli esempi visti di invocazione di funzione (es. writeln e write) l argomento è racchiuso tra parentesi (come in matematica) writeln("ciao mondo!"); nome della funzione argomento (a quali dati applicare la funzione) In questo caso l argomento è una costante di tipo sequenza di caratteri, o stringa 28
29 Costanti (letterali) Stringhe Una stringa è una sequenza di caratteri delimitata da un apice doppio ( ) o singolo ( ), ad esempio: "Lorem ipsum dolor sit amet" 'Lorem ipsum dolor sit amet I caratteri sono tutti i caratteri stampabili: le lettere alfabetiche minuscole e maiuscole, le cifre numeriche (da non confondere con i numeri), i segni di interpunzione e gli altri simboli che si trovano sulla tastiera di un calcolatore (e qualcuno di piu) Le costanti stringhe devono essere scritte su una sola riga 29
30 Sequenze di Escape Le stringhe vanno racchiuse tra apici ( o ) Come fare a inserire o (e altri caratteri speciali) in una stringa? Sequenze di escape: sequenza di 2 caratteri in cui il primo carattere è \ Ad esempio: \ stampa \ stampa \\ stampa \ \n indica ritorno a capo \t indica tabulazione orizzontale 30
31 Espressioni Un espressione in JavaScript rappresenta un calcolo che restituisce un valore Una costante (o letterale) è un espressione semplice Un espressione composta si ottiene combinando una o piú espressioni tramite un operatore l operatore combina uno, due o piú operandi 31
32 Concatenazione di Stringhe Per concatenare due stringhe si usa l operatore + Operatore binario (si applica a due operandi) Esempi: "Java" + "Script" = "JavaScript "2" + "3" = "23" 32
33 Costanti Numeriche Le costanti numeriche sono: interi: es. 456, 0, -7, +42 razionali (numeri con una parte decimale non nulla) I numeri razionali si possono rappresentare con notazione decimale, es: 3.14, -4.12, con notaizone esponenziale, es: 3E+2 = 300, 314E-2 = 3.14 Numeri speciali: Infinity e Infinity rappresentano rispettivamente infinito positivo e negativo Conversione automatica da interi a razionali quando necessario es: 1 viene automaticamente convertito in 1.0, ecc. 33
34 Operatori Numerici Operatori unari + si applica a costanti numeriche e non ha effetto, es. +4, +3.14, si applica a costanti numeriche e ne cambia il segno, es , -4, -34 Operatori binari + addizione, es = 7 - sottrazione, es = 3 * moltiplicazione, es. 30 * 2 = 60 / divisione, es. 3/2 = 1.5 % modulo (resto della divisione intera) 3 % 2 = 1, 3 % 3 = 0 34
35 Costanti Logiche o Booleane Sono usate per rappresentare valori di verità VERO true FALSO false Operatori su booleani! negazione (o complemento), cambia il valore di verità && congiunzione, true solo se entrambi gli operandi sono true disgiunzione, true se almeno uno degli operandi è true 35
36 Operatori di Confronto (o relazionali) Permettono di confrontare 2 valori di un dominio sul quale è definito un ordinamento == uguaglianza!= disuguaglianza > maggiore >= maggiore o uguale < minore <= minore o uguale Gli operandi devono essere dello stesso tipo 36
37 Operatori di Confronto (o relazionali)/2 Per i numeri l ordinamento è quello usuale 2 < 3, 3>=3, 2.2 > 2.0, 2.12!= Per i booleani false < true Per le stringhe si segue l ordine lessicografico basato sull ordinamento alfanumerico "abate" < "abete" "solo" > "sola" 37
38 Conversioni Implicite Se un operatore viene eseguito con operandi che non sono del tipo atteso avviene una conversione, se possibile. Per gli operatori numerici: i Booleani sono convertiti ( ) in questo modo true 1 false 0 le stringhe sono convertite in numeri, se possibile "23" 23, es. 2 * "23" = 46 se la stringa non rappresenta un numero viene restituito Nan (not a number) attenzione all operatore di concatenazione tra stringe 0 viene convertito in false ("0" non viene convertito!) 38
39 Operatori Booleani && e La valutazione degli operatori è lazy: il secondo operando viene valutato solamente se è necessario per &&: solo se il primo operando è true, per : solo se il primo operando è false. Se gli operandi non sono booleani: per &&: se il primo operando non può essere convertito in false allora il risultato è il secondo operando, altrimenti il risultato è il primo operando per : se il primo operando non può essere convertito in false allora il risultato è il primo operando, altrimenti il risultato è il secondo operando 39
40 Esercizi Cosa calcolano le seguenti istruzioni? writeln(5 true); writeln(5 false); writeln(0 false); writeln(0 true); writeln("0" true); writeln("0" false); writeln(5 && true); writeln(5 && false); writeln(0 && true); writeln(0 && false); writeln("0" && true); 40
Notazione e convenzioni in questi lucidi
Notazione e convenzioni in questi lucidi Il programma, ovvero la descrizione della funzione da calcolare, è scritto dall utente come una sequenza di caratteri. le sequenze di caratteri sono anche dette,
DettagliIl linguaggio JavaScript
Il linguaggio JavaScript JavaScript è un linguaggio di programmazione ad alto livello compatto e comprensibile. sintassi e semantica sono formalmente definite, compatto e comprensibile. appartiene alla
DettagliLe fasi della programmazione
Ad un primo livello di astrazione l attività della programmazione può essere suddivisa in quattro (macro) fasi principali. 1. Definizione del problema (specifica): quale funzione si vuole calcolare e quali
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliOperatori di confronto (o relazionali)
Operatori di confronto (o relazionali) Gli operatori di confronto permettono di confrontare 2 valori di un dominio sul quale è definito un ordinamento. I due valori devono essere dello stesso tipo (?)
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliFondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014
Fondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento di Informatica email: occhiuto@di.unipi.it E. Occhiuto
DettagliFondamenti di Informatica T-1. Selezione
Selezione 2 Selezione Permette di differenziare il flusso di controllo a seconda che sia verificata o meno una condizione. Il flusso di controllo si ramifica in due (o più) sequenze di istruzioni alternative.
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
DettagliINFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione
INFORmazione+autoMATICA Perché saperne di piu? Calcolatore: un supporto per la rappresentazione di informazione che può: I raccogliere impressionanti quantità di dati I eseguire velocemente e con precisione
DettagliIntroduzione a JavaScript. Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani
Introduzione a JavaScript Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani Principali caratteristiche di JavaScript È un linguaggio interpretato È un linguagio basato sugli
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliFondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Lettura di Stringhe e Numeri Interazione con l utente 2 Lettura di Stringhe e Numeri Le funzioni write
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Istruzioni di selezione e tipi enumerativi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 27 SELEZIONE Permette
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliCominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi
Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
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
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliCorso di PHP. Prerequisiti. 2.1 Variabili. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.
Corso di PHP 2.1 Variabili 1 Prerequisiti Conoscenza HTML Tecnica della programmazione Principi di programmazione web 2 1 Introduzione In questa Unità illustriamo più in particolare gli strumenti di base
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliLe funzioni in JavaScript. Modularizzazione
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Selezione e Tipi Enumerativi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 SELEZIONE Permette
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliLogica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
DettagliStrutture di controllo condizionali in Matlab
Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire
DettagliIstruzioni Condizionali
Istruzioni Condizionali Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione
DettagliPASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome 1) Il termine informatica viene dalla fusione delle seguenti parole a) informazione
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliParte seconda: espressioni, operandi e operatori.
Parte seconda: espressioni, operandi e operatori. 1. Le espressioni Le espressioni sono combinazioni di operatori e operandi. Gli operandi sono a loro volta combinazioni di costanti, variabili semplici
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Il Linguaggio di Programmazione Pascal
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Programmazione in Pascal (1) PROGRAMMAZIONE: Introduzione al Pascal (1) 14 nov 2011 Dia 2
DettagliLezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane
Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica
DettagliStringhe. Walter Didimo
Stringhe Walter Didimo La classe String L uso di stringhe (sequenze di caratteri alfanumerici) nei programmi è molto frequente Per tale motivo, l API di Java offre una classe con molti metodi utili per
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di
DettagliCorso di Informatica
Corso di Informatica Modulo T2 2 I tipi di dato Prerequisiti Concetto di relazione e funzione Concetto di insieme numerico Operatori aritmetici Operatori relazionali 2 Introduzione Abbiamo visto che un
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpretazioni non univoche
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Selezione e Tipi Enumerativi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 20 SELEZIONE Permette
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Programmazione in Pascal (1) PROGRAMMAZIONE: Introduzione al Pascal (1) 14 nov 2011 Dia 2
DettagliLa codifica dell informazione
La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore
DettagliEspressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliCodifica binaria: - numeri interi relativi -
Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliLinguaggio C: Variabili e assegnamento e semplici comandi di I/O
Linguaggio C: Variabili e assegnamento e semplici comandi di I/O Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Un programma
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliScopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito.
Corso di Linguaggi e Traduttori Anno Accademico 2017 2018 Prof. Giovanni Pighizzini Progetto d esame Scopo del progetto è la costruzione di un compilatore per il linguaggio descritto qui di seguito. Variabili
DettagliLezione 1. Ing. Colazzo Sebastiano
Lezione 1 Ing. Colazzo Sebastiano Linguaggi macchina: lingua naturale di un particolare computer, esso consiste di sequenze di numeri (1 o 0) e dipende dalla macchina 0000111101 1111110001 0011001111 Linguaggi
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliPag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione
DettagliLa programmazione nel linguaggio JavaScript. Il programma
Il programma Nei linguaggi di programmazione il programma è una funzione che ha come argomento i dati digitati in input e opportunamente convertiti. la descrizione della funzione (ovvero il programma)
DettagliProgrammare. Compilatori e interpreti. Editor :: vi. Hello1.c. #include <stdio.h> >> cc Hello1.c. main() { printf( \n Hello World!
Programmare Hello1.c #include printf( \n Hello World! \n ); >> cc Hello1.c >> a.out Hello World! >> Hello1.c = file sorgente per scriverlo occorre un editor cc = compilatore per altri linguaggi
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliCodifica dell informazione
Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore
DettagliChar. Unità 2. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliJava e i Tipi di dati primitivi. Parte 3
Java e i Tipi di dati primitivi Parte 3 La nozione di tipo di dato Il tipo del dato consente di esprimere la natura del dato Indica il modo con cui verrà interpretata la sequenza di bit che rappresenta
DettagliPREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii
Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 7: Istruzioni ed Operatori Booleani Vittorio Scarano Corso di Laurea in Informatica Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo Operatori relazionali
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande/ VERSIONE 1 1) Nella ricorsione, quando il problema ha soluzione immediata siamo a) nell ipotesi ricorsiva b) nel
DettagliTutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU
Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù
DettagliInformazione binaria: - rappresentazione dei numeri naturali e interi relativi -
Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi
DettagliChar. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliIstruzione if/else. Espressioni booleane
Istruzione if/else Espressioni booleane Espressioni booleane Possono assumere solo due valori: VERO (TRUE, per il C qualunque valore diverso da 0) FALSO (FALSE, il valore 0) Programmazione 2015/16 Introduzione
DettagliProgrammazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliChar e bool. 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
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
Dettagli5 - Istruzioni condizionali
5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliLa formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
Dettagli