mercoledì 5 febbraio 2014

Strutture e Record

Concetto di struttura come 
contenitore di dati di tipo differente
Struttura dati complessa

Regole per la dichiarazione di una struttura

Regole di accesso ai campi di una struttura

Introduzione agli array di strutture:
Caricamento
Visualizzazione

Introduzione alle strutture di strutture

lunedì 20 gennaio 2014

Introduzione alle Liste: Concetti e prime regole per l'inserimento in Testa di un Nodo

Argomento
Liste

Pre  Requisiti

  • Strutture o Record
  • Puntatori
  • Modalità di Passaggio dei parametri ad una funzione: per valore/per riferimento
L'argomento di questa sera è legato alla gestione delle strutture dati Dinamiche

Per Dinamico si intende una struttura che varia il numero di elementi in Run Time ovvero durante l'esecuzione del programma.

La prima struttura che verrà presa in considerazione è la Lista Semplice. Elemento fondamentale per la costruzione di una Lista, è il NODO. Un NODO è un Record (Struct per il linguaggio C) composta da due parti:
  • la parte informativa o dati
  • la parte puntatore, che fa riferimento al NODO successivo
Una Lista quindi, è una Catena di NODI agganciati l'uno con l'altro, in cui la dinamicità consiste nell'aggiungere o nell'eliminare NODI, ogniqualvolta sarà necessario durante l'esecuzione del programma.

Tra le operazioni fondamentali previste per la Gestione delle Liste abbiamo l'inserimento. Vi sono diversi tipi di inserimento:
  • in Testa
  • in Coda
  • in Mezzo
Questa sera si è introdotto l'inserimento in Testa.
Sono stati definiti gli elementi fondamentali, affinché ne fossero comprese le varie fasi ed i  passi necessari.

Si è insistito su quello che dal punto di vista pratico-implementativo è la Lista:  
  • Lista Vuota: Puntatore di Testa inizializzato a NULL
  • il Puntatore di Testa o di Inizio Lista
  • i passi necessari per realizzare l'aggancio di un NODO in Testa
    • Creazione Nuovo Nodo
    • Assegnazione del/i dato/i alla parte informativa
    • Assegnazione della Testa alla parte Puntatore del Nuovo Nodo
    • Assegnazione del puntatore al Nuovo Nodo alla Testa della Lista
  • E' stato simulato l'inserimento di 5 Nodi, coinvolgendo la classe.
Dalla simulazione sono stati identificati i passi che venivano ripetuti ed è stato fatto notare alla classe come, l'utilizzo di un costrutto iterativo, aggiungendo una richiesta di continuazione ad inserire da rivolgere all'utente, avrebbe potuto trasformare la simulazione in un algoritmo per l'inserimento.
Riflettendo con la classe si è giunti alla conclusione che individuando le parti richieste per l'inserimento di un nuovo NODO ed isolandole, si avrebbe potuto creare una funzione di Inserimento in Testa alla quale passare il puntatore di Testa come parametro ma per riferimento.

Si è poi iniziato a vedere come organizzare la visualizzazione dei valori contenuti all'interno dei Nodi della Lista.

Seguiranno Appunti sul Codice.

venerdì 17 gennaio 2014

Lezione

Vengono spiegati i parametri del main: argc ed argv

Vengono forniti degli esempi su come utilizzare e lavorare con tali parametri.

Viene richiesto di esercitarsi sull'utilizzo dei due parametri:

Visualizzare argc e le stringhe memorizzate nell'array argv
Controllare un parametro inserito all'atto del l'avvio del programma

Argomenti correlati:

Puntatori semplici e doppi
Array di puntatori
Array di stringhe

Lezione

HTML

Colspan
Rowspan

Esempio

Per casa
Costruzione di. Tabelle applicando gli attributi spiegati

TEST


1.    Che cosa significa HTML
Home Tool Markup Language
Hyper Text Markup Language
Hyperlinks and Text Markup Language
2.    Scegliere il tag HTML corretto per il titolo più grande
<heading>
<h1>
<h6>
<Head>
3.    Qual è il tag HTML corretto per l'inserimento di un'interruzione di linea?
<lb>
<break>
<br>
4.    Qual è il tag  HTML per la creazione di un collegamento ipertestuale?
<a>http:// http://www.itis-molinari.eu</a>
<a url="http://www.itis-molinari.eu">ITIS MOLINARI</a>
<a href="http://www.itis-molinari.eu"> ITIS MOLINARI </a>
<a name="http://www.itis-molinari.eu"> ITIS MOLINARI </a>
5.    Come si può aprire un link in una nuova finestra / scheda del browser?
<a href="url" target="_blank">
<a href="url" target="new">
<a href="url" new>
6.    Von Neumann ha
Definito la Struttura Logica del Calcolatore
Realizzato il Primo Calcolatore Elettronico
Definito la Struttura Logica dei Linguaggi di Programmazione
Creato la Rete Internet
7.    Quali dei seguenti sw fa parte del Software di Sistema
Data Base
Elaboratore di testi
Sistema Operativo
Driver per stampante
8.    Cosa Significa WAN
Wireless Area Network
Wide Area Network
Wide Area Networking
Windows Area Network
9.    Elencare almeno tre Topologie di LAN e fornire una breve descrizione all’interno della tabella













10. Un Programma FreeWare è
Gratuito ma solo per un breve periodo
Tipico dei Siti Web
Gratuito e utilizzabile da chiunque
Utile per costruire un Sito Web non commerciale
11. Quale/i dei seguenti programmiè un Sistema Operativo
Linux
OpenOffice
MS-DOS
Access


Laboratorio

Argomento

Matrici numeriche

Viene richiesta la scrittura di un programma che svolga:

Caricamento
Visualizzazione
Conteggio pari dispari nulli
Implementazione con le tre strutture iterative
 For
 While
 Do While

Per casa

Media dei valori presenti nelle singole righe
Media dei valori presenti nelle singole colonne
Memorizzazione dei risultati in due array

venerdì 10 gennaio 2014

Verifica


Esercizio 1
A) Caricare un Vettore di 10 elementi interi, utilizzando la funzione rand. I valori devono essere  
     compresi tra 20 e 50. ( 3 - punti)
B) Visualizzare i valori presenti nelle posizioni pari. ( 1- punto)
C) Modificare i valori presenti nelle posizioni dispari incrementando li di 1 e di 3 in maniera alternata
    ( 3 - punti)

Esercizio 2
A) Modificare il punto1 dell'esercizio precedente cercando da tastiera i valori e rispettando il vincolo 
    che questi siano compresi tra 20 e 50 ( 2-punti)

Svolgere i punti B e C del precedente esercizio

Attività per casa

Si richiede di scrivere un programma che fornisca la possibilità all'utente di selezionare il metodo di inserimento dei dati del vettore ( punti a dei due esercizi). La soluzione dovrà prevedere
Commento del codice
Compilazione
Valutazione 6

Se il programma viene sviluppato con le funzioni
Menù
Inserisci
Visualizza
Modifica
La valutazione sarà 8

Le soluzioni proposte dovranno essere inviate via mail in allegato entro lunedì 13/01/14. Il materiale inviato verrà considerata utile per la valutazione delle attività di laboratorio.