Fondamenti di informatica
|
|
- Violetta Pippi
- 6 anni fa
- Visualizzazioni
Transcript
1 Fondamenti di informatica Estendere un linguaggio nuovi domini di dati (II) Obiettivi di apprendimento generali uso del meccanismo list per costruire rappresentazione di oggetti strutturati in particolare, matrici bi-dimensionali strategia di soluzione basata su ripartizione di un problema in sottoproblemi (divide et impera) ognuno risolto da una specifica funzione riuso di soluzioni (algoritmi) caso di studio sudoku 2
2 Caso di studio: giocare a sudoku griglia 9x9 da riempire con cifre da 1 a 9 senza ripetizioni in righe, colonne, senza ripetizioni in nessuno dei 9 blocchi 3x3 un tipico enigma sudoku e la sua soluzione 3 Giocare a sudoku In effetti, il nostro obiettivo non è costruire un risolutore di enigmi sudoku ma un verificatore automatico della correttezza di una soluzione proposta abbiamo bisogno di : una rappresentazione della griglia di gioco un algoritmo per il controllo della correttezza 4
3 Una griglia è una matrice Disposizione bi-dimensionale di elementi matrici numeriche utilizzate in algebra lineare ogni elemento individuato dalle sue coordinate (riga,colonna) esempio di matrice matrice di valori interi con 4 righe e 5 colonne l elemento (0,0) è 3 l elemento (0,2) è 1 l elemento (2,3) è 5 nota : le matrici di pixel usate per rappresentare immagini avevano le loro righe coordinate invertite!!! 0" 1" 2" colonne " 3" 5" 1" 0" 9" 12" 16" 12" 34" 2" 0" 0" 23" 5" 11" 3" 7" 51" 8" 0" 33" 5 Rappresentazione di matrici idea rappresentare una matrice come un aggregato di righe 1a riga 2a riga n-ma riga e ogni riga come un aggregato di valori (tutti dello stesso tipo) 1 valore m-esimo valore 2 valore 6
4 Uso di liste per rappresentare matrici bi-dimensionali Il meccanismo list può essere usato per costruire rappresentazioni di aggregati e liste di liste (sotto-liste annidate dentro altre liste) possono essere usate per rappresentare aggregati di aggregati e così via costruzione di una matrice (con tutti gli elementi inizializzati a 0) def matrix(numrows, numcolumns) :" numrows: int; number of rows" numcolumns: int; number of columns" matrix (with the specified number of rows and columns" # all matrix entries are initialized to 0)" mat = []" for i in range(0, numrows) :" mat.append([])" for j in range(0, numcolumns) :" mat[i].append(0)" return mat " >>> my_matrix=matrix(2,3)" >>> print my_matrix" [[0, 0, 0], [0, 0, 0]]" 7 Esempi stampare le righe su linee separate def print_mat(matrix) :" for row in matrix :" print row" >>> my_matrix=matrix(2,3)" >>> print_mat(my_matrix)" [0, 0, 0]" [0, 0, 0]" assegnare un valore a un elemento di una matrice usando la notazione m[i][j] >>> my_matrix[0][1]=3" >>> print_mat(my_matrix)" [0, 3, 0]" [0, 0, 0]" >>> my_matrix[1][2]=1+4" >>> print_mat(my_matrix)" [0, 3, 0]" [0, 0, 5]" 8
5 Esempi costruzione di una matrice e lettura interattiva del valore dei suoi elementi def read_matrix(numrows, numcolumns) :" numrows: int; number of rows" numcolumns: int; number of columns" matrix; the matrix read from input" #" # builds a matrix with the specified number of rows and columns" # and initializes its entries with values taken from input" # one row at a time, specified as a list of numcolumns values" m = matrix(numrows, numcolumns)" for i in range(0, numrows) :" m[i] = input("write a row as a list of values (enclosed in square brackets): ")" return m" 9 Esempi algebra matriciale: somma di due matrici def add(m1, m2) :" m1: matrix;" m2: matrix; " matrix; (m1+m2)" # m1 and m2 must have same number of rows and same number of columns" # NOTE: len(mx) is the number of rows of mx" # NOTE: len(mx[0]) is the number of columns of mx" if len(m1)==len(m2) and len(m1[0])==len(m2[0]) :" s = matrix(len(m1),len(m1[0]))" for i in range(0,len(m1)) :" for j in range(0,len(m1[0])):" s[i][j] = m1[i][j]+m2[i][j]" else :" s = [] " print "matrix dimensions do not match"" return s " 10
6 Torniamo al sudoku Problema: controllo della correttezza di una soluzione Input: soluzione proposta Strategia di soluzione: decomposizione in sottoproblemi quali? Algoritmo sudoku_check controlla le righe controlla le colonne controlla i blocchi se un qualunque controllo fallisce, la soluzione proposta non è corretta altrimenti è corretta 11 sudoku check: codice Python def sudoku_check(sudoku_mat) :" sudoku_mat: matrix; (usually 9x9) it contains the proposed sudoku solution" none" # the called xxx_check() functions return a negative value when the check is OK" # otherwise a non negative integer indicating the error location" ##### row check" result = row_check(sudoku_mat)" if result >= 0 :" print "error at row " + str(result) #str(n) converts n to a string" else : ##### column check" result = col_check(sudoku_mat)" if result >= 0 :" print "error at column " + str(result) #str(n) converts n to a string" else : ##### block check" result = block_check(sudoku_mat)" if result >= 0 :" controllo righe controllo colonne controllo blocchi print "error at block " + str(result) #str(n) converts n to a string" #### final response" if result >= 0 :" print "your solution is not correct; try again"" else :" print "your solution is correct; you are a good sudoku player" " 12
7 Controllo righe: algoritmo proposizione logica da verificare: riga della matrice : corretta(riga) == vero (pseudo) codice Python : for riga in matrice : if not corretta(riga) :? return matrice non OK return matrice OK 13 Controllo righe: codice Python (1) controllo su tutte le righe (quantificatore universale) def row_check(sudoku_mat) :" sudoku_mat: matrix; a square matrix (usually 9x9) that contains the " # proposed sudoku solution " int; a negative value if sudoku_mat is correct by row, " # otherwise a value>=0 indicating the first found incorrect row" row_num = len(sudoku_mat)" for i in range(0, row_num) :" if not vect_check(sudoku_mat[i]) : # row i is not correct" corretta(riga) return i # stop execution and return row index" return -11 # it could be any negative value" 14
8 Controllo singola riga Algoritmo [7,2,8,1,8,9,1,3,4]scorretta [7,2,8,1,5,9,6,3,4]corretta errore! in posizione 7 (8-1) è già presente il valore TRUE (indica che il valore 8 è stato già incontrato in precedenza) 15 Controllo singola riga: codice Python def vect_check(vect) :" vect: list; representing a uni-dimensional vector" bool; TRUE if vect contains all integer values from 1 to len(vect), in any order; " # FALSE otherwise" bool_vect = []" # build a vector with same number of entries as vect, all initialized to false, " for i in range(0,len(vect)) :" bool_vect = bool_vect + [false]" ok = true" # start setting bool_vect entries to true, according to values contained in vect" # if an entry of bool_vect results already true, then a value in vect is repeated at least twice (error)" i = 0" ok = true" while ok and i<len(vect) :" if bool_vect[vect[i]-1] == false :" bool_vect[vect[i]-1] = true" else :" ok = false" i = i+1" 16 return ok"
9 Controllo colonne: algoritmo Concettualmente identico al controllo righe ma gli elementi di una colonna non fanno parte della stessa lista! nella rappresentazione di matrici che abbiamo adottato [ [7, 2, 4, 8, 1, 9, 1, 3, 8], [5, 5, 8, 8, 6, 4, 3, 6, 3], [5, 1, 9, 5, 6, 7, 7, 7, 7], [1, 1, 2, 7, 5, 8, 3, 4, 4], [6, 7, 4, 1, 4, 8, 9, 6, 7], [4, 5, 8, 8, 4, 7, 7, 9, 9], [5, 2, 4, 9, 3, 8, 4, 3, 5], [5, 7, 2, 4, 7, 8, 7, 8, 2], [1, 1, 1, 8, 3, 2, 9, 8, 5] ] Possiamo scrivere una soluzione ad hoc oppure riusare (in modo appropriato) la soluzione già usata per il controllo righe 17 def matrix_col_to_vect(mat, j) :" mat: matrix; a bi-dimensional matrix" j: int; a column index for mat " list; a uni-dimensional vector (represented as a list) built with all entries of the j-th column" v = []" for i in range(0, len(mat)): # len(mat) is the number of rows of mat" v = v + [mat[i][j]]" return v" def col_check(sudoku_mat) :" sudoku_mat: matrix; a square matrix (usually 9x9) that contains the " # proposed sudoku solution " int; a negative value if sudoku_mat is correct by column, " # otherwise an index j>=0 indicating the first found incorrect column" col_num = len(sudoku_mat[0])" for j in range(0,col_num) :" col = matrix_col_to_vect(sudoku_mat,j)" if not vect_check(col) : # column j is not correct" return j # stop execution and return column index" return -11 # it could be any negative value" 18
10 Controllo blocchi: algoritmo Concettualmente identico ai controlli precedenti (righe / colonne) ma gli elementi di un blocco sono disposti su due dimensioni! [ [7, 2, 4, 8, 1, 9, 1, 3, 8], [5, 5, 8, 8, 6, 4, 3, 6, 3], [5, 1, 9, 5, 6, 7, 7, 7, 7], [1, 1, 2, 7, 5, 8, 3, 4, 4], [6, 7, 4, 1, 4, 8, 9, 6, 7], [4, 5, 8, 8, 4, 7, 7, 9, 9], [5, 2, 4, 9, 3, 8, 4, 3, 5], [5, 7, 2, 4, 7, 8, 7, 8, 2], [1, 1, 1, 8, 3, 2, 9, 8, 5] ] Possiamo scrivere una soluzione ad hoc oppure riusare (in modo appropriato) la soluzione già usata per righe / colonne 19 Controllo blocchi: codice Python (1) 1: costruzione di una lista da un blocco (3x3) della matrice def matrix_block_to_vec (mat, i, j) :" mat: matrix; a bi-dimensional (9x9) matrix" j: int; " j: int; i,j are the coordinates of the upper-left entry of the 3x3 block" list; a uni-dimensional vector (represented as a list) built with all entries of the block" b = []" for h in range(i,i+3):" for k in range(j,j+3):" b = b + [mat[h][k]]" return b " 20
11 Controllo blocchi: codice Python (2) 2: e poi controllo di tutti i blocchi (analogo a quello per righe / colonne) def block_check(sudoku_mat) :" sudoku_mat: a square matrix (usually 9x9) that contains the proposed sudoku solution " a negative value if sudoku_mat is correct by block, " # otherwise an index i>=0 indicating the first found incorrect block" # blocks are numbered (starting from 1) from left to right, from top to bottom" row_num = len(sudoku_mat)" col_num = len(sudoku_mat[0])" block_num = 1" for i in range(0,row_num,3) : # i takes value in [0, 3, 6]" for j in range(0, col_num,3) : # j takes value in [0, 3, 6] " block = matrix_block_to_vec(sudoku_mat,i,j)" if not vect_check(block) : # block block_num is not correct" return block_num # stop execution and return block number" block_num = block_num+1" return -11 # it could be any negative value" 21 infine Costruite una soluzione def random_sudoku():" a 9x9 matrix randomly filled with values from 1 and 9" # Note: it is quite unlikely that you will get a correct sudoku solution :-)" from random import *" mat = matrix(9,9)" for i in range(0,9):" for j in range(0,9):" mat[i][j] = 1 + int(9*random())" return mat" e poi controllatela! >>> m = random_sudoku()" >>> sudoku_check(m)" error at row 0" your solution is not correct; try again" 22
12 Che cosa abbiamo appreso Obiettivi di apprendimento generali uso del meccanismo list per costruire rappresentazione di oggetti strutturati in particolare, matrici bi-dimensionali strategia di soluzione basata su ripartizione di un problema in sottoproblemi (divide et impera) ognuno risolto da una specifica funzione riuso di soluzioni (algoritmi) caso di studio sudoku 23
Laboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
DettagliCapitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1 Capitolo 6 - Array Array Array Gruppo di locazioni di memoria consecutive Stesso nome e tipo Per riferirsi a un elemento, specificare Nome dell array Posizione Formato: arrayname[ position number ] Primo
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliItalian Round WPF Sudoku Grand Prix 2013 at Logic Masters
Italian Round WPF Sudoku Grand Prix 2013 at Logic Masters http://logicmastersindia.com/2013/0s2/ Dates: Sudoku by Gabriele Simionato, Giulia Franceschini, nonzero INSTRUCTION BOOKLET Sudoku Grand Prix
DettagliCapitolo 3 Sviluppo di Programmi Strutturati
Capitolo 3 Sviluppo di Programmi Strutturati Introduzione Strutture di controllo If Selection Statement If Else Selection Statement While Repetition Statement Ripetizione Counter-Controlled Uso di una
DettagliI S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E
I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno
DettagliREGISTRATION GUIDE TO RESHELL SOFTWARE
REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/
DettagliLa principale modalità di calcolo è l applicazione di funzioni
1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un
DettagliDownloading and Installing Software Socio TIS
Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and
DettagliFondamenti di Informatica
Fondamenti di Informatica Comandi condizionali, espressioni logiche e predicati Condizioni logiche Obiettivi di apprendimento generali espressioni e proposizioni logiche comandi condizionali selezione
DettagliFondamenti di Informatica
Fondamenti di Informatica lesson 16 Sort 2012/05/17 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Esami Appelli ufficiali (Prova Scritta - Prova Pratica) 11-13 Luglio (ore 9:00) 25-27 Luglio
DettagliCapitolo 5 - Funzioni
Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente
DettagliFondamenti di Informatica
Fondamenti di Informatica lesson 25 Exercises 2013/06/23 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Esami n Appelli (Prova Scritta - Prova Pratica) 1 Luglio (ore 9:00) 3 Luglio (ore 14)
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliItalian 102 Daily Syllabus
* = Instructor may choose to do the Strategie DVD activities in class. Italian 102 Daily Syllabus AR 26 aterial covered in class (in text unless otherwise indicated) WEEK 1 Introduzione al corso e ripasso
DettagliUn algoritmo realizza una relazione funzionale tra i valori di input e quelli di output
Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di
DettagliWELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico
WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.
DettagliFiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note
Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note M. Teresa Della Beffa Click here if your download doesn"t start automatically Fiori di campo. Conoscere, riconoscere
DettagliEspressioni aritmetiche
Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:
DettagliProgramma 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
DettagliLaboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
DettagliEsercitazioni di Fondamenti Informatica - Modulo A 1
Esercitazioni di Fondamenti Informatica - Modulo A 1 Da MSDN: The while statement executes a statement or a block of statements until a specified expression evaluates to false while ( expression ) statement
DettagliCONFIGURATION MANUAL
RELAY PROTOCOL CONFIGURATION TYPE CONFIGURATION MANUAL Copyright 2010 Data 18.06.2013 Rev. 1 Pag. 1 of 15 1. ENG General connection information for the IEC 61850 board 3 2. ENG Steps to retrieve and connect
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliA.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio
A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà
DettagliIstruzioni condizionali di diramazione in Fortran 90
Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento
DettagliA.S. 2011/2012. Circuito semaforico da incrocio. Corso di Elettronica. Dipartimento di Elettrotecnica
A.S. 2011/2012 Circuito semaforico da incrocio Corso di Elettronica Dipartimento di Elettrotecnica Alunno: Bari Aldo 3E 1 Relazione Elettronica Realizzazione di un impianto semaforico da incrocio 2 Relazione
DettagliI CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO
I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO READ ONLINE AND DOWNLOAD EBOOK : I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO
DettagliProgrammazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
DettagliAppunti 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
DettagliUNIVERSITÀ DEGLI STUDI DI TORINO
STEP BY STEP INSTRUCTIONS FOR COMPLETING THE ONLINE APPLICATION FORM Enter the Unito homepage www.unito.it and click on Login on the right side of the page. - Tel. +39 011 6704425 - e-mail internationalexchange@unito.it
DettagliQuando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.
INDICE Indentazione note sull'indentazione in script e moduli scritti con un editor di testo. istruzione if Truth testing in cicli if e while istruzione for istruzione while Uscita dai cicli for e while
DettagliMANUALE DI ISTRUZIONI MOVIMENTO VD51 Cronografo con secondi e minuti
MANUALE DI ISTRUZIONI MOVIMENTO VD51 Cronografo con secondi e minuti FUNZIONAMENTO VD51 DISPLAY E PULSANTI DELLA CORONA Lancetta minuti Lancetta ore Lancetta secondi Lancetta minuti cronometro Lancetta
DettagliCorso di Perfezionamento
Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione
DettagliPensiero computazionale. Lezione 10 MIT AppInventor
Pensiero computazionale Lezione 10 MIT AppInventor Ripetizioni Dov è Ripeti 10 volte? Cosa succede: La variabile number assume i valori 1,2,.,9,10 by è l incremento A quel punto il ciclo termina Potete
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
Dettagli6.5 RNA Secondary Structure. 18 novembre 2014
6.5 RNA Secondary Structure 18 novembre 2014 Calendario Oggi è la lezione 17/24: ultima lezione su Programmazione dinamica Metodo greedy: 18, 19 Grafi: 20, 21, 22, 23 Reti di flusso: 23, 24 (=mercoledì
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliMatrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
DettagliMATLAB:Condizionamento Sistemi Lineari.
1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB:Condizionamento Sistemi Lineari. Innanzitutto vediamo qual è la funzione Matlab che ci permette di calcolare il
DettagliTHIS DOCUMENT WILL GUIDE YOU STEP BY STEP THROUGH THE DONATION PROCESS RELATED TO THE CROWDFUNDING CAMPAIGN MADE BY STANZE AL GENIO S HOUSE MUSEUM.
QUESTO DOCUMENTO TI GUIDA PASSO PASSO NELLA PROCEDURA DI DONAZIONE NELL AMBITO DELLA CAMPAGNA DI RACCOLTA FONDI PROMOSSA DALLA CASA MUSEO STANZE AL GENIO. THIS DOCUMENT WILL GUIDE YOU STEP BY STEP THROUGH
DettagliProgrammazione Funzionale
1/9 Programmazione Funzionale Esercizio sulle variabili locali Davide Mottin - Themis Palpanas March 12, 2014 OCaml Funzioni preparatorie Sommario 2/9 Funzioni preparatorie Costruire una funzione val even
DettagliEsercizi Programming Contest
Esercizi Programming Contest Alberto Montresor 22 maggio 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle
DettagliLE MACRO DI EXCEL PER TUTTE PDF
LE MACRO DI EXCEL PER TUTTE PDF ==> Download: LE MACRO DI EXCEL PER TUTTE PDF LE MACRO DI EXCEL PER TUTTE PDF - Are you searching for Le Macro Di Excel Per Tutte Books? Now, you will be happy that at this
DettagliREGISTRATION. Area Ricerca
REGISTRATION Note: former students can skip the registration process and log in using their account (id123456) 1.1 HOW TO REGISTER: please, go to web page www.univr.it/applicationphd and select the item
DettagliUNIVERSITÀ DEGLI STUDI DI TORINO
How to register online for exams (Appelli) Version updated on 18/11/2016 The academic programs and the career plan Incoming students can take exams related to the courses offered by the Department where
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliStored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma
Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined
DettagliIntroduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09
Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliTipici tempi di esecuzione. Martedì 7 ottobre 2014
Tipici tempi di esecuzione Martedì 7 ottobre 2014 Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo Scelto l analisi asintotica Abbiamo definito le notazioni asintotiche che
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliIntroduzione a Matlab
Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing
DettagliNote sul Sudoku. Marco Liverani. Dicembre 2005
Note sul Sudoku Marco Liverani Dicembre 2005 1 Introduzione Il gioco del Sudoku è un rompicapo giapponese che sta riscuotendo un successo notevole nel cosiddetto grande pubblico : pur essendo un gioco
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
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ù
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliCosto di esecuzione e complessità. Modello di costo e complessità di un algoritmo
Costo di esecuzione e complessità Modello di costo e complessità di un algoritmo Il costo di esecuzione di un algoritmo quantifica le risorse necessarie per l esecuzione dell algoritmo stesso numero di
DettagliLaboratorio di Programmazione I Compitino (Vers. C)
Laboratorio di Programmazione I Compitino (Vers. C) 13 novembre 2009 Cognome... Nome... Matricola... Note. In alcune delle seguenti domande verrà usato il vostro numero di matricola. Scrivete il vostro
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
DettagliOrdinamenti per confronto: albero di decisione
Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliEsercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3)
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T Modulo - Lab Corso di Laurea in Ingegneria Informatica Anno accademico 008/009 - Componente Matrice (1/3) Realizzare
DettagliLa classe std::vector della Standard Template Library del C++
La classe std::vector della Standard Template Library del C++ Alberto Garfagnini Università degli studi di Padova 23 Ottobre 2013 Programmazione generica in C++ : i Template I templates sono probabilmente
DettagliProgrammazione dinamica
Programmazione dinamica Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 29/21 I. Castelli Programmazione dinamica, A.A. 29/21 1/35
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
DettagliESISTENZA DI INFINITI NUMERI PRIMI REGOLARI. Francesco Di Noto, Michele Nardelli. In this paper we describe about the regular prime
ESISTENZA DI INFINITI NUMERI PRIMI REGOLARI Gruppo B. Riemann * Francesco Di Noto, Michele Nardelli *Gruppo amatoriale per la ricerca matematica sui numeri primi, sulle loro congetture e sulle loro connessioni
DettagliFondamenti di Informatica
Fondamenti di Informatica Prima prova intermedia - 11 Novembre 2009 Si risolvano i seguenti esercizi. Il compitino prevede un punteggio massimo di 15/14-esimi, cui andranno sommati i punti ottenuti nel
DettagliOttimizza la somma. Supponete di avere in input un vettore di n interi positivi distinti V [1... n] e un valore W. Scrivere un algoritmo che:
Ottimizza la somma Supponete di avere in input un vettore di n interi positivi distinti V [1... n] e un valore W. Scrivere un algoritmo che: 1 restituisca il massimo valore X = n i=1 x[i]v [i] tale che
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm
DettagliLaboratorio di Python
Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di
DettagliGuida utente User Manual made in Italy Rev0
Guida utente User Manual Rev0 made in Italy Indice/Index Informazioni generali General Info... 3 Guida Rapida per messa in funzione Start Up procedure... 3 Login Login... 3 Significato dei tasti Botton
DettagliSi vuole realizzare un programma in grado di verificare se una griglia assegnata rispetta le regole del gioco.
#define DIM_STR 4 #define DIM_CONFIG_MEM Prima Prova in Itinere 6..27 2-3 - punti (+2+2+3+2) Il Sudoku è un gioco di logica nel quale al giocatore viene proposta una griglia di 9 9 celle, ciascuna delle
DettagliTecniche Algoritmiche/3 Programmazione Dinamica
Tecniche Algoritmiche/3 Programmazione Dinamica Ivan Lanese Dip. di Informatica Scienza e Ingegneria Università di Bologna Ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ Programmazione Dinamica
DettagliTipi di segnali (logici) predefiniti. Rappresentazione dei segnali in VHDL. Tipo bit (definito nel package standard)
Tipi di segnali (logici) predefiniti Tipo bit (definito nel package standard) Rappresentazione dei segnali in VHDL Approfondimento del corso di Linguaggi di descrizione dell hardware type Bit is ('0',
DettagliStatements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
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...
Dettagli4.5 Metodo del simplesso
4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una
DettagliArray di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
DettagliIntroduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliCorso di Informatica 1 Esercitazione n. 4
Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
DettagliU Corso di italiano, Lezione Quindici
1 U Corso di italiano, Lezione Quindici U Buongiorno, anche in questa lezione iniziamo con qualche dialogo formale M Good morning, in this lesson as well, let s start with some formal dialogues U Buongiorno,
DettagliAVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION
AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION READ ONLINE AND DOWNLOAD EBOOK : AVERE 30 ANNI E VIVERE CON LA MAMMA BIBLIOTECA BIETTI ITALIAN EDITION PDF Click button to download
DettagliR.M.Dorizzi, Strumenti per interpretare gli esami di laboratorio? Forlì, 9 ottobre 2012
1 Half of what you are taught as medical students will in 10 years have been shown to be wrong. And the trouble is, none of your teachers know which half. Sydney Burwell, Dean Harvard Medical School 1935-1949
DettagliMySQL Command Line Client: operazioni fondamentali
MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge
DettagliQuando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?
IT FAQ-SSL Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai? Il certificato SSL relativo ai servizi hosting è stato rinnovato
Dettaglir fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi
I/O in Ftran Print e Read Paolo Bison Fondamenti di Infmatica A.A. 2006/07 Università di Padova R911 print-stmt is PRINT fmat [, output-item-list ] R909 read-stmt is READ ( io-control-spec-list ) [ input-item-list
DettagliInformatica B
2013-2014 Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli: durelli@elet.polimi.it Luigi Malago : malago@di.unimi.it Materiale di laboratorio reperibile all indirizzo: www.gianlucadurelli.com
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
DettagliLA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI
Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and
DettagliMultidimensionali. Array Multidimensionali. Tipi di array. Matrice: array bidimensionale. Array multidimensionale. Dichiarazione di una matrice
Tipi di array Array Multidimensionali Antonella Santone Monodimensionali (vettore) Multidimensionali Array multidimensionale Un array multidimensionale è un array, i cui elementi sono a loro volta degli
DettagliEsercitazioni di Informatica (CIV)
Esercitazioni di Informatica (CIV) Fortran Andrea Romanoni e-mail: andrea.romanoni@polimi.it website: http://home.deib.polimi.it/romanoni/ 17 dicembre 2015 Fortran Scrittura formattata Possiamo scrivere
DettagliIntroduzione alle classi 2
Introduzione alle classi 2 Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 31 ottobre, 2001 Gino Perna Utilizzo di una classe in C++ UN ESEMPIO DI CLASSE: LO STACK Supponiamo
Dettagli