CAPITOLO 13 - STRUTTURE DATI - VETTORI
|
|
|
- Lorenza Berardino
- 7 anni fa
- Просмотров:
Транскрипт
1 INTRODUZIONE Con STRUTTURA DATI intendiamo un raggruppamento di dati tali da poter essere considerati come unico oggetto. In informatica esistono vari tipi di strutture dati, che differiscono per le seguenti caratteristiche: tipo di dati di cui sono composte: Si dicono omogenee le strutture di dati composte da dati dello stesso tipo, eterogenee nel caso contrario; modalità secondo cui è effettuata l allocazione: si dicono statiche se la loro occupazione di memoria, una volta fissata, non può essere modificata, dinamiche se può variare durante l esecuzione; disposizione dei singoli dati di memoria: si dicono sequenziali se i dati occupano locazioni contigue in memoria, non sequenziali nel caso contrario; metodo di accesso: cioè il modo in cui è possibile individuare ogni singolo elemento al loro interno. Si dicono ad accesso sequenziale quelle in cui il reperimento di un elemento avviene scorrendo la struttura dal primo elemento uno dopo l altro; ad accesso diretto quelle in cui è possibile posizionarsi direttamente sull elemento desiderato. L aspetto comune delle strutture dati è che esse vengono memorizzate nella RAM e, quindi, cancellate ogni qualvolta si spegne il computer o a fine esecuzione. LA STRUTTURA DATI VETTORE Proviamo a risolvere il seguente problema: dati in input 4 numeri, visualizzarli nell ordine inverso. La soluzione non appare per nulla complessa: è sufficiente richiedere in input quattro variabili, ad esempio A,B,C,D e visualizzarle nell ordine inverso, cioè D,C,B,A. Complichiamo il problema: dati in input 100 numeri, visualizzarli in ordine inverso. La situazione è un po diversa, in quanto dovremmo richiedere in input ben 100 variabili con nomi diversi (provate solamente a pensare agli inconvenienti legati alla scelta dei nomi). Utilizzando un così elevato numero di variabili, però, la soluzione impostata, anche se corretta, non rispecchia le regole di una buona programmazione. Complichiamo ancora un po : dati in input N numeri, visualizzarli in ordine inverso. Questa volta ci troviamo davvero nei guai, in quanto, con le nostre attuali conoscenze, il problema non può essere risolto: non sappiamo, infatti, quante variabili utilizzare. Potrebbero essere 5, o 100, o Come fare? E necessario utilizzare una struttura in grado di contenere un insieme di dati delle stesso tipo (nel nostro caso numeri). Abbiamo bisogno di un vettore. Un vettore (o array monodimensionale) è una struttura dati, di tipo sequenziale a carattere statico, costituita da un insieme di elementi omogenei fra loro, individuati per mezzo di un indice. 1
2 LA DICHIARAZIONE DEI VETTORI I vettori, essendo delle variabili di memoria, devono essere dichiarati primo del loro utilizzo; nella dichiarazione si deve specificare un nome (in modo da poterlo identificare nel codice) ed un numero massimo di elementi che dovrà contenere. Modo 1: Dichiarazione Statica Questo tipo di dichiarazione può essere utilizzata ogni qualvolta si conosce, a priori, il numero massimo di elementi che si necessita memorizzare. Esempio di dichiarazione: Dim VetNumeri(100) As Integer Nella precedente dichiarazione il vettore si chiama VETNUMERI e potrà contenere al massimo 100 numeri interi. Dim VetNomi(20) As String Invece in questa dichiarazione il vettore si chiama VETNOMI e potrà contenere al massimo 20 nomi. Modo 2: Dichiarazione Dinamica In questo tipo di dichiarazione è possibile non specificare, durante la dichiarazione, il numero massimo di elementi che la struttura dovrà ospitare. Ovviamente si tratta solamente di un rinvio in quanto, prima o poi, lo si dovrà fare. Dim VetNumeri() As Integer Nella precedente dichiarazione il vettore si chiama VETNUMERI e inizialmente non potrà contenere elementi. Dim VetNomi() As String In questa dichiarazione, il vettore si chiama VETNOMI e inizialmente non potrà contenere elementi. Per poter utilizzare il vettore dichiarato dinamicamente, è necessario ridimensionarlo (assegnandogli dello spazio) con la seguente sintassi: ReDim Preserve VetNumeri(100) ReDim Preserve VetNomi(20) Preserve è un attributo facoltativo che, se specificato, indica di continuare a mantenere i dati attualmente presenti nel vettore anche dopo il suo ridimensionamento. 2
3 UTILIZZO DEI VETTORI Nel momento in cui si desidera memorizzare/recuperare dei dati nel/dal vettore, di può utilizzare la seguenti sintassi NomeVettore(Indice)= valore Il nome del vettore deve corrispondere al nome assegnato nella dichiarazione; l indice invece, indica la posizione in cui si desidera memorizzare o recuperare il valore. Nel successivo esempio si mette in evidenza come è possibile dichiarare e inserire dei dati in un vettore. Dim VetNumeri(8) As Integer VetNumeri(1) = 3 VetNumeri(2) = 8 VetNumeri(3) = 1 VetNumeri(4) = 10 VetNumeri(5) = 85 VetNumeri(6) = 90 VetNumeri(7) = 7 VetNumeri(8) = 34 Dichiarazione Utilizzo L organizzazione usata nel vettore è rigida. Ciò comporta alcuni svantaggi quando devono essere eseguite alcune manipolazioni sui suoi elementi. Vediamoli: difficoltà di inserimenti o cancellazioni: L inserimento di un nuovo elemento nella struttura richiederebbe lo spostamento, mediante riscrittura, di tutti gli elementi che lo seguono; un operazione analoga sarebbe richiesta nel caso della eliminazione di un elemento del vettore. Dimensione statica: nella dichiarazione statica è necessario fissare a priori un limite massimo di elementi che il vettore dovrà contenere; solitamente non si è a conoscenza di tale limite il che comporta un sovradimensionamento della struttura da parte del programmatore. 3
4 OPERAZIONI SUI VETTORI Un vettore, in un algoritmo, non può mai essere manipolato come se fosse una cosa sola. Si deve sempre operare sui singoli elementi. A livello logico, però, si possono definire delle operazioni proprie di queste strutture. Vediamone alcune. 1. Caricamento del Vettore Il caricamento è l operazione che consente di assegnare un valore agli elementi del vettore. 2. Scansione del Vettore L operazione di scansione consente di accedere a tutti gli elementi della struttura, o solo a una sua parte, per esaminare il contenuto o per effettuare delle variazioni. 3. Ricerca nel vettore L operazione di ricerca su un vettore si effettua ogni qualvolta si ha la necessità di cercare la presenza di un dato. La si effettua con una scansione che può terminare prima di aver scansionato tutti gli elementi (quando l elemento da cercare è stato trovato) oppure alla fine quando l elemento non è esistente. 4. Ordinamento dei dati L operazione di ordinamento consente di riorganizzare i dati presenti nel vettore in base ad un criterio prestabilito (ordinamento crescente o decrescente). 5. Lo Shift degli elementi Lo shift è l operazione che consente di spostare di una posizione (a destra o a sinistra) tutti gli elementi del vettore (shift completo) o solo una sua parte (shift parziale). Nello shift completo a sinistra, tutti gli elementi presenti nel vettore saranno spostati di una posizione verso sinistra (il contenuto della seconda posizione verrà inserito nella prima, il contenuto della terza sarà a sua volta spostato nella seconda, e così via). In tal modo, l elemento presente nella prima posizione sarà perduto, mentre quello presente nell ultima si presenterà due volte. Rispetto all operazione descritta precedentemente, nello shift completo a destra varia solo l ordine in cui vengono eseguite le assegnazioni. Sarà quindi il contenuto dell ultima posizione a essere perso, mentre quello della prima si presenterà due volte. Lo shift parziale sinistro o destro si esegue quando occorre spostare solo alcuni elementi adiacenti del vettore. Per far questo, è indispensabile conoscere gli indici estremi del gruppo che si intende spostare. 6. La rotazione del vettore La rotazione è l operazione attraverso la quale vengono spostati tutti gli elementi del vettore. Lo spostamento verso destra o verso sinistra comprende il primo e l ultimo che, in tal modo, non saranno persi ma si ripresenteranno all altro capo del vettore. Tecnicamente, la rotazione viene realizzata shiftando tutti gli elementi secondo il verso della rotazione e salvando, in un apposita variabile, il valore dell elemento che viene spinto fuori. Terminato lo Shift, tale valore sarà inserito in prima o in ultima posizione del vettore, a seconda del verso in cui si vuol far avvenire la rotazione. 4
5 ALGORITMI DELLE OPERAZIONE SUI VETTORI Allo scopo di uniformare gli algoritmi trattati in questa sezione, si supponga di avere a disposizione un vettore di 100 elementi di nome VETNUM. CARICAMENTO DI ELEMENTI NEL VETTORE TABELLA DELLE VARIABILI Dim VetNum(100) As Integer Dim N As Integer Dim i As Integer Dim j As Integer Dim Ris As String Dim Ele As Integer Dim Trovato As Boolean Dim sc As Integer VISUALIZZAZIONE DEGLI ELEMENTI DEL VETTORE 5
6 RICERCA DI UN ELEMENTO NEL VETTORE (RIC.SEQUENZIALE) La ricerca di un elemento in un vettore, detta anche ricerca sequenziale, si applica a vettori che non devono necessariamente essere ordinati. Consiste in una serie di confronti tra il valore ELE da ricercare e tutti gli elementi del vettore. I confronti possono terminare nel momento in cui si trova l elemento cercato, o possono anche continuare sino alla fine del vettore. La funzione che implementa la ricerca sequenziale fa uso di una variabile booleana di nome TROVATO (così chiamata proprio per far riferimento al suo significato intrinseco). Tale variabile assume inizialmente valore FALSO, ma, nel momento in cui il valore richiesto viene trovato, assume il valore VERO. RICERCA DI UN ELEMENTO NEL VETTORE (RIC. BINARIA) Il metodo della Ricerca Binaria o Dicotomica richiede che gli elementi del vettore siano ordinati. Il procedimento è il seguente: innanzitutto bisogna identificare l elemento che occupa la posizione centrale del vettore e confrontare questo elemento con quello X cercato. Si possono verificare tre casi: 1. l elemento X è più piccolo dell elemento centrale: si scartano tutti gli elementi che occupano la metà destra del vettore. E come se, l ultimo elemento del vettore fosse quello precedente a N/2; 2. l elemento X è più grande dell elemento centrale: si scartano tutti gli elementi che occupano la metà sinistra del vettore. E come se, ora, il primo elemento del vettore fosse quello successivo a N/2; 3. l elemento X è uguale all elemento centrale: X appartiene all insieme e si trova in posizione centrale. Per i casi 1 e 2 il discorso va ripetuto sino a quando si verifica il caso 3 o, rimanendo un solo elemento da confrontare nel vettore, l elemento X risulta essere diverso, quindi non è presente nel vettore. 6
7 ORDINAMENTO DEGLI ELEMENTI DEL VETTORE METODO 1) ORDINAMENTO PER SELEZIONE: Questo algoritmo è il più intuitivo e inefficace metodo di ordinamento; consiste nel confrontare ciascun elemento con tutti quelli di indice superiore. Si cambia il loro contenuto quando si verifica che il valore dell elemento preso in considerazione risulta maggiore di quello con cui viene confrontato (nel caso di ordinamento crescente). Con la fine della prima scansione abbiamo posizionato l elemento di valore più piccolo in prima posizione. Con la seconda posizioniamo il più piccolo in seconda posizione e così via. METODO 2) ORDINAMENTO BUBBLE SORT (A BOLLE) O PER SCAMBIO: Questo algoritmo consiste nel confronto degli elementi a due a due, e cioè il primo con il secondo, secondo con il terzo,, penultimo con ultimo. Questa ripetizione di scambi fra elementi adiacenti permette di far salire verso l alto, proprio come bolle di sapone, gli elementi più grandi (o più piccoli in caso di ordiname nto decrescente); da qui il nome Bubble Sort. La soluzione è quella di ripetere i confronti ripartendo dal primo elemento, tante volte quante ne sarà necessario. Se durante una scansione non si effettuano confronti vuol dire che il vettore è ordinato, altrimenti si continua a confrontare. 7
8 SHIFT A DESTRA DEGLI ELEMENTI DEL VETTORE ROTAZIONE A DESTRA DEGLI ELEMENTI DEL VETTORE VETTORI PARALLELI Prendiamo ora in esame il concetto di Vettori Paralleli (o in posizione corrispondenti): con questo termine si indicano due o più vettori messi l uno sotto l altro in cui, a parità di indice, l elemento di uno o dell altro appartiene sempre alla stessa entità. Per chiarire meglio questo concetto si riporta di seguito un esempio. Supponiamo di voler memorizzare i nomi e le votazioni degli studenti di una classe. Il problema formulato ci pone di fronte a una nuova situazione, perché dobbiamo memorizzare due informazioni per ogni studente. Vanno memorizzati, quindi, due tipi diversi di informazioni: nomi e votazioni, quindi stringhe e numeri. Un vettore, per definizione, non può assolutamente contenere più di una informazione per ogni componente. Per risolvere il problema, quindi, è necessario utilizzare un vettore per ogni tipo di informazione. Nel nostro caso i vettori saranno due, ad esempio NOMI e VOTI: il nome e il voto aventi lo stesso indice corrisponderanno allo stesso studente. Si dice che i due vettori sono vettori paralleli, perché alla stessa posizione corrisponderanno le informazioni relative allo stesso soggetto. Dalla figura precedente si può constatare che l alunno ROSSI ha il voto 9,350 mentre l alunno BIANCHI 9,900. La gestione dei vettori paralleli non differisce assolutamente da quella studiata sinora. Solitamente il caricamento delle informazioni nel vettore avviene contemporaneamente per ogni singolo elemento (si carica prima un nome nel primo vettore e poi il relativo voto nella corrispondente posizione dell altro vettore, e così via). In ogni caso non sarebbe sbagliato caricare prima tutti i nomi e poi tutti i voti. 8
9 ESEMPIO DI CODIFICA IN VB.NET INTERFACCIA <html xmlns=" <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:button ID="Button1" runat="server" Text="Gestisci Vettore" /> </form> </body> </html> CODIFICA Partial Class Default2 Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim VetNum(100) As Integer Dim N As Integer Dim i As Integer Dim j As Integer Dim Ris As String Dim Ele As Integer Dim Trovato As Boolean Dim sc As Integer ' Caricamento del Vettore N = InputBox("Quanti elementi vuoi Caricare?") For i = 1 To N VetNum(i) = InputBox("Inserisci il " & i & " elemento") ' Visualizza i suoi elementi Ris = "" For i = 1 To N Ris = Ris & VetNum(i) & " " MsgBox("Gli Elementi Caricati nel vettore sono: " & Ris) ' Ricerca di un elemento Ele = InputBox("Inserisci un elemento da ricercare") Trovato = False i = 1 Do While i <= N And Trovato = False If Ele = VetNum(i) Then Trovato = True Else i = i + 1 End If Loop If Trovato = True Then MsgBox("L'elemento " & Ele & " si trova in posizione " & i) Else MsgBox("L'elemento " & Ele & " non è stato trovato") End If ' Ordinamento crescente per SELEZIONE For i = 1 To N - 1 For j = i + 1 To N If VetNum(i) > VetNum(j) Then ' Scambio delgli elementi sc = VetNum(i) VetNum(i) = VetNum(j) VetNum(j) = sc End If ' Visualizza il vettore Ris = "" For i = 1 To N Ris = Ris & VetNum(i) & " " MsgBox("Gli Elementi, dopo l'ordinamento crescente, sono: " & Ris) 9
10 ' Rotazione degli elementi a destra sc = VetNum(N) For i = N To 2 Step -1 VetNum(i) = VetNum(i - 1) VetNum(1) = sc ' Visualizza il vettore Ris = "" For i = 1 To N Ris = Ris & VetNum(i) & " " MsgBox("Gli Elementi, dopo la rotazione a destra sono: " & Ris) End Sub End Class ' Shift degli elementi a destra For i = N To 2 Step -1 VetNum(i) = VetNum(i - 1) ' Visualizza il vettore Ris = "" For i = 1 To N Ris = Ris & VetNum(i) & " " MsgBox("Gli Elementi, dopo lo shift a destra sono: " & Ris) 10
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)
La ricerca dicotomica
La ricerca dicotomica Se l array è ordinato, la ricerca di un elemento può essere realizzata in modo più efficiente rispetto alla ricerca sequenziale, utilizzando la ricerca dicotomica. Si usa il termine
Fondamenti 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
Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio
Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione
Algoritmo per l ordinamento di un array
Algoritmo per l ordinamento di un array Spesso si ha la necessità di lavorare con vettori ordinati, cioè si devono mettere gli elementi in ordine alfabetico se sono stringhe o in in ordine di grandezza
Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
ITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3 RICORSIONE...4 ESEMPI DI RICORSIONE IN VISUAL BASIC...5 ESEMPI DI RICORSIONE IN C / C++...
Tre piccioni con una fava: Ricerca Binaria, Albero Binario di Ricerca e Ricorsione prof. Claudio Maccherani - 2006 / 2007 foto Claudio Maccherani RICERCA BINARIA...1 ALBERO BINARIO DI RICERCA (ABR)...3
Algoritmi di Ricerca Ordinamento
Algoritmi di Ricerca e Ordinamento Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Appunti Di Informatica Prof. Accarino 1 Algoritmi classici In ambito informatico alcuni problemi si presentano
Programmazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.
Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso. Non sappiamo a priori quante variabili dobbiamo definire per contenere gli interi.
Caratteristiche generali del linguaggio Visual Basic
Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
Costanti 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
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
Algoritmi, 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
Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73
Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Parte 1: tipi primitivi e istruzioni C
Parte 1: tipi primitivi e istruzioni C Esercizio 1 Scrivere un programma che stampa la somma di una sequenza di N numeri inseriti dall utente. Esercizio 2 Scrivere un programma che stampa la somma di una
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Trasformare array paralleli in array di record
Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo dell array). A volte è necessario gestire informazioni
Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
Verifica su Record e File
Nome: Data: Valutazione in ventesimi Verifica su Record e File 1. (max 1,5 punti) Completare le frasi scegliendo tra i tipi d accesso ai file indicati al termine della domanda: a. L accesso si utilizza
A. Ferrari. algoritmi notevoli. Python. Alberto Ferrari Informatica
algoritmi notevoli Python algoritmi o ricerca (verificare la presenza di un valore in una sequenza) o o o ricerca sequenziale (sequenza non ordinata) ricerca sequenziale (sequenza ordinata) ricerca binaria
(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Dato strutturato Rappresentazione logica del vettore Array Componenti Accesso diretto Indice (B) CONOSCENZA E COMPETENZA
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
Esercizi vari. Alberto Montresor. 19 Agosto, 2014
Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni
UD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
Excel & VBA. Excel e Visual Basic for Application
Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria
Programmazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative
= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
Fondamenti di Informatica T-1 Modulo 2
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 Esercizio 1 Creare un programma che legga da
4 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
Fondamenti Teorici e Programmazione
Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Array 2 Dati Strutturati I tipi di dati visti finora sono numeri (interi o razionali) booleani (valori
VBA è 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?
Esercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
Informatica (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
Gli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
Fondamenti 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
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin
Javascript - Corso Web Design - Media Dream Academy Stefano Gaborin [email protected] www.above.company Cos è Javascript? JavaScript è un linguaggio di programmazione interpretato. Utilizzato
Quicksort e qsort() Alessio Orlandi. 28 marzo 2010
Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.
Programmazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
Esercizi Capitolo 7 - Hash
Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive
Fondamenti 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
