La classe string. Tale classe evita agli utilizzatori tutte le problematiche di allocazione e de-allocazione dei buffer di caratteri
|
|
- Norma Chiesa
- 7 anni fa
- Visualizzazioni
Transcript
1 La classe string La libreria standard del del C++ definisce la classe string, dichiarata in <string>, per la rappresentazione e manipolazione di stringhe. Tale classe evita agli utilizzatori tutte le problematiche di allocazione e de-allocazione dei buffer di caratteri Laboratorio di Informatica Antonio Monteleone 103
2 #include <string> La classe string - costruttori // costruisce una stringa vuota string(); // costruisce una copia della data stringa s string( const string& s ); // costruisce una stringa composta da length // caratteri ch string( size_type length, const char& ch ); // costruisce una stringa a partire dalla // c-stringa str. str viene duplicata string( const char* str ); Laboratorio di Informatica Antonio Monteleone 104
3 La classe string - costruttori // costruisce una stringa a partire dalla // c-stringa str. str viene duplicata // (al massimo length caratteri) string( const char* str, size_type length ); // costruisce una stringa a partire da una // sotto-stringa string( const string& str, size_type index, size_type length ); // costruisce una stringa a partire da un // range di iteratori string(input_iterator start,input_iterator end ); // distruttore ~string(); Laboratorio di Informatica Antonio Monteleone 105
4 La classe string - costruttori string str1( 6, 'c' ); string str2( "la mia prima stringa" ); string str3( str2, 8, 5 ); Laboratorio di Informatica Antonio Monteleone 106
5 La classe string lunghezza e capacity // restituiscono il numero di elementi nella stringa size_type length() const; size_type size() const; // restituisce true se la stringa non contiene // elementi, false altrimenti bool empty() const; // restituisce il numero di caratteri che la stringa // può contenere senza che sia necessario allocare // altra memoria size_type capacity() const; // restituisce il massimo numero di elementi che la stringa può contenere size_type max_size() const; Laboratorio di Informatica Antonio Monteleone 107
6 // modifica in size la dimensione della // stringa void resize(size_type size, const char& val= ); string s1; string s2(""); string s3("this is a string"); Laboratorio di Informatica Antonio Monteleone 108
7 La classe string - Concatenazione // appendono str alla fine della stringa corrente string& append( const string& str ); string& append( const char* str ); // appende una sotto-stringa che parte alla posizione index e di lunghezza len string& append( const string& str, size_type index, size_type len ); // appende num caratteri di str alla fine della stringa string& append( const char* str, size_type num ); // appende num copie del carattere ch alla fine // della stringa string& append( size_type num, char ch ); Laboratorio di Informatica Antonio Monteleone 109
8 La classe string - Concatenazione // appende la sequenza [start, end) alla // fine della stringa string& append( input_iterator start, input_iterator end ); string operator+(const string& s1,const string& s2 ); string operator+(const char* s, const string& s2 ); string operator+( char c, const string& s2 ); string operator+( const string& s1, const char* s ); string operator+( const string& s1, char c ); Laboratorio di Informatica Antonio Monteleone 110
9 La classe string - confronto //confronta la stringa corrente con str // Il valore 0 indica che le due stringhe sono uguali // Un valore < 0 indica che this precede str // nell'ordinamento lessicografico // Un valore > 0 indica che this segue str // nell'ordinamento lessicografico int compare( const string& str ); int compare( const char* str ); int compare( size_type index, size_type length, const string& str ); int compare( size_type index, size_type length, const string& str, size_type index2, size_type length2 ); int compare( size_type index, size_type length, const char* str, size_type length2 ); Laboratorio di Informatica Antonio Monteleone 111
10 La classe string - confronto bool operator==(const string& c1, const string& c2); bool operator!=(const string& c1, const string& c2); bool operator<(const string& c1, const string& c2); bool operator>(const string& c1, const string& c2); bool operator<=(const string& c1, const string& c2); bool operator>=(const string& c1, const string& c2); // conta gli elementi di names che precedono il valore di name string names[] = {"Antonio", "Luca", "Giacomo", "Anastasia", "Manuela"}; string name = "Gianni"; int count = 0; for(int i=0; i<5; i++ ) { if (names[i]<name) // if (names[i].compare(name) < 0) count++; } Laboratorio di Informatica Antonio Monteleone 112
11 La classe string accesso agli elementi // accede all'elemento index della stringa char& operator[]( size_type index ); // restituisce un riferimento all'elemento di posto loc // contrariamente a operator[] effettua un controllo sui // limiti della stringa sollevando un eccezione out_of_range char& at( size_type loc ); const char& at( size_type loc ) const; // restituisce la posizione della prima occorrenza di \ string::size_type pos = 0; string s="c:\\temp"; string::size_type l = s.length(); for (int i=0; i<l; ++i) if (s[i] == '\\') { pos = i; break; } Laboratorio di Informatica Antonio Monteleone 113
12 La classe string - inserimento // inseriscono str nella stringa corrente, nella posizione // index, string& insert( size_type index, const string& str ); string& insert( size_type index, const char* str ); // inserisce una sottostringa di str (che parte a index2 e // lunga num caratteri) nella stringa corrente, nella // posizione index1, string& insert( size_type index1, const string& str, size_type index2, size_type num ); // inserisce num caratteri di str nella stringa corrente, // nella posizione index string& insert( size_type index, const char* str, size_type num); // inserisce num copie di ch nella posizione index string& insert( size_type index, size_type num, char ch ); Laboratorio di Informatica Antonio Monteleone 114
13 Estrazione di una sottostringa // restituisce una sottostringa della stringa corrente, // a partire dalla posizione index e lunga length // caratteri string substr( size_type index, size_type length = npos ); Laboratorio di Informatica Antonio Monteleone 115
14 Cancellazione di una sottostringa // rimuove num caratteri dalla stinga corrente, //a partire dalla posizione index, e restituisce *this. string& erase( size_type index = 0, size_type num = npos ); Laboratorio di Informatica Antonio Monteleone 116
15 Sostituzione di una sottostringa // sostituisce, a partire dalla posizione index nella // stringa corrente, un massimo di num caratteri di str string& replace( size_type index, size_type num, const string& str ); // sostituisce, a partire dalla posizione index1 nella // stringa corrente, un massimo di num1 caratteri con // un massimo di num2 caratteri presi da str a partire // dalla posizione index2 string& replace( size_type index1, size_type num1, const string& str, size_type index2, size_type num2 ); Laboratorio di Informatica Antonio Monteleone 117
16 Ricerca di una sottostringa // restituiscono la posizione della prima occorrenza di str nella // stringa corrente a partire dalla posizione index restituisce // string::npos se str non è stata trovata size_type find( const string& str, size_type index ); size_type find( const char* str, size_type index ); // restituisce la posizione della prima occorrenza dei primi length // caratteri di str nella stringa corrente a partire dala posizione // index, resituisce string::npos se i caratteri non sono stati // trovati size_type find(const char* str, size_type index, size_type length ); // restituisce la posizione della prima occorrenza del carattere ch // nella stringa corrente a partire dala posizione index, // restituisce string::npos se ch non è stato trovato size_type find( char ch, size_type index ); Laboratorio di Informatica Antonio Monteleone 118
17 Ricerca di una sottostringa // come find, ma facendo una ricerca a ritroso a partire dalla posizione index size_type rfind( const string& str, size_type index ); size_type rfind( const char* str, size_type index ); size_type rfind( const char* str, size_type index, size_type num ); size_type rfind( char ch, size_type index ); // restituisce l'indice del primo carattere nella stringa corrente // che corrisponde a uno dei caratteri in str. La ricerca inizia // alla posizione index. Viene restituito string::npos se la ricerca // fallisce size_type find_first_of( const string &str, size_type index = 0 ); size_type find_first_of( const char* str, size_type index = 0 ); // il confronto si limita ai primi num caratteri di str size_type find_first_of( const char* str, size_type index, size_type num ); // viene cercato solo il carattere ch size_type find_first_of( char ch, size_type index = 0 ); Laboratorio di Informatica Antonio Monteleone 119
18 Ricerca di una sottostringa size_type find_last_of( const string& str, size_type index = npos ); size_type find_last_of( const char* str, size_type index = npos ); size_type find_last_of( const char* str, size_type index, size_type num ); size_type find_last_of( char ch, size_type index = npos ); size_type find_first_not_of( const string& str, size_type index = 0 ); size_type find_first_not_of( const char* str, size_type index = 0 ); size_type find_first_not_of( const char* str, size_type index, size_type num ); size_type find_first_not_of( char ch, size_type index = 0 ); size_type find_last_not_of( const string& str, size_type index = npos ); size_type find_last_not_of( const char* str, size_type index = npos); size_type find_last_not_of( const char* str, size_type index, size_type num ); size_type find_last_not_of( char ch, size_type index = npos ); Laboratorio di Informatica Antonio Monteleone 120
1 MANIPOLAZIONE DI STRINGHE ZERO-TERMINATE
1 MANIPOLAZIONE DI STRINGHE ZERO-TERMINATE 1.1 INTRODUZIONE In informatica una stringa è definita come una sequenza di caratteri, usualmente utilizzata per rappresentare informazioni in formato testuale.
DettagliLe Stringhe. Un introduzione operativa. Luigi Palopoli
Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/
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)
Dettagli4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
DettagliAllocazione Dinamica della Memoria
Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando
DettagliStringhe di caratteri
Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash
Dettagliobiettivi di questa seconda metà del corso fare un passo avanti rispetto a :... meccanismi di composizione dei dati
obiettivi di questa seconda metà del corso fare un passo avanti rispetto a :... meccanismi di composizione dei dati puntatori ( strutture dinamiche collegate) strutture dinamiche collegate (liste, pile,
DettagliUno stream rappresenta un flusso di dati da cui e' possibile
L'I/O in C++ e' basato sul concetto di stream. Uno stream rappresenta un flusso di dati da cui e' possibile prelevare caratteri (input stream) inserire caratteri (output stream) I vari tipi di stream sono
DettagliCaratteri e stringhe. Funzioni di libreria
Caratteri e stringhe Introduzione Lunghezza di stringhe Classificazione di caratteri Trasformazione di caratteri Copia e concatenazione Confronto di stringhe Ricerca in stringhe Conversione numero-stringa
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?
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
DettagliStrutture Dinamiche. Fondamenti di Informatica
Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));
DettagliIL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
DettagliESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA
28 Gennaio 1999 PROVA SCRITTA Esercizio 1 Un elaboratore rappresenta numeri interi in complemento a due su 8 bit e numeri reali in utilizzando un byte per la mantissa normalizzata e un byte per l esponente
Dettaglistrutturare dati e codice
Puntatori e passaggio parametri strutturare dati e codice Tipo di dati int * Pi ; Op. dereferenziazione j = *Pi ; Op. indirizzo Pi = &i ; By value int f(int i) ; a = f(b) ; By address int f(int * Pi) ;
DettagliInformatica 3. Informatica 3. LEZIONE 12: Liste. Lezione 12 - Modulo 1. Posizione corrente. Introduzione
Informatica 3 Informatica 3 LEZIONE 12: Liste Lezione 12 - Modulo 1 Modulo 1: ADT lista e implementazione basata su array Modulo 2: Lista concatenata ADT lista e implementazione basata su array Politecnico
DettagliOperazioni elementari sulle stringhe
Caratteri e stringhe Lunghezza Copia di stringhe Concatenazione di stringhe Confronto di stringhe Ricerca di sotto-stringhe Ricerca di parole 2 2006 Politecnico di Torino 1 Lunghezza di una stringa La
DettagliEsercizi per la prova in itinere (con soluzioni)
Esercizi per la prova in itinere (con soluzioni) Programmazione e Analisi di Dati Mod. A Programmazione Java ATTENZIONE: per la soluzione di questi esercizi usare solo i costrutti del linugaggio Java e
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
DettagliFondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliManipolazioni elementari di flussi di testo strutturati
Manipolazioni elementari di flussi di testo strutturati L output di molti comandi è costituito da flussi di testo strutturati: ogni riga rappresenta una parte del risultato ed è divisa in campi (fields)
DettagliESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include
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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliSTRINGHE: ARRAY DI CARATTERI! a p e \0
STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliSottoprogrammi: astrazione procedurale
Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j
DettagliLe funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
DettagliESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA
28 Gennaio 1999 PROVA SCRITTA Esercizio 1 Un elaboratore rappresenta numeri interi in complemento a due su 8 bit e numeri reali in utilizzando un byte per la mantissa normalizzata e un byte per l esponente
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
DettagliFondamenti di Informatica T1 Mappe
Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,
DettagliL utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
DettagliLe operazioni di allocazione e deallocazione sono a carico del sistema.
Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione
DettagliAlgoritmi su array / 2
Corso di Informatica Algoritmi su array / Anno Accademico / Francesco Tortorella Algoritmi su array Operazioni tipiche sugli array: inizializzazione lettura stampa ricerca del minimo e del massimo ricerca
DettagliCalcolare il massimo di una lista
Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista
DettagliEsempi di esercizi d esame
Esempi di esercizi d esame Fondamenti di Informatica L-B 1 Cellulare Testo esercizio: 1.Specifiche Si richiede di realizzare una classe che implementa il funzionamento di un telefono cellulare Tale classe
DettagliCorso di Fondamenti di Informatica Algoritmi su array / 2
Corso di Fondamenti di Informatica Algoritmi su array / Anno Accademico 00/009 Francesco Tortorella Algoritmi su array Operazioni tipiche sugli array: inizializzazione lettura stampa ricerca del minimo
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
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
DettagliRICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3
RICORSIVITA 1. Cos è la ricorsività? La ricorsività è un metodo di soluzione dei problemi che consiste nell esprimere la soluzione relativa al caso n in funzione della soluzione relativa al caso n-1. La
DettagliIstruzioni di ripetizione in Java 1
in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni
Dettaglipublic double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliStrutturare il codice: sottoprogrammi
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un programma
DettagliDistanza di Edit. Speaker: Antinisca Di Marco Data:
Distanza di Edit Speaker: Antinisca Di Marco Data: 14-04-2016 Confronto di sequenze Il confronto tra sequenze in biologia computazionale è la base per: misurare la similarità tra le sequenze allineamento
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
DettagliDott.ssa Adriana Pietramala. Dott.ssa Maria Vittoria Avolio
Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala a.pietramala@mat.unical.it Dott.ssa Maria Vittoria Avolio avoliomv@unical.it Costrutto if con più istruzioni All interno
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
Dettaglicostruttori e distruttori
costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
DettagliIntroduzione al C. Stream e disk file
Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
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
DettagliARRAY E STRINGHE. G. Frosini Slide 1
ARRAY E STRINGHE G. Frosini Slide 1 Array: VARIABILI ARRAY struttura dati costituita da elementi (anche nessuno, array vuoto) dello stesso tipo; tipo array: tipo degli elementi, non numero degli elementi;
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliIndividuazione di sottoproblemi
Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che
DettagliBlocchi funzione: FbModbusAsciiMs
Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
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
DettagliPROGRAMMAZIONE AVANZATA JAVA E C. Massimiliano Redolfi. Lezione 7: Code, Stack, Liste PAJC. Ricerca. prof. Massimiliano Redolfi PAJC
PROGRAMMAZIONE AVANZATA JAVA E C Massimiliano Redolfi Lezione 7: Code, Stack, Liste Ricerca 2 Ricerca Se dobbiamo cercare un elemento in un array possiamo trovarci in due situazioni Elementi non ordinati
DettagliIntroduzione alla Programmazione ad Oggetti in C++
Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Gli algoritmi di base sul tipo array: ordinamento e ricerca Claudio De Stefano - Corso di Fondamenti di Informatica 1 Algoritmi di ordinamento gli algoritmi si differenziano
DettagliUNICODE. Marcello Barnaba 5/27/09 the terms of the GNU FDL Marcello Barnaba - Released under
UNICODE Marcello Barnaba 2002 Marcello Barnaba - Released under 5/27/09 the terms of the GNU FDL 1 Perché UNICODE L alfabeto italiano contiene 21 caratteri L alfabeto inglese contiene
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
DettagliCaratteri e stringhe Esercizi risolti
Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.
DettagliVisibilità dei Membri di una Classe
Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliInput/output in C++: la libreria iostream Stringhe in C++: il tipo std::string
Input/output in C++: la libreria iostream Stringhe in C++: il tipo std::string Pericle Perazzo pericle.perazzo@iet.unipi.it http://info.iet.unipi.it/~fondii/ 3 marzo 2012 1 La libreria STL (Standard Template
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliFILE BINARI FILE BINARI
FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliCompito di Fondamenti di Informatica
Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette
DettagliLP1 Lezione 13: i File in C. Maurizio Tucci
LP1 Lezione 13: i File in C Maurizio Tucci mtucci@unisa.it 1 Il File: Dichiarazione Memorizzare dati in maniera non volatile In C (libreria ) è definito un tipo FILE che astrae il concetto di sequenza
DettagliStrutture dati dinamiche in C (III)
Strutture dati dinamiche in C (III) Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Alcune utilities per la gestione di stringhe Gli alberi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
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
DettagliEsercizio 1. Esercizio 2
Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura, provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliTrattamento delle STRINGHE in C(++)
Trattamento delle STRINGHE in C(++) Le cose che qui vengono dette valgono sia per il linguaggio C che per il C++. Nel linguaggio C non esiste, a differenza di quel che avviene per altri linguaggi di programmazione
Dettaglifloat somma_float(float a, float b) int get_ascii(char c)
Una funzione è caratterizzata da: Tipo di dato restituito void (non restituisce nulla) int, una struttura definita dal programmatore ecc Nome della funzione Elenco parametri in ingresso, specifica: il
Dettagli1. Soluzione esercizio XYZ SpA
1. Soluzione esercizio XYZ SpA 2. Oggetti fstream e loro uso Si vuole realizzare un piccolo sistema informativo a supporto dell'attività dell'ufficio dipendenti della società XYZ SpA. Tale società opera
DettagliSoluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 7 (esame del 08/01/2009) class TabellaDiNumeri{ private double[][] tabella;
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
DettagliElementi di Programmazione in C++
Chapter 1 Elementi di Programmazione in C++ 1.1 C++: Elementi di Base cat example05.design Comportamento: Il programma dovrebbe invitare l utente a immettere il raggio di un cerchio
DettagliConnessione ad internet
Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità
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
DettagliI tipi di dato astratti
I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato
DettagliFondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione
DettagliArduino Quick Ethernet library Reference
Arduino Quick Ethernet library Reference Di Luca Panebianco per Automazione Open Source Versione 1.0 www.xploreautomation.com Pag 1 Indice dei contenuti 1 Classe Ethernet...3 2 Classe IPAddress...3 3 Classe
DettagliEsercizi per il recupero del debito formativo:
ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste
DettagliShell BASH. Variabili Redirezione
Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command
DettagliConsideriamo un vettore allocato dinamicamente
Libreria per per la la gestione/manipolazione dei dei vettori Consideriamo un vettore allocato dinamicamente int * v; v = (int *) malloc (n * sizeof (int) ); Conversione di tipo da void * a int * Numero
DettagliInformatica 3 secondo recupero 13 Settembre 2002
Informatica 3 secondo recupero 13 Settembre 2002 Nome (stampatello) Cognome (stampatello) Matr Recupero: Prima prova in itinere Seconda prova in itinere spazio per il docente Punteggi recupero prima prova
DettagliSISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR
SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliEsercitazione sulle libpq - libreria C per PostgreSQL
Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008
DettagliAmbienti di sviluppo integrato
Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente
DettagliARRAY. Cosimo Laneve
ARRAY Cosimo Laneve 1 2 ARGOMENTI (CAPITOLO 7 SAVITCH) 1. array: dichiarazioni e esempi 2. array come argomento di funzioni 3. ricerca di elementi in un array 4. ordinamento di array 5. esempi/esercizi
DettagliGestione dei file. Linguaggio ANSI C Input/Output - 13
Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliObiettivi di questa esercitazione
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 1 Esercizio 1 Creare un programma che legga
DettagliMatematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
Dettagli