Informatica 2 modulo C Massimo Callisto De Donato
|
|
- Angelica Spano
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it LEZIONE 3 TIPI DI DATO
2 Tipi di dato In C esistono due categorie di tipi: primitivi e derivati. I tipi primitivi (o fondamentali): void enum char int float double I tipi derivati (o composti): array strutture unioni I secondi sono costruiti a partire dai primi e vengono usati per raggruppare variabili logicamente correlate. Il tipo void è stato introdotto dallo standard ANSI non è un tipo ma rappresenta il valore vuoto. As esempio si usa un funzioni che non restituiscono valori.
3 Sintassi delle dichiarazioni Qualunque identificatore (variabile e/o funzione) deve essere dichiarato prima di poter essere utilizzato! Dichiarare una variabile significa specificare a quale tipo appartiene. Questo significa indirettamente dire al compilatore: Quanta memoria deve essere riservata Quali sono le operazioni ammesse su di essa. Sintassi di una dichiarazione: tipo variabile; //oppure elenco variabili separate da virgole; Esempi: char letter; int number, sum; float f, media; Ricordate i vincoli: Max 32 caratteri per il nome; Distinzione MAIUSCOLE/muniscole Caratteri alfanumerici + il simbili _ La prima deve essere una lettera o _ Sempre bene inizializzare una variabile in fase di dichiarazione. Questo evita che ci sino valori indefiniti potenzialmente dannosi: char letter = 'A'; int number = 0, sum; float f = 2.178;
4 Tipi di dato: char Rappresenta caratteri alfanumerici, simboli di punteggiatura, spazi, etc. I caratteri char sono tra apici. Es: 'A', '0', '#'. In particolare: 'A' (è un char) è diverso da "A" (è un vettore formato da 'A' e ' \0 ) I caratteri sono codificati (memorizzati) come sequenze di cifre binarie. In C si adotta il codice ASCII: 8 bits (1 byte) per codificare un carattere (originale erano 7) max 255 caratteri (originale 127) Quindi, ogni carattere viene identificato univocamente con una sequenza di bit. Ad esempio: Il carattere 'A' viene codificato mediante la sequenza binaria Corrisponde all intero positivo 65 Spesso manipoliamo i caratteri dal punto di vista numerico visto che sono supportate le tipiche operazioni su interi: addizione, sottrazione, uguaglianze,
5 Tipi di dato: char
6 Tipi di dato: char #include <stdio.h> #include <stdlib.h> int main() { char c; printf("inserisci un carattere: "); c = getchar(); printf("hai inserito una '%c' che ha valore %d\n", c, c); } system("pause"); return 0;
7 Tipi di dato: char /* Differenza di input */ #include <stdio.h> #include <stdlib.h> int main() { char c1; int c2; printf("inserisci un carattere: "); c1 = getchar(); printf("stesso catrattere da scanf: "); scanf("%d", &c2); printf("primo input '%d'\nsecondo input '%d'\n", c1, c2); } system("pause"); return 0;
8 Tipi primitivi: i tipi int, float e double Il tipo int rappresenta interi la cui dimensione è tipicamente a 32 bit (4 byte): max Il tipo float rappresenta numeri reali in virgola mobile con precisione singola. Occupa tipicamente 4 byte. Il tipo double rappresenta numeri reali in virgola mobile con precisione doppia. Occupa tipicamente 8 byte. Le dimensioni effettive dei tipi primitivi dipendono in realtà dall architettura della macchina che stiamo usando. In generale vale questo: char <= int float <= double
9 Tipi primitivi: i tipi int, float e double Ulteriori specifiche con short e long (quantificatori di dimensione), signed e unsigned (quantificatori aritmetici). short e long modificano la dimensione di default della memoria associata ad una variabile: short int è un int con dimensione minore o uguale a quella di int long int è un int maggiore o al più uguale a quella di int Dipende però dalla macchina ma vale: short int <= int <= long int double <= long double
10 Tipi primitivi: i tipi int, float e double Ulteriori specifiche con short e long (quantificatori di dimensione), signed e unsigned (quantificatori aritmetici). Gli specificatori signed (int o char) e unsigned (int o char) si applicano ai tipi char e int e fanno esplicitamente riferimento all aritmetica senza segno: I valori numerici possono essere solo positivi Es: range di int è +/ , range di unsigned int è signed definisce che una variabile ha il segno ma ridondante visto che è di default. Spesso si usano delle abbreviazioni: short short int unsigned unsigned int Unsigned short unsigned short int unsigned long unsigned long int
11 Costanti Esistono quattro principali categorie di costanti costanti carattere: 'A', '0', '#' le costanti intere: base decimali: 0, 89 base ottale (in base 8) precedute da 0: 012, (base 8) = (1 * 8^1) + (2 * 8^0) = = 10 77(base 8) = (7 * 8^1) + (7 * 8^0) = = 63 base esadecimale (in base 16) precedute da 0x oppure 0X: 0xAA, 0X77 costanti floating point: 23.56, costanti stringa: "stringa", "pippo
12 Costanti Esistono quattro principali categorie di costanti costanti carattere: 'A', '0', '#' le costanti intere: base decimali: 0, 89 base ottale (in base 8) precedute da 0: 012, (base 8) = (1 * 8^1) + (2 * 8^0) = = 10 77(base 8) = (7 * 8^1) + (7 * 8^0) = = 63 base esadecimale (in base 16) precedute da 0x oppure 0X: 0xAA, 0X77 costanti floating point: 23.56, costanti stringa: "stringa", "pippo Suffissi: Se int di default è int o long. Possiamo specificarlo manualmente con l o L Se è un float allora è un float o double. Possiamo indicarlo con f o F per un float oppure l o L per un double
13 Costanti Esempi: #define BASE 10 #define BASE_8 012 #define BASE_16 0xA #define BASE_L 10L #define AREA #define STR pippo //intero //intero ma in base ottale //intero ma in base esadecimale // INTERO LONG // FLOAT // stringa
14 Enum Si usano quando si vuole specificare un insieme preciso di valori che una variabile può assumere. Es: enum color {red, blue, green, yellow}; enum intensity {bright, medium, dark}; Sintassi generica: enum nome_tipo {lista_costanti}; Ai nomi delle costanti viene associato un valore intero di default basato sulla posizione nella lista: la prima costante assume valore 0 alla seconda uno, etc Il valore può essere modificato esplicitamente (es.: enum succ {success = 1, failure = 0})
15 Enum #include <stdio.h> int main() { enum days {Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}; enum days TheDay; int j = 0; printf("please enter the day of the week (0 to 6)\n"); scanf("%d",&j); TheDay = j; if(theday == Sunday TheDay == Saturday){ printf("weekend\n"); }else{ printf("work\n"); } } system("pause"); return 0;
16 Operatori Abbiamo tre tipi di operatori: assegnamento, aritmetici, relazionali. Operatore di assegnamento: nome_variabile = espressione Espressione può essere semplice o complessa a piacere. Il valore risultante dalla valutazione di espressione (parte destra) viene assegnato alla variabile di nome nome variabile (parte sinistra): variabile espressione L operatore di assegnamento può comparire all interno di una qualsiasi espressione valida. Ad esempio : y = 2 + (x = 7 * 3); E possibile effettuare degli assegnamenti multipli a patto che le variabili siano dello stesso tipo: int x = y = 5 Questo no: int z, f= 10.5, k = c ;
17 Operatori aritmeici La maggior parte degli operatori aritmetici può essere applicato sia ad operandi interi che ad operandi reali. Se l operatore / viene applicato ad interi, l eventuale resto della divisione viene troncato: 5 / 2 = 2 mentre 5.0/2 = 2.5 a % b restituisce il resto della divisione intera tra a e b e può essere utilizzato solamente con operandi interi. Es: 6.98 % 3 produce un errore di compilazione
18 Operatori aritmetici L ordine di valutazione degli operatori aritmetici stabilisce quali operatori devono essere valutati per primi. Esempi: * 13 viene valutata come 15 + (4 * 13) 16 / come (16 / 4) + 3 a * --b come (a++) - (5 * (--b)) [Se a = 5 e b = 6, il risultato è?] A parità di precedenza, l'associazione è a sinistra (si scorre l espressione da sinistra a destra). Esempi: viene valutata come (15-4) - 13 = -2 non come 15 - (4-13) = 15 - (-9) = = 24 Le priorità e l'associatività possono essere modificati con l uso di parentesi ()
19 Operatori aritmetici unari L operatore di incremento (decremento) unario ++ aggiunge (sottrae) una unità al proprio operando ++x; ha lo stesso effetto di x = x + 1; --x; ha lo stesso effetto di x = x - 1; Possono precedere oppure seguire la variabile: ++x (notazione prefissa) x++ (notazione postfissa); La differenza è nel valore restituito: notazione prefissa: viene prima effettuato l incremento (decremento) e poi valutata espressione notazione postfissa: viene prima valutata l espressione e poi effettuato l incremento (decremento) Ad esempio, se n è una variabile intera di valore 5 x = ++n; assegna a x il valore 6 x = n++; assegna a x il valore 5 a * --b come (a++) - (5 * (--b)) [Se a = 5 e b = 6, il risultato è?]
20 Operatori aritmetici abbreviazioni Nel caso in cui una variabile debba essere incrementata o decrementata di un valore diverso da 1 si possono usare forme compatte += e -= Ad esempio x += 9; ha lo stesso effetto di x = x + 9; Sintassi generica: operatore= dove operatore = {+, -, *, /, %} a += 5 a = a + 5 a -= b a = a b a *= b + 4 a = a * (b + 4) Hanno la stessa priorità dell assegnamento semplice. Esempio: a = 4; a -= 3 * ((3 * 2) + 11) = 4-17 = -13
21 Operatori relazionali e logici Gli operatori relazionali stabiliscono relazioni tra valori. Gli operatori logici permettono di connettere pi`u operatori relazionali
22 Operatori relazionali e logici Tavola di verità degli operatori logici In C non esiste un tipo booleano (true o false). Piuttosto operatori relazionali (logici) restituiscono valori numerici: 0 per falso Un qualsiasi valore diverso (tipicamente 1) per vero Il risultato di un espressione (logica o relazionale) può essere assegnato a delle variabili intere. Esempio: x = 5 > 7, x = (9 <= 10) && 1 Se usassimo enum per rappresentare i booleani?
23 Priorità degli operatori logici e relazionali: Gli operatori relazionali e gli operatori logici AND e OR hanno una precedenza inferiore rispetto a quelli aritmetici (vengono valutati dopo). Gli operatori logici AND e OR hanno una precedenza inferiore rispetto a quelli relazionali. 10 > > (1 + 12) e ritorna? (10 > 1) + 12 restituisce vero + 12 = = 13 L espressione 10 > 1 == 12 viene valutata come (10 > 1) == 12 e restituisce 0 (falso) L espressione 1 0 && 0 viene valutata come 1 (0 && 0) e restituisce 1 (vero) L associazione è a sinistra: 13 > 7 >= 6 viene valutata come (13 > 7) >= 6 e restituisce 1 >= 6 0 (falso) L espressione 13 > (7 >= 6) restituisce 13 > 1 cioè 1 (vero)
24 Operatore? Un espressione condizionale si ottiene usando l operatore ternario? La sintassi è: expr1? expr2 : expr3 Restituisce expr2 se expr1 è vera; Restituisce expr3 altrimenti (expr1 è falsa). L operatore? ha una priorità maggiore dell operatore di assegnamento. Esempio: int v = (x == y)? 39 : 7 y = x < 5? 1 : 2; y = x? x : 0; y = ++x? x : x--; y = (x + 1)? x : 0; Y = (1 && 0)? (0 1) :!1;
25 Gerarchia finale
26 Conversione di tipo (casting) Nelle operazioni in cui agli operatori si applicano operandi di tipo diverso, il C esegue una conversione automatica (implicita). Es.: restituisce Regole: tutti gli operandi di tipo inferiore vengono convertiti nell operando di tipo superiore. Il risultato e di tipo superiore Negli assegnamenti il valore a destra viene convertito nel tipo a sinistra. Es.: int y = ; Warning dal compilatore e comunque non andrebbe fatto. int x = 280; char ch; float f = 4.976; ch = x; x = f; f = x; // int convertito in char i 24 bitsuperiori di x vengono ignorati // float viene convertito in int, x ricevela parte intera di f //stesso valore ma in virgola mobile x = x + f; // quante conversioni vengono effettuate?
27 Conversione di tipo (casting): esplicito Il tipo di un espressione può essere esplicitamente convertito in un altro tipo per mezzo di un operazione detta casting: (nome tipo) espressione Esempio: La funzione di libreria sqrt (calcola la radice quadrata del suo argomento) deve operare su un argomento di tipo double. #include <math.h> double sqrt(double x); Se n è un intero, possiamo scrivere sqrt((double) n) Nell'esempio di prima x = x + f si poteva scrivere x = x + ((int) f) Cosa stampa? char c = A ; printf( %d, (int;) c)
Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
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?
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliTipi di dato-prima parte
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi
DettagliCARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe
CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
DettagliFondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C
Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliLinguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliInformatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliINFORMATICA - I puntatori Roberta Gerboni
1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliTipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi
Tipo intero Tipi base o primitivi Tipi interi: int, byte, short, long Tipi float: float, double Caratteri: char Tipo booleano: boolean Operatori numerici e logici La parola chiave int definisce una variabile
DettagliFondamenti di Informatica T. Linguaggio C: i puntatori
Linguaggio C: i puntatori Il puntatore E` un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore
DettagliRappresentazione dell informazione Codifica Binaria
Fondamenti di Informatica Rappresentazione dell informazione Codifica Binaria Fondamenti di Informatica - D. Talia - UNICAL 1 Rappresentazione dell informazione Tutta l'informazione in un calcolatore è
DettagliVariabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria
DettagliJava Native Interface Appunti
Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per
DettagliAlfabeto ed elementi lessicali del linguaggio C
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n
DettagliLe variabili. Olga Scotti
Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.
DettagliIntroduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
DettagliIL LINGUAGGIO C++ Configurazione di Dev-C++
IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliEsercitazione 3. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
DettagliParte 1. Vettori di bit - AA. 2012/13 1.1
1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n
DettagliAppunti di Informatica 1. Gianluca Rossi
Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare i numeri 43 e 81 (in base 10) in notazione binaria in complemento
DettagliEsempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli
DettagliIndice. Introduzione. I tipi aritmetici. Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco A.A.
Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Tipi semplici propri del linguaggio Variabili Tipi composti
DettagliLinguaggio C - Funzioni
Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
DettagliLinguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi
Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori
DettagliEsercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
DettagliMatlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)
DettagliSistemi di Numerazione Binaria NB.1
Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
DettagliSOLUZIONE ESERCIZIO 1
SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
Dettagli4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliAlcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
DettagliIntroduzione. Università degli studi di Cassino. Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39 081 7723364
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing Saverio De e-mail: saveriodevito@porticieneait Tel: +39 8 7723364
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliI sistemi di numerazione
I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono
DettagliPrimi programmi in C
Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate
DettagliRappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliEsempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Problema e metodologie di progetto Linguaggio C: Introduzione Monica Mordonini Problema e Algoritmo
DettagliEsercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
DettagliPROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
DettagliIl linguaggio C. I principali tipi di dati che sono disponibili come predefiniti secondo lo standard ANSI del C sono 5:
Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14 Docente: Ing. Ivan Bruno Il linguaggio C 1. Variabili 2. Costanti 3. Operazioni e espressioni 4. Puntatori e algebra 5. Array semplici e
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)
DettagliEsercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"
Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un
DettagliLinguaggio C: introduzione
Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio
DettagliCreare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.
Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il
DettagliCorso Programmazione 1 Capitolo 01: Concetti Elementari
Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliObiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico
M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliRAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997
1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:
DettagliArchitettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliRappresentazione di informazioni con un alfabeto finito
Rappresentazione di informazioni con un alfabeto finito Sia A = { a 1,, a k } un insieme (alfabeto) di k simboli, detti anche lettere. Quante sono le sequenze composte da n simboli (anche ripetuti) di
Dettagli3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?
Leggete attentamente le domande del test e date la/le vostra/e risposta/e. 1) Per quanto tempo la memoria RAM di un personal computer conserva le informazioni? Finchè lo hard disk funziona in modo corretto
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 13 Settembre 2011. COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare come numero binario su 8 bit il numero decimale 108. Rappresentare
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
Dettaglihttp://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliEsercitazione 7. Procedure e Funzioni
Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,
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
DettagliInformatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura
DettagliLa velocità di una carovana
Programmazione A.A. 2002-03 I linguaggio Java ( Lezione X, Parte I ) Il primo programma Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliFUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:
FUNZIONI La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: double sqrt(double) double pow (double, double) della libreria matematica, che abbiamo già usato anche senza
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
DettagliCAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
DettagliLezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione
Lezione 3 Le operazioni aritmetiche binarie Sommario L aritmetica binaria La somma La sottrazione La moltiplicazione 1 Definizione Si indica con il termine bit più significativo il bit più a sinistra,
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
Dettagli(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896
2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo
Dettagli1 Automi Cellulari (Rev. 2.0.3)
1 Automi Cellulari (Rev. 2.0.3) Gli automi cellulari sono una classe di modelli introdotti originariamente da von Neumann e Ulam nel 1948 come una semplice idealizzazione dell evoluzione delle cellule
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliI puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
DettagliRICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di
RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
DettagliTUTORATO di LINGUAGGI I
TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili 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 Corso di
DettagliAppunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione
DettagliInformatica Generale 02 - Rappresentazione numeri razionali
Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione
Dettagli2.12 Esercizi risolti
Codifica dell'informazione 55 Lo standard IEEE prevede cinque cause di eccezione aritmetica: underflow, overflow, divisione per zero, eccezione per inesattezza, e eccezione di invalidità. Le eccezioni
Dettagli2. Codifica dell informazione
2. Codifica dell informazione Codifica Una codifica è una regola per associare in modo univoco i valori di un dato da codificare con sequenze di simboli. La corrispondenza definita dalla codifica è arbitraria,
DettagliProgrammare. La programmazione. Linguaggi. Algoritmo
Programmare 2 La programmazione Ver. 2.2 Il calcolatore sa eseguire molte operazioni di base: somma, sottrazione, AND, etc. Per risolvere un determinato problema si combinano queste operazioni in modo
Dettagli