Un esempio per cominciare
|
|
- Giuseppina Rocchi
- 5 anni fa
- Visualizzazioni
Transcript
1 Vs ANSI Almerico Murli- a.a. 2003/ Un esempio per cominciare La somma di 3 numeri PROGRAM SOMMA; VAR A,B,,d:REAL; BEGIN (* Inizializzazione di A,B, *) READLN(); A:=5.; B:=7.; (* alcolo della somma tra A,B e *) d:=a+b+; (* Stampa del risultato *) WRITELN ( SOMMA=,d); END. #include <stdio.h> main() { /* inzio */ float a,b,,d; /* Inizializzazione di a, b, c */ scanf( %f,& ); a=5.; b=7.; /* alcolo della somma tra a,b e */ d=a+b+; printf( SOMMA= %f \ n,d); /* Stampa del risultato*/ } /* fine */ Almerico Murli- a.a. 2003/2004 2
2 Inizio e fine di un programma L inizio di un programma è determinato da BEGIN La fine di un programma è determinata da END. L inizio di un programma è determinato dalla prima parentesi { La fine di un programma è determinata dall ultima parentesi } main( ) { /* inizio */ } /* fine */ Almerico Murli- a.a. 2003/ Regole sintattiche Possibilità di scrivere più istruzioni sulla stessa linea; Non c e differenza tra lettere minuscole o maiuscole. Possibilità di scrivere più istruzioni sulla stessa linea; è differenza tra lettere minuscole e maiuscole. Almerico Murli- a.a. 2003/2004 4
3 I ommenti (* Inizializzazione di A, B,, d *) (* Inizializzazione di A, B,, d *) La linea di commento è racchiusa tra ( * *) oppure { } /* Inizializzazione di a, b, */ /* Inizializzazione di a, b, */ La stringa di caratteri di un commento è racchiusa tra /* */ Almerico Murli- a.a. 2003/ Dichiarazioni delle variabili VAR A,B, : REAL; VAR A,B, : REAL; VAR I,J : INTEGER; VAR I,J : INTEGER; float a,b,,d; float a,b,,d; int a,b,,d; int a,b,,d; Almerico Murli- a.a. 2003/2004 6
4 Operazioni di I/O WRITELN( SOMMA=,); Le operazioni di I/O sono eseguite da istruzioni READ();, READLN(); WRITE();,WRITELN( ); printf( SOMMA= %f \n,c); printf( SOMMA= %f \n,c); Le operazioni di I/O sono eseguite da funzioni di libreria scanf( ); printf( ); Almerico Murli- a.a. 2003/ Assegnazioni A:=5; A:=5; L operazione di assegnazione si effettua attraverso l operatore := a=5; a=5; L operazione di assegnazione si effettua attraverso l operatore = Almerico Murli- a.a. 2003/2004 8
5 : Utilizzo degli header file Prima dell istruzione main() e presente una direttiva del tipo: #include file.h Per eseguire Operazioni di I/O Per utilizzare Funzioni Matematiche Gestione Stringhe... file.h contiene: specifiche di funzioni; definizioni di strutture di dati; definizioni di parametri;... #include<stdio.h> #include<math.h> #include<string.h> Almerico Murli- a.a. 2003/ stdio.h int scanf( const char *format,.) Lettura da tastiera; int fscanf(file *strean, const char *format, ) lettura da file ; int printf(const char *format,.) int fprintf(file *strean, const char *format, ) FILE *fopen ( cont char *filename, cost char *mode) FILE *fclose ( FILE * stream ) Stampa a video; Stampa su file; Apertura file; hiusura file; Almerico Murli- a.a. 2003/
6 math.h Gli argomenti x ed y sono di tipo double, n è di tipo int e tutte le funzioni restituiscono un double. double sin( x) seno di x; double cos(x) coseno di x; double tan(x) tangente di x; double exp(x) funzione esponenziale e x ; double log(x) logaritmo naturale ln(x), con x>0; double log10(x) logaritmo in base 10 log(x), con x>0; double pow(x,y) potenza x y ; double sqrt(x) radice quadrata di x, con x>0; Almerico Murli- a.a. 2003/ : operazioni a basso livello 1. Operazioni dirette sui bit 2. Accesso agli indirizzi delle variabili. Almerico Murli- a.a. 2003/
7 Problema Verificare se un numero naturale e PARI o DISPARI PROGRAM PARDIS; VAR N,RESTO : INTEGER; BEGIN WRITELN( inserisci numero ); READLN(N); RESTO:=N-(N DIV 2)*2; IF RESTO = 0 THEN WRITELN( NUMERO PARI ) ELSE WRITELN( NUMERO DISPARI ); END. 1 addizione + 2 molt. #include <stdio.h> main() { int n,resto; printf( inserisci numero\ n ); scanf( %d,&n); resto= n & 1; if(resto==0) { printf( numero pari\n );} else { printf( numero dispari\n );} } 1 confonto bit a bit. Almerico Murli- a.a. 2003/ Operatore & Regole di composizione dell operatore & & ESEMPIO 1 (a & 1) a=65 10 = a & 1 = & 1 10 = = a & 1 = 1 ESEMPIO 2 (a & b) a=40 10 = a & b = & b=34 10 = = a & b = Almerico Murli- a.a. 2003/ =
8 Qual è il vantaggio di eseguire un operazione bit a bit? Almerico Murli- a.a. 2003/ La somma di due numeri con mantissa costituita da n bit richiede: 2n confronti Se T confronto = µ e il tempo necessario per un confronto, allora: T addizione 2n µ Il tempo per eseguire un prodotto e sicuramente maggiore di quello per un addizione T prodotto T addizione T addizione +2 T prodotto > nt confronto =n µ T addizione +2 T prodotto > nt confronto =n µ Almerico Murli- a.a. 2003/
9 In particolare Nell esempio,n & 1 equivale al resto della divisione di N per 2 R:=N-(N/2)*2; Il resto della divisione per 2 e il bit meno significativo 0 se il numero e pari 1 se e dispari Es. n=12 10 = r = n & 1 = & = Es. n=13 10 = r = n & 1 = & = r = n & 1 ; & AND bit a bit Almerico Murli- a.a. 2003/ ALTRE OPERAZIONI bit a bit Divisione di un numero intero N per 2 N := N/2; dividere per due significa spostare di un posto verso destra la rappresentazione binaria Es. n=13 10 = n/2=6 10 = n>>1 ; >> SHIFT verso destra Moltiplicazione di un numero intero N per 2 R := N * 2; Moltiplicare per 2 significa spostare di 1 posto verso sinistra la rappresentazione binaria Es. n=13 10 = n * 2= * = =26 10 inv << 1; << SHIFT verso sinistra Almerico Murli- a.a. 2003/
10 : Operatori sui bit & >> << ^ ~ and shift a destra shift a sinistra or inclusivo or esclusivo complemento a 1 si utilizzano solo con operandi di tipo intero e carattere Almerico Murli- a.a. 2003/ OSSERVAZIONE RESTO:= N- (N DIV 2) * 2 RESTO:= N- (N DIV 2) * 2 Bisogna utilizzare l operatore DIV per effettuare la divisione tra interi l operatore / si utilizza per effettuare la divisione reali /* Inizializzazione di a, b, */ /* Inizializzazione di a, b, */ l operatore / si utilizza per effettuare la divisione di variabili di QUALSIASI tipo Almerico Murli- a.a. 2003/
11 ( Operatori sui bit ) ( Puntatori ) Almerico Murli- a.a. 2003/ Memorizzazione di un dato di tipo intero Indirizzi In Memoria y = 2 x = 3 t = Almerico Murli- a.a. 2003/
12 Memorizzazione di un dato di tipo reale ESEMPIO z = (.1172x10 2 ) 2= ( x ) Segno della mantissa Segno dell esponente Indirizzi In Memoria x = t = z =.1172x10 2 h = x q =.8x10 1 Almerico Murli- a.a. 2003/ I PUNTATORI DEFINIZIONE Il Il puntatore e e una variabile che contiene l indirizzodi di un altra variabile Indirizzi In Memoria x = 0 3 z =.1172x t = 17 h = x p = 8 Almerico Murli- a.a. 2003/
13 ESEMPI x = 3 variabile di tipo intero x = 3 variabile di tipo intero x Indirizzo Px contiene l indirizzo di x Px contiene l indirizzo di x Px z variabile di tipo floating-point z variabile di tipo floating-point z Indirizzo Pz contiene l indirizzo di z Pz contiene l indirizzo di z Pz Almerico Murli- a.a. 2003/ OME SI DIHIARA UN PUNTATORE? type pointer =^integer; var p : pointer; p e e un puntatore ad una variabile intera. type pointer =^real; var p : pointer; p e e un puntatore ad una variabile reale. int *p p e e un puntatore ad una variabile intera. float *p p e e un puntatore ad una variabile float. Almerico Murli- a.a. 2003/
14 In Pascal e e possibile accedere alle variabili attraverso il il loro indirizzo. In e e possibile accedere alle variabili attraverso il il loro indirizzo e conoscere l indirizzo stesso. Almerico Murli- a.a. 2003/ OME SI DEFINISE UN PUNTATORE in? L istruzione: p = &x; assegna l indirizzo di x alla variabile puntatore P (P punta a x) In memoria: X P Almerico Murli- a.a. 2003/
15 In particolare. Esempio... int x,*p; p=&x; /*Assegnazione dell indirizzo di x a p */ *p=3; /* L istruzione assegna il valore 3 alla variabile x puntata da p */... p x Indirizzi di Memoria 100 (P punta a x) Almerico Murli- a.a. 2003/ Operatori sui bit Puntatori Allocazione dinamica Almerico Murli- a.a. 2003/
16 Utilizzo degli array PROGRAM XXXX; BEGIN type vet = array[1..n] of integer; puntvet = ^vet; var a : puntvet; var n,x,i : integer; READLN(N); READLN(x); new(a); for i:=1 to n do a(i)= x *i;... despose(a) END. #include <stdio.h> main() { int *a,n,x,i; scanf( %d,&n); scanf( %d,&x); a=(int*)malloc(n*sizeof(int)); for (i=0; i<n; i++) { a[i]= x * i; }... free(a); } Se n = 4 Utilizzo solo solo della memoria necessaria le le dimensioni di di un un arraysono stabilite in in runtime Almerico (ALLOAZIONE Murli- a.a. 2003/2004DINAMIA) 31 In ed in in è possibile allocare dinamicamentela la memoria Almerico Murli- a.a. 2003/
17 Allocazione dinamica in (cont.) type vet = array[1..n] of integer; puntvet = ^vet; var a : puntvet; readln(n); new(a); Numero delle locazioni di memoria da allocare n a Puntatore all area di memoria Almerico Murli- a.a. 2003/ Allocazione dinamica in (cont.) int *a; a = (int *) malloc (n * sizeof(int)); Lunghezza in byte di ciascuna locazione Numero delle locazioni di memoria da allocare n sizeof(int) a Puntatore all area di memoria Almerico Murli- a.a. 2003/
18 Per deallocare un puntatore dispose(p); La memoria puntata da p e e libera. free(p) La memoria puntata da p e e libera. Almerico Murli- a.a. 2003/ FINE LEZIONE Almerico Murli- a.a. 2003/
19 Problema Dati 2 array di ordine N scambiare il loro contenuto F77 PROGRAM SAMBIO INTEGER A(50),B(50),TMP... DO 10 i=1,50 TMP=A(i) A(i)=B(i) B(i)=TMP 10 ONTINUE... N SAMBI!! #include <stdio.h> main() { int a[50],b[50],*tmp,*pa,*pb;... /* pa e pb contengono indirizzo del primo elemento di a di b */ pa=&a[0]; pb=&b[0]; /* scambio di indirizzi */ tmp=a; a=b; b=tmp;... 1 SAMBIO } Almerico Murli- a.a. 2003/ In memoria. pa = &a[0] pa a[0] a[1] a[49] pb = &b[0] pb b[0] b[1] b[49] Almerico Murli- a.a. 2003/
20 Lo scambio. pa a[0] a[1] a[49] pb b[0] b[1] b[49] Dopo lo lo scambio :: pb pb contiene l indirizzo di di a[0] pa pa contiene l indirizzo di di b[0] Almerico Murli- a.a. 2003/ aratteristiche principali del Linguaggio Operatori sui bit I Puntatori Allocazione dinamica Ricorsione Almerico Murli- a.a. 2003/
21 La Ricorsione Una funzione si si dice ricorsiva se, assegnato un un valore iniziale, il il proprio valore in in ogni un un punto, si si definisce a partire dal valore precendete a oo se se n=0 a n n =f(a n-1 n-1 ) se se n 0 Almerico Murli- a.a. 2003/ F77 INTEGER FUNTION FATT(N) INTEGER N FATT==1 5 DO 10 i=2,n FATT=FATT*I 5 ONTINUE RETURN Non e possibile implementare moduli che richiamano se stessi; la ricorsione viene simulata con l iterazion RESTRIZIONI ALL USO DELLA RIORSIONE Problema: alcolo del fattoriale (N!) Factorial(n) int n; { if( n==1) return 1; return n*factorial(n-1); } E possibile che una function richiami se stessa direttamente o indirettamte. IMPLEMENTAZIONE NATURALE DELLA RIORSIONE Almerico Murli- a.a. 2003/
22 La Ricorsione Factorial (n) n * Factorial (n-1) Factorial (n-2) Factorial (n-3) altrimenti Almerico Murli- a.a. 2003/ In è possibileavere informazioni sull indirizzo delle variabili in memoria. In è possibile lavorare a basso livello attraverso i puntatori Almerico Murli- a.a. 2003/
23 In memoria In memoria a[0] a[1] a[2] x = *pa y = *(pa + 1) x y Almerico Murli- a.a. 2003/ F 77 PROGRAM SOMMA REAL A(10), B(10),(100) INTEGER n,x,i N=5 X=10 DO 5 I=1,N A(I) =X*I B(I)=X+I 5 ONTINUE DO 10 I=1,N (I)=A(I)+B(I) WRITE(*,*), (I) 10 ONTINUE STOP END Problema: somma di due vettori #include <stdio.h> main() { float a[10];b[10],c[10]; int i,n,x; n=5; x=10; for(i=0; i<n; i++) { a[i]=x*i; b[i]=x+i; } for(i=0; i<n; i++) { c[i]=a[i]+b[i]; printf( %f \n,c[i]); } STESSO UTILIZZO DELLA MEMORIA PER GLI ARRAY (ALLOAZIONE STATIA) } Almerico Murli- a.a. 2003/
24 Allocazione statica degli array F77 REAL A(10), B(10),(100) A(1) A(10) gli indici iniziano per default da 1 float a[10],b[10],c[10]; a[0] a[9] gli indici iniziano per default da 0 Almerico Murli- a.a. 2003/ OME SI DEFINISE UN PUNTATORE IN? L istruzione in fase dichiarativa: P^ = x; assegna l indirizzo di x alla variabile puntatore P In memoria: (P punta a x) X P Almerico Murli- a.a. 2003/
25 PROGRAM XXXX; Type vet=array[1..100] of integer; VAR n,x: INTEGER; Var a : vet; Begin READLN(n); READLN(x); for i:=1 to n A(i)= x *i end Sprecodi di locazioni di di memoria!!!!!! Utilizzo degli array Se n = 4 #include <stdio.h> main() { int *a,n,x,i; scanf( %d,&n); scanf( %d,&x); a=(int*)malloc(n*sizeof(int)); for (i=0; i<n; i++) { a[i]= x * i; }... } Utilizzo solo solo della memoria necessaria le le dimensioni di di un un arraysono stabilite in in runtime (ALLOAZIONE DINAMIA) Almerico Murli- a.a. 2003/ Array e puntatori Il nome di un array e l indirizzo della prima componente Il nome di un array e l indirizzo della prima componente int a[50]; int *pa; pa = & a[0]; /* Definizione di pa */ pa a[0] a[1] a[49] pa contiene l indirizzo del primo elemento di a Almerico Murli- a.a. 2003/
Un esempio per cominciare. Inizio e fine di un programma. La somma di 3 numeri PASCAL ANSI C. Regole sintattiche
Un esempio per cominciare La somma di 3 numeri Vs ANSI PROGRAM SOMMA; VAR A,B,,d:REAL; BEGIN (* Inizializzazione di A,B, *) READLN(); A:5.; B:7.; (* alcolo della somma tra A,B e *) d:a+b+; (* Stampa del
DettagliINTRODUZIONE AL LINGUAGGIO C
INTRODUZIONE AL LINGUAGGIO C Problema: Somma di 2 numeri In PASCAL-LIKE begin Somma { dichiarazione delle variabili var: a,b,c: reali { inizializzazione di a e b a:=5. b:=7. { calcolo della somma di a
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
Dettagli02/10/2014. Evoluzione del C. Evoluzione del C. Passi per risolvere un problema con il calcolatore
Evoluzione del C LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica il C e un linguaggio di programmazione ad alto livello sviluppato agli inizi degli anni 70 del XX sec. presso i BELL Laboratories
DettagliCostrutti presenti in C ( non disponibili in FORTRAN ) Cicli di iterazione : IL FOR. Esempio: Conversione Fahrenait / Celsius FORTRAN 77 ANSI C
Esempio: onversione Fahrenait / elsius FORTRAN 77 Vs ANSI F 77 PROGRAM ONVERT REAL ELS INTEGER FAHR STAMPA DELLA TABELLA DO 10 FAHR=0,00,20 ELS=(FAHR-2)*5./9. WRITE(*,*), FAHR,ELS float cels; int fahr;
Dettagli#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()
Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliUnità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.
Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;
DettagliIl corpo di tutte le funzioni deve essere contenuto tra parentesi graffe
Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine
DettagliIl linguaggio C funzioni e puntatori
Salvatore Cuomo Il linguaggio C funzioni e puntatori Lezione n. 8 Parole chiave: Linguaggio C, procedure, funzioni. Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email
DettagliQualsiasi programma in C++ segue lo schema: Variabili
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
DettagliRICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio
RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca
DettagliIntroduzione al linguaggio C
Introduzione al linguaggio C Corso di Linguaggi di Programmazione Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari A.A. 2001/2002 Il linguaggio C Tendente al basso livello Corrispondenza
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
DettagliLinguaggio C: le funzioni
Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare
DettagliUniversità degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
Il Pascal (continua) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Operatori! I segni di operazione
DettagliIntroduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
DettagliJAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {
JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int
DettagliLaboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza
Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli
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
DettagliVerso i puntatori: Cosa è una variabile?
Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per
DettagliGESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliEvoluzione del C 07/04/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
DettagliCorso di Automazione industriale
Corso di Automazione industriale Lezione 7 PLC Testo strutturato Università degli Studi di Bergamo, Automazione Industriale, A.A. 2017/2018, A. L. Cologni 1 Introduzione Il Testo strutturato è il linguaggio
DettagliCorso sul linguaggio C
Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione
DettagliLezione 11: Liste a Puntatori e Input/Output
Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliProgrammare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
DettagliEsercizi Programmazione I
Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
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
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
DettagliArgomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili
Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto
DettagliCorso di Laboratorio di programmazione e calcolo
Corso di Laboratorio di programmazione e calcolo Docente: Stefano Finzi Vita Pagina del corso: http://www1.mat.uniroma1.it/mat_cms/pres_corso.php?corso_da_ presentare=1851&lingua=italiano oppure link da
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
DettagliGuida breve alla programmazione in C: Prontuario delle istruzioni più usate
Guida breve alla programmazione in C: Prontuario delle istruzioni più usate Giulio Del Corso 1 GDC Indice: Primi passi 3 Librerie 4 Variabili globali 5 Tipi strutturati 6 Liste 7 Tipi definiti dall'utente
Dettagli1
Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix
DettagliAssociazione Variabile-Indirizzo
I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliPrimi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione
Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma
DettagliClassificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliINTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.
INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. ESERCIZIO: realizzare un algoritmo (in linguaggio di
DettagliGli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento
Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici
DettagliPascal: esempi di programmazione
Pascal: esempi di programmazione Problemi elementari di programmazione.................. 2252 a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Somma tra
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
DettagliCorso di Laboratorio di Sistemi Operativi A.A
Corso di Laboratorio di Sistemi Operativi A.A. 2016 2017 Lezione 9 Ivan Scagnetto ivan.scagnetto@uniud.it Nicola Gigante gigante.nicola@spes.uniud.it Dipartimento di Scienze Matematiche, Informatiche e
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
DettagliProf. G. Ascia. I puntatori. Fondamenti di Informatica
I puntatori 1 Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include
DettagliLa sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean
Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.
DettagliPuntatori. Unità 6. 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
DettagliFondamenti di Informatica
Storia del linguaggio C Fondamenti di Informatica 7. Linguaggio C - Introduzione Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre Prof. Giovanni Pascoschi Linguaggio
DettagliInformatica (A-K) 7. Linguaggio C - 1
Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione
DettagliIntroduzione al linguaggio C
Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,
DettagliPrecisazione sui tipi in ANSi C
Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci
DettagliI/O da tastiera + Alessandra Giordani Lunedì 2 maggio
I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
DettagliProgrammazione a moduli in C
Funzioni Programmazione a moduli in C Politecnico di Milano Motivazioni Alcuni programmi possono essere molto, molto complessi E utile poter partizionare il lavoro di progettazione in sottolavori più semplici
DettagliCorso di programmazione in C
Corso di programmazione in C Lezione 3: un semplice programma Liceo Scientico Teresa Gullace M. Prisco 15 marzo 2019 Liceo Scientico Teresa Gullace Corso di programmazione in C 15 marzo 2019 1 / 11 Outline
DettagliDefinizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliLezione 6: Array e puntatori
Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliAppunti di LINGUAGGIO C
Appunti di LINGUAGGIO C TIPI DI DATI E DIMENSIONI char 1 byte int 16 o 32 bit float floating-point in singola precisione double floating-point in doppia precisione short int intero corto long int intero
DettagliLezione 10. L arte della programmazione
Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio
DettagliGli Operatori. Università degli Studi di Brescia
Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali
DettagliFunzioni. Fondamenti di Informatica, Ingegneria Elettronica, Università La Sapienza Roma. aa R. Beraldi
Funzioni Qualunque programma C potrebbe essere realizzato senza far uso di funzioni (tranne ovviamente il main). Le funzioni cioè non aggiungono alcuna capacità di calcolo Il vantaggio delle funzioni consiste
DettagliPassaggio dei parametri
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment
DettagliI puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.
Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro
DettagliStruttura di un. Struttura dei programmi C
Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive
DettagliCosa è una variabile?
Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per contenere il valore
DettagliALGORITMI E STRUTTURE DATI
ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Puntatori e Liste StudentiDIA
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
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
DettagliAmbienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione 5: Tipi di dati ed idiomi del C Vittorio Scarano Corso di Laurea in Informatica : soluzioni agli esercizi Tipi di dato Idiomi per la programmazione Priorità ed associatività
DettagliLezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
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
DettagliI costrutti del C. Strutture condizionali Strutture iterative Introduzione alle funzioni
I costrutti del C Strutture condizionali Strutture iterative Introduzione alle funzioni 1 Le Strutture del C Condizionali if-else (else if) switch Iterative while for do while break and continue 2 Il costrutto
DettagliGestione dinamica della memoria
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliL'Allocazione Dinamica della Memoria nel linguaggio C
L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego riochierego@libero.it http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria
DettagliLezione 12: Allocazione Dinamica della Memoria
Lezione 12: Allocazione Dinamica della Memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Aprile 2013 Puntatori e vettori Puntatori ed indirizzi Semplificando, la memoria di un computer
DettagliLe strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.
Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura
DettagliLezione 22: Input/Output e Files
Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
DettagliINFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
DettagliTutorato Elementi di Informatica 2018
Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi
DettagliCapitolo 2 Introduzione alla programmazione in C
Capitolo 2 Introduzione alla programmazione in C Introduzione Un semplice programma C: Stampa di una linea di testo Un altro semplice programma C: Sommare due interi Concetti sulla Memoria Aritmetica in
Dettagli