Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011. Gruppo. Cognome Riontino Nome Raffaele. Cognome Nome

Documenti analoghi
struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };

Laboratorio di Informatica

Aggiornamento : 21/11/2010 semplificate le funzioni per il calcolo delle medie.

/* Classe : Officina. Autore : Riontino Raffaele 4*informatici corso serale ITIS Molinari - Milano 29/05/2011

Classe Squadra. #include <iostream> using namespace std;

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche

Fondamenti di Informatica

Esercitazione 11. Liste semplici

Prova Scritta del 20/09/10

Linguaggio C. Esercizio 1

Il paradigma OO e le Classi

4. Accesso diretto per gli archivi con record a lunghezza costante

ESERCIZIO 1. AZ111 milano 12:34 23 AZ222 buenos-aires 12: BA333 toronto 4:15 20 KM444 madrid 10:12 100

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

1: /* Nome del programma: numero_giorni_01.cpp - Data: 03/04/2010 2: Realizzato da: Gaetano Della Cerra - III Informatica Serale I.T.I.S.

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Gestione di files Motivazioni

Implementazione dell albero binario in linguaggio C++

ancora una linked list #ifndef MENU_SYSTEM #define MENU SYSTEM MENU_SYSTEM typedef char MenuText[80]; typedef struct MenuItemStruct

Prova Scritta del 20/09/10

Gestire le situazioni di errore

Tipi strutturati - struct

Esempi e esercitazioni sulle matrici e strutture

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/ III Informatica Serale I.T.I.S.

Laboratorio di Informatica L-A

#include <iostream> #include <cstring> #include <fstream> using namespace std; struct elem{ char parola[31]; elem *pun; };

Gestione dinamica di una coda

Laboratorio di Informatica

Titolo presentazione INFORMATICA. sottotitolo A.A Milano, XX mese 20XX Laboratorio n 6 Ing. Gian Enrico Conti Dott.

Qualsiasi programma in C++ segue lo schema:

Prova Scritta del 17/01/11

Rappresentazione di dati

Fondamenti di Informatica Ing. Biomedica

Rappresentazione di dati

Gestione dinamica di una lista

Strutture dati dinamiche

Algoritmo di ordinamento per sostituzione. Esempio : dato l array :

case 0: /* child 1 - writing end */ close(fd[0]); // close read end write(fd[1], string, (strlen(string)+1));/* +1 is termination \0 */ return (0);

Esercitazioni Informatica Ottobre Gruppo A 10 Novembre Gruppo B. Esercizi

Linguaggio C: Strutture e Liste Concatenate Valeria Cardellini

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

Liste. Una lista è una struttura dati (formata da elementi dello stesso tipo e collegati insieme) la cui lunghezza può variare dinamicamente.

Programmazione I - Laboratorio

Corso di Informatica A.A

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

dott. Sabrina Senatore

Fondamenti di Informatica Ing. Biomedica

Fondamenti di Informatica 2

Fondamenti di Informatica 1 - Compito A

PROGRAMMAZIONE II canale A-D luglio 2008 TRACCIA DI SOLUZIONE

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Liste a puntatori: un esercizio passo passo

Informatica 1. Prova di recupero 21 Settembre 2001

Passaggio di parametri per valore

Cognome Domanda Nome Punteggio max

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

#include <stdio.h> #include <stdlib.h> //necessaria per la malloc #include <string.h> // costante #define MAX_L 30

Liste concatenate. Violetta Lonati

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Oggetti e classi. La classe è un modello (un contenitore) che definisce la forma di un oggetto, specificando:

Fondamenti di Informatica II

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

L AMBIENTE CODE BLOCKS E L IO

Progetto per il Laboratorio di Programmazione Un interprete per il linguaggio PINO. Modulo I: Le tavole dei simboli (TS)

Esercizio 1 Liste: calcolo del numero di elementi ripetuti in una lista

La Struttura Dati Pila

import java.io.*; Pag. 1 di 15

Struttura di un programma C++

Laurea In Ingegneria dell Informazione. Esercitazioni Guidate di Tecniche della Programmazione

1.1 of :05:39

Tecniche della Programmazione lezione 17

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

Lezione 8 Liste. Rossano Venturini. Pagina web del corso.

Esercitazione Matrici e Struct

Indice. I costrutti decisionali I cicli

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008

Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria

5. Quinta esercitazione autoguidata: liste semplici

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Struttura di un linguaggio

Lezione 10 Liste. Rossano Venturini. Pagina web del corso.

Programmazione Procedurale in Linguaggio C++

Esercitazioni Informatica Novembre Gruppo A 24 Novembre Gruppo B. Esercizi

Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 8 Esercitazione: 11 gennaio 2006 Esercizi su strutture dinamiche

Il linguaggio C Strutture

Corso di Fondamenti di Informatica (M-Z) Prof. Aldo Franco Dragoni. Prova Scritta 19 aprile 2007

Input/Output Input = clienti.bin, n (funzione richiesta dall utente), Cognome (per il punto 1) Output = dati_cliente, top2, sconti.

Allocazione dinamica memoria

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

La programmazione ad oggetti (OOP)

cons: L E L (...), e (e,...) Operatori tradizionali sulle liste car: (e,...) cdr: What s LISTE? null: () TRUE (...) FALSE Una lista e' una

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Fondamenti di Informatica Ing. Biomedica

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE

FUNZIONI che operano su LISTE e TEMI d ESAME

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

a.a Codice corso: 21012

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

Transcript:

Laboratorio Informatica Classe 4A Serale Venerdì 18/02/2011 Gruppo Cognome Riontino Nome Raffaele Cognome Nome TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato che rappresenti la seguente struttura: Nome Cognome Stipendio 2. Definire la struttura di un Nodo di una Lista, avente come campo dati la struttura prima definita. 3. Scrivere la funzione che consenta l'inserimento in Testa alla che ha come nodo quello definito al punto 2. 4. Scrivere la funzione che consenta la Visualizzazione della Lista che ha come nodo quello definito al punto 2. Soluzione Funzioni char menu(); Scopo : visualizzare una di opzioni Permette una scelta tra le diverse opzioni del programma e ritorna il carattere

void aggiungi(dati *&); void visualizza(dati *); void eliminaultimo(dati *&); corrispondente alla scelta Scopo : aggiungere un nuovo nodo alla Riceve l indirizzo del primo elemento della per riferimento: crea un nuovo nodo; permette inseririmento dei dati da tastiera relativi alla struttura; agginge il nuovo nodo creato in testa alla Scopo : visualizzare il contenuto della Riceve l indirizzo del primo elemento della per valore ed effettua un ciclo while per visualizzare tutti i dati nella Scopo : eliminare l ultimo valore inserito Riceve l indirizzo del primo elemento della ed effettua l eliminazione in testa alla Variabili int inseriti = 0; dati * testa = NULL; char scelta; typedef struct nodo string nome; string cognome; double stipendio; struct nodo *next; dati; dati *nuovo = new dati; dati * cursore = testa; Scopo: contenere il numero dei valori inseriti nella Tipo: Dato Scopo: dichiarare una vuota Tipo: Lavoro Scopo: gestire le scelte delle operazioni disponibili Tipo: Lavoro Scopo : struttura principale del nodo della Tipo : Dato Scopo : creare un nuovo nodo Tipo : Dato Scopo : creare una copia della testa della

int conto = 0; dati * temp = testa; Tipo : Lavoro Scopo : visualizzare la posizione del nodo visualizzato Tipo : Lavoro Scopo : puntare all indirizzo del nodo da eliminare CODICE PRODOTTO /* Programma : cpptraccia2 Autore : Riontino Raffaele 4 informatici (corso serale) ITIS Molinari - Milano 22/2/2011 Traccia : TRACCIA 2 ARGOMENTO: LISTE TEMPO: 4h 1. Utilizzando Typedef definire un nuovo tipo di dato che rappresenti la seguente struttura: nome cognome stipendio 2. Definire la struttura di un Nodo di una Lista, avente come campo dati la struttura prima definita. 3. Scrivere la funzione che consenta l'inserimento in Testa alla che ha come nodo quello definito al punto 2. 4. Scrivere la funzione che consenta la Visualizzazione della Lista che ha come nodo quello definito al punto 2. */ #include <iostream> #include <string> #include <conio.h> using namespace std; typedef struct nodo string nome; string cognome; double stipendio; struct nodo *next;

dati; int inseriti = 0; //numero degli elementi inseriti char menu(); void aggiungi(dati *&); void visualizza(dati *); void eliminaultimo(dati *&); int main() dati * testa = NULL; char scelta; do scelta = menu(); switch (scelta) case '1' : aggiungi(testa); break; case '2' : visualizza(testa); break; case '3' : eliminaultimo(testa); break; while (scelta!= 'e'); return 1; //fine main char menu() system("cls"); cout << "\n\ttraccia 3\n\n\tmenu'\n"; cout << "\n\telementi inseriti : " << inseriti << endl; cout << "\n\t1 - aggiungi dati"; cout << "\n\t2 - visualizza dati inseriti"; cout << "\n\t3 - elimina ultimo inserito"; cout << "\n\te - esci";

cout << "\n\tscelta : "; return //fine menu void aggiungi(dati *&testa) dati *nuovo = new dati; cout << "\n\n\tinserisci il nome : "; cin >> nuovo -> nome; cout << "\tinserisci il cognome : "; cin >> nuovo -> cognome; cout << "\tinserisci lo stipendio : "; cin >> nuovo -> stipendio ; nuovo -> next = testa; testa = nuovo; inseriti ++; //fine aggiungi void visualizza(dati * testa) cout << "\n\n\tdati inseriti"; if (!testa) cout << "\n\tnessun dato inserito!!"; return; dati * cursore = testa; int conto = 0; while (cursore) cout << "\n\n\tdato n. " << conto; cout << "\n\tnome : " << cursore -> nome; cout << "\n\tcognome : " << cursore -> cognome; cout << "\n\tstipendio : " << cursore -> stipendio; cursore = cursore -> next; conto++; //fine visualizza void eliminaultimo(dati *& testa)

if (!testa) cout << "\n\n\tnessun elemento presente!!"; return ; dati * temp = testa; testa = testa -> next; delete temp; cout << "\n\n\telemento eliminato"; inseriti--; //fine eliminaultimo