Fondamenti di informatica
|
|
|
- Violetta Pippi
- 8 anni fa
- Просмотров:
Транскрипт
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
Capitolo 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
Array 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
REGISTRATION 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/
Downloading 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
Capitolo 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
Fondamenti di Informatica
Fondamenti di Informatica lesson 25 Exercises 2013/06/23 Prof. Emiliano Casalicchio [email protected] Esami n Appelli (Prova Scritta - Prova Pratica) 1 Luglio (ore 9:00) 3 Luglio (ore 14)
Strutture 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
Italian 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
Un 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
WELCOME. 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.
Fiori 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
Espressioni 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:
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
Laboratorio 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
CONFIGURATION 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
Dati 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
A.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à
I 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
Programmazione 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
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
UNIVERSITÀ 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 [email protected]
Quando 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
MANUALE 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
Pensiero 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
Le 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
RAPPRESENTAZIONE 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
Matrici. 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
MATLAB: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
THIS 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
Programmazione 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
Esercizi 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
LE 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
REGISTRATION. 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
UNIVERSITÀ 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
LA 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
Stored 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
Introduzione 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
Non 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
Prova 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
osservazione: 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)
Introduzione a Matlab
Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy [email protected] Perché? MATLAB is a high-level technical computing
Note 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
LA 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
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Costo 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
Esercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] 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
Ordinamenti 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
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
La 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
Programmazione dinamica
Programmazione dinamica Ilaria Castelli [email protected] Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 29/21 I. Castelli Programmazione dinamica, A.A. 29/21 1/35
Laboratorio 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
ESISTENZA 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
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:
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
Classe 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
Laboratorio 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
Guida 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
Breve 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...
4.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
Array 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
Introduzione 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
in 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
LA 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
Corso 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
U 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,
AVERE 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
R.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
MySQL 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
Quando 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
Informatica B
2013-2014 Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli: [email protected] Luigi Malago : [email protected] Materiale di laboratorio reperibile all indirizzo: www.gianlucadurelli.com
Programmazione 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
LA 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
Multidimensionali. 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
