Logo. http://www.softronix.com/logo.html (Setup Kit)



Похожие документы
Esercizio su quadrati sovrapposti alternati: problema

MATEMATICA CON LA TARTARUGA

LibreLOGO vs KOJO: DUE TARTARUGHE A CONFRONTO

A.A. 2018/2019. Introduzione ad AlgoBuild FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Fondamenti di Informatica A. A. 2017/18

Logo. è il punto in cui si trova la tartaruga al momento dell avvio del programma

ESERCIZI DI CREATIVITÀ GIOCARE CON LA RIPETIZIONE IN LOGO

Fondamenti di Informatica

Il Mondo della Tartaruga - Programmazione LOGO

per l Innovazione Didattica

Sistemi Multi-agente

SCUOLA SECONDARIA DI SECONDO GRADO. Contenuti Attività Metodo Strumenti Durata (in ore)

Fondamenti di Informatica

CIRCONFERENZA E CERCHIO

GEOGEBRA. Nella scuola del Primo Ciclo

I PARALLELOGRAMMI Si dice PARALLELOGRAMMA un quadrilatero avente i lati opposti paralleli a due a due.

1. costruzione di un TRIANGOLO ISOSCELE di assegnati lati

LA GEOMETRIA DELLA TARTARUGA

GRAFICO DI PARETO. variabile rispetto a cui si vuole ordinare (ossia nel nostro esempio

TIPI DI TRIANGOLO La classificazione dei triangoli può essere fatta o in riferimento ai lati oppure agli angoli. Sulla base dei lati abbiamo:

Una classe, una tartaruga e le geometrie di Collemaggio

Javascript e CSS nelle pagine WEB

POLIGONI INSCRITTI E CIRCOSCRITTI A UNA CIRCONFERENZA

Versione 1.7. Manuale per Creatori Corsi. Parte I: Accesso e Creare Risorse

Introduzione a Visual Studio Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Risoluzione di un problema

Laboratorio di informatica

Tipi di linea. Tipi di Linea - R.Virili 1

EAGLE (Easily Applicable Graphical Layout Editor)

Poligoni inscritti e circoscritti ad una circonferenza

LA CAMERA DEGLI SPECCHI

1. IL CERCHIO COLORATO

Guida pratica alla creazione di pagine web

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

Microsoft Visual Basic

IGiochidiArchimede-SoluzioniBiennio 23 novembre 2005

TAVOLE PER IL DISEGNO

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Presenta: I Poligoni e loro proprietà

Punto d intersezione delle altezze nel triangolo

POLIGONI INSCRITTI E CIRCOSCRITTI AD UNA CIRCONFERENZA

Generazione di una mesh rettangolare

APVE in Rete Modulo 8 Excel nozioni di base e esercitazioni su economia domestica

REGOLA DELLA SEMPLIFICAZIONE DELLE AREE

ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:

Aprire l editor dei template, dal menù File selezionare Nuovo, scegliere Modello grafico e cliccare su Ok

Guida a Getrix: Indice Multimedia Planimetria

Guida all installazione ed all uso di ASIM

Geometria figure piane Raccolta di esercizi

AREE DEI POLIGONI. b = A h

1 La traslazione. 2 La composizione di traslazioni. 3 La rotazione

12.2 -COSTRUZIONE DI UNA VITE

Comandi principali di Linux (1)

Operazioni preliminari: creare una cartella in Documenti

TETRAEDRI E RADICE DI 3. da un foglio quadrato a un rettangolo 1 x 2

Processamento delle immagini

Documentazione Kojo in italiano

Considerazioni sull uso del compasso per l acquisizione di concetti geometrici di Luciano Porta

Kangourou Italia Gara del 17 marzo 2016 Categoria Student Per studenti di quarta e quinta della scuola secondaria di secondo grado

Uso di Lava Connect per il trasferimento dati ULDC

REGOLA DELLA SEMPLIFICAZIONE DELLE AREE

Транскрипт:

Logo Logo è un linguaggio di programmazione essenzialmente didattico; È orientato alla creazione di grafica vettoriale, ma può essere usato per fare qualsiasi tipo di programma; MSWLogo è una versione che funziona in ambiente Microsoft. URL sito: http://www.softronix.com/logo.html (Setup Kit) 1

Programmare una tartaruga MIT, anni 50: primi linguaggi per programmare piccoli robot (dalla forma di tartaruga); Seymour Papert, anni 60: introduce un linguaggio per fare programmare i robot dai bambini. Nasce il Logo. La tartaruga è rappresentata in MSWLogo da un triangolo: 2

L interfaccia di MSWLogo Tartaruga in posizione iniziale (home) Area di lavoro 3

L interfaccia di Logo Storia comandi eseguiti Linea comandi Logo 4

I primi comandi Forward n (fd); (n è un numero) Back n (bk); (idem) Left a (lt); (a è un angolo espresso in gradi) Right a (rt); (idem) Home; ClearScreen (cs); 5

Disegnare un quadrato Suddivisione del problema in sottoproblemi: 1. Disegnare il primo lato di 100 pixel; 2. Disegnare il secondo lato di 100 pixel; 3. Disegnare il terzo lato di 100 pixel; 4. Disegnare il quarto lato di 100 pixel; 5. Tornare alla condizione di partenza. 6

Un primo esempio: un quadrato 7

Il programma per disegnare un quadrato 1/ 79 1/ 79 1/ 79 420 8

Esercizi 1. Costruire un quadrato partendo dal lato più a destra (suggerimento: la costruzione avverrebbe in senso antiorario); 2. Disegnare un rettangolo con la base lunga 100 pixel e l altezza lunga 25 pixel; 3. Disegnare un triangolo equilatero (i.e., ha tutti i lati uguali ma anche tutti gli angoli uguali a 60 gradi); 4. Disegnare un triangolo isoscele; 5. Disegnare un pentagono; 9

Osservazione rt 120 fd 100 180 60 = 120 fd 100 rt 120 fd 100 120 10

Altri comandi importanti PenUp (PU); PenDown (PD); PenErase (PE); PenPaint (PPT); SetPenColor (list Red Green Blue); Bye. 11

Due quadrati concentrici Esercizio: Disegnare i quadrati riportati in figura 12

Due quadrati concentrici Suddivisione del problema in sottoproblemi: 1. Disegnare il primo quadrato (lato di 100 pixel); 2. Posizionarsi per il secondo quadrato; 3. Cambiare colore (rosso); 4. Disegnare il secondo quadrato (lato di 50 pixel); 5. Tornare alla condizione di partenza. 13

Due quadrati concentrici Primo quadrato: fd 100 rt 90 fd 100 rt 90 fd 100 home 14

Due quadrati concentrici fd 25 pd pu fd 25 rt 90 cambiamo colore: setpencolor (list 255 0 0) 15

Altri Colori 16

Due quadrati concentrici Secondo quadrato: fd 50 lt 90 fd 50 lt 90 fd 50 lt 90 fd 50 lt 90 Ritorno a casa: pu home pd 17

Il programma per disegnare due quadrati fd 100 rt 90 fd 100 rt 90 fd 100 home pu fd 25 rt 90 fd 25 pd setpencolor (list 255 0 0) fd 50 lt 90 fd 50 lt 90 fd 50 lt 90 fd 50 lt 90 pu home pd 18

Cicli iterativi: Repeat Sintassi: Repeat n [ comando1 comando2 ] Semantica: per un numero n di volte, vengono eseguiti i comandi tra parentesi quadre. 19

Esempi di cicli Disegnare un triangolo equilatero: repeat 3 [ fd 100 rt 120 ] Disegnare un pentagono: repeat 5 [ fd 100 rt 72 ] Disegnare un rettangolo 100x25: repeat 2 [ fd 100 rt 90 fd 25 rt 90 ] 20

Esercizi Disegnare un cerchio (sembra assurdo, ma ); Capire il seguente programma e cosa disegna prima ancora di eseguirlo: repeat 2 [ fd 100 pu rt 90 fd 25 rt 90 pd ] rt 90 repeat 2 [ fd 25 pu lt 90 fd 100 lt 90 pd ] lt 90 21

Funzioni e procedure Buona programmazione: Semplificare la leggibilità del codice; Ridurre la complessità; Creare moduli per ogni sottoproblema; Per ogni modulo, scrivere: Una procedura, oppure Una funzione (se si vuole un risultato in output). 22

Funzioni e procedure Un programma viene ad essere suddiviso in: una procedura principale (main) richiamata appena si esegue il programma una serie di procedure secondarie (i moduli) richiamate per essere eseguite dalla procedura principale o da altre procedure secondarie 23

Procedura Per ogni procedura abbiamo: Un nome (ad esempio: quadrato) Un codice (ad esempio: repeat 4 [ fd 100 rt 90 ] ) Una procedura viene chiamata utilizzando il suo nome. Prima di poter chiamare una procedura, dobbiamo definirla. 24

Definire una procedura: il nome To nome_procedura Ad esempio: definiamo la funzione quadrato: 25

Definire una procedura: il codice Scrivere il codice nella finestra che appare: Ad esempio: repeat 4 [ fd 100 rt 90 ] Quando il codice è finito, battere End e poi cliccare su OK. 26

Modificare una procedura: l editor Edit nome_procedura Ad esempio: Edit quadrato 27

Chiamare una procedura Scrivere il nome Esempio: quadrato Definizione Chiamata Informazione di MSWLogo sulla definizione Risultato della chiamata Invocato Editor della procedura 28

Due quadrati concentrici II Suddivione del problema in sottoproblemi: 1. Disegnare il primo quadrato (lato di 100 pixel); 2. Posizionarsi per il secondo quadrato; 3. Cambiare colore (rosso); 4. Disegnare il secondo quadrato (lato di 50 pixel); 5. Tornare alla condizione di partenza. 29

Due quadrati concentrici II Suddivisione in moduli (procedura principale): 1. Quadrato1 2. Posizionamento 3. Cambia_in_rosso 4. Quadrato2 5. My_home 30

Definizione: quadrato1 to quadrato1 end repeat 4 [ fd 100 rt 90 ] 31

Definizione: quadrato2 to quadrato2 end repeat 4 [ fd 50 rt 90 ] 32

Definizione: posizionamento to posizionamento pu fd 25 rt 90 fd 25 lt 90 pd end 33

Definizione: cambia_in_rosso to cambia_in_rosso end setpencolor (list 255 0 0) 34

Definizione: my_home to my_home pu home pd setpencolor (list 0 0 0) end 35

Definizione: procedura principale to main quadrato1 posizionamento cambia_in_rosso quadrato2 my_home end 36

Esecuzione del programma Battere main nella Commander Window di Logo. 37

Ricapitolando: un passo avanti verso Possibilità di generalizzare un programma: se volessi disegnare un quadrato di 125 e uno interno di 75 mi basta modificare le procedure quadrato1 e quadrato2 Suddivisione in moduli (procedure) che risolvono in maniera indipendente i sottoproblemi In maniera indipendente, i.e., la modifica di una procedura non deve influire sulle altre A tal fine è bene fare riferimento alle coordinate assolute 38

Salvare e Caricare un programma Save nome_file.lgo Esempio: save due_quadrati.lgo Load nome_file.lgo Esempio: load due_quadrati.lgo Oppure: File > Save as File > Load 39

Esercizio Disegnare la casa riportata in figura. Ricordare di: 1. Suddividere il problema in sottoproblemi; 2. Scrivere una procedura per ogni modulo; 3. Scrivere una procedura principale; 40

Osservazione È consigliabile scrivere delle procedure che contengano sempre la chiamata alla procedura my_home all inizio ed alla fine. Esempio: to quadrato end my_home repeat 4 [ fd 100 rt 90 ] my_home 41