Pensiero computazionale. Lezione 10 MIT AppInventor

Похожие документы
Corso di Linguaggi di Programmazione

Pensiero computazionale. Lezione 4 Liste

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Laboratorio di Python

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Il linguaggio Python

Laboratorio di Python

Programmazione in Java (I modulo)

Laboratorio di Python

Linguistica Computazionale: esercitazioni

Laboratorio di Python

Quando usiamo Python in modo interattivo in genere e' lo shell utilizzato che gestisce l'indentazione e la deindentazione.

Calcolo rapido dei Numeri di Fibonacci con il linguaggio Python

Laboratorio di Informatica

STRUTTURE DI CONTROLLO DEL C++

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Un piccolo esempio: script

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Introduzione al MATLAB c Parte 3 Script e function

BLENDER LEZIONI DI LABORATORIO

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 17 Novembre 2015

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.

Laboratorio di Python

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Le strutture di controllo

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

Laboratorio di Python

L'Allocazione Dinamica della Memoria nel linguaggio C

Laboratorio di Python

Definizione di metodi in Java

Qualsiasi programma in C++ segue lo schema:

Laboratorio di Python

Ingegneria degli Algoritmi (II parte pratica)

Laboratorio di Python

Il linguaggio di programmazione Python

Fondamenti di informatica

Rappresentazione degli algoritmi

MICROSOFT EXCEL FORMULE E FUNZIONI

Laboratorio di Python (con Linux)

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Esercitazione 11. Liste semplici

VBA Principali Comandi

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

Informatica 3. LEZIONE 12: Liste. Modulo 1: ADT lista e implementazione basata su array Modulo 2: Lista concatenata

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

VARIABILI, ASSEGNAZIONE, DECISIONI

COMANDI ITERATIVI. Ivan Lanese

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Fondamenti di Programmazione

Costrutti condizionali e iterativi

Utilizzo delle Maschere in Microsoft Access

Sviluppare un programma in FORTRAN

Laboratorio Informatica

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Laboratorio di Python

Programmazione web lato client con JavaScript. Marco Camurri 1

Le strutture di controllo in C++

1 Esercizi in pseudocodice

Linguaggio C. Esercizio 1

Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli

Strutture di Controllo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Laboratorio di Python

Транскрипт:

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 utilizzarla oppure no Nota: La variabile number esiste solo all interno del ciclo Errore

Codice equivalente Esempio: python for number in range(1,11): print(number) print( Finito! ) Alcuni commenti: range(1,11) restituisce i numeri da 1 a 10 utilizziamo l indentazione per stabilire quali comandi fanno parte del ciclo e quali no In altri linguaggi si fa uso delle parentesi graffe

Ripetizioni E possibile scorrere tutti gli elementi di una lista La variabile item assume i valori alberto, alice, federica, francesco Come prima, esiste solo all interno del ciclo

Codice equivalente Esempio: python lista=[ alberto, alice, federica, francesco ] for item in lista: print(item) print( Finito! )

Ripetizioni Il ciclo while viene eseguito fintanto che la condizione associata è vera Ripeti per sempre: Attenzione, probabile consumo batteria Cerca un elemento nella lista

Codice equivalente Esempio: python lista=[ alberto, alice, federica, francesco ] indice = 0 while lista[indice]!= federica : indice = indice+1 print(indice) Stampa: 2

Liste E possibile creare liste vuote Aggiungere valori dinamicamente

Liste E possibile creare liste vuote Aggiungere valori dinamicamente F (n) = ( F (n 1) + F (n 2) n>1 1 n apple 1

Codice equivalente Esempio: python L=[1,1] for i in range(10): L.append(L[len(L)-1] + L[len(L)-2]) print(l) Stampa: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]

Contenuto delle liste Le liste possono contenere qualunque oggetto

Ci sono due tipi di procedure Procedure Quelle che eseguono delle azioni, senza restituire un risultato Quelle che eseguono delle azioni e restituiscono un risultato (funzioni) Simile alla funzionalità Nuovi blocchi di Scratch

Parametri E possibile aggiungere parametri cliccando sul simbolo *

Una volta creata una procedura, è possibile inserire blocchi all interno Questa procedura disegna una croce su un canvas Parametri

Parametri Una volta completata una procedura, è possibile invocarla Questi blocchi disegnano una croce su tutto il canvas

Funzioni Una funzione può restituire un valore Questa funzione calcola il fattoriale di un numero Sono presenti due blocchi particolari: variabile locale (initialize local) un blocco che restituisce un valore

Codice equivalente Esempio: python def factorial(n): tot = 1 for i in range(2,n+1): tot = tot*i return tot print(factorial(10)) Stampa: 3628800

Database Database E possibile memorizzare informazioni in un database associato all applicazione TinyDB - http://ai2.appinventor.mit.edu/reference/components/storage.html ClearAll(): Clear the entire data store in the TinyDB. ClearTag(text tag): Clear the entry with the given tag. any GetTags(): Return a list of all the tags in the TinyDB. any GetValue(text tag, any valueiftagnotthere): Retrieve the value stored under the given tag. If there's no such tag, then return valueiftagnotthere. StoreValue(text tag, any valuetostore): Store the value under the given tag. The storage persists on the phone when the app is restarted.

Aggiungerlo è semplice Creare il database Basta trascinare TinyDB nell area del Viewer TinyDB non ha proprietà

Esempio: gestione punteggio massimo (record) Per aggiungere un elemento, si aggiunge semplicemente una coppia (tag, valuetostore) Il nome del tag lo decidete voi Il valore viene associato al tag specificato Esempio di gestione del punteggio massimo: Questo blocco scrivere nella label lblrecord il valore registrato nel tag record, oppure 0 se non c è nessun valore (è la prima volta che si gioca)

Esempio: gestione punteggio massimo (record) Per aggiungere un elemento, si aggiunge semplicemente una coppia (tag, valuetostore) Il nome del tag lo decidete voi Il valore viene associato al tag specificato Esempio di gestione del punteggio massimo: Se il valore del punteggio appena ottenuto è maggiore del record, si memorizza il nuovo punteggio nel tag record

Esercizi per oggi: http://www.bbuio.it/didattica/appinventor/ Provate il numero 5 (liste, database) https://www.dropbox.com/sh/t9ambiww4neoudq/5dkbmyr5jr? n=146248414 Provate il numero 14 (liste) Componenti: Hour of Python: https://hourofpython.com/ Risorse in Italiano: http://www.mrwebmaster.it/android/guide/guida-app-inventor/ http://seblogapps.blogspot.it/p/elenco-tutorial.html Risorse in Inglese http://www.appinventor.org/book2 http://explore.appinventor.mit.edu/tutorials