mercoledì 27 novembre 2024

Corso per una lingua informatica universale: 14 Parti mancanti di L4 (Estensione linguaggio e funzionalità)

 

 

🚩 Parti mancanti di L4 (Estensione linguaggio e funzionalità)

1. Progettare L2 con nuovi concetti

  • Tipi strutturati (record, oggetti, strutture dati complesse)
  • Input/output avanzato (interattività, lettura da tastiera)
  • Funzioni ricorsive e chiamate ricorsive
  • Nuove parole chiave e sintassi estesa

Stato attuale: Abbiamo basi per strutture dati e input/output, ma mancano implementazioni complete e esempi completi.

2. Aggiungere librerie standard

  • Librerie matematiche (trigonometria, potenze, radici)
  • Librerie per manipolazione stringhe (split, sostituzioni, ecc.)
  • Librerie per funzioni casuali (estrazioni, random)

Stato attuale: Inizio di librerie ma non ancora integrate nei tutorial.

3. Creare esempi applicativi

  • Giochi semplici (es. indovina numero)
  • Algoritmi base (ordinamento, ricerca)
  • Progetti demo con strutture e librerie

Stato attuale: Solo esempi base. Serve espandere e rendere fruibili.


📌 Dove inserire i contenuti?

  • Tutti i moduli e tutorial vanno pubblicati su Blogger in sezioni ordinate
  • Inserire esempi con codice completo e spiegazioni passo passo
  • Tenere aggiornato un Indice Maestro (già avviato)
  • Mantenere un file o pagina con librerie standard e API documentate

🔜 Prossimi sviluppi

Vuoi che ti prepari i moduli mancanti di L4, per esempio:

  • L4.F: librerie matematiche complete + esempi
  • L4.G: tutorial su ricorsione con esempi
  • L4.H: esempi applicativi di giochi e algoritmi

Fammi sapere come preferisci procedere!


🧩 L4.F – Librerie matematiche in L2

Estensione del linguaggio L2 con funzioni matematiche utili (modulari e riutilizzabili).

🎯 Obiettivi didattici

  • Offrire funzioni matematiche pronte in L2
  • Permettere calcoli avanzati: potenze, radici, trigonometria
  • Familiarizzare con librerie e moduli

📚 Libreria: math.l2lib

procedura potenza(x, y)
    ritorna x ^ y
fine

procedura radice(x)
    ritorna sqrt(x)
fine

procedura assoluto(x)
    se x < 0 allora
        ritorna -x
    altrimenti
        ritorna x
    fine
fine

procedura massimo(a, b)
    se a > b allora
        ritorna a
    altrimenti
        ritorna b
    fine
fine

procedura minimo(a, b)
    se a < b allora
        ritorna a
    altrimenti
        ritorna b
    fine
fine

procedura seno(x)
    ritorna sin(x)
fine

procedura coseno(x)
    ritorna cos(x)
fine

procedura tangente(x)
    ritorna tan(x)
fine

procedura casuale()
    ritorna random()
fine

Nota: Funzioni sqrt, sin, cos, tan, random vanno collegate al backend JS.

🧪 Esempio d’uso

scrivi "Radice di 25 = ", radice(25)
scrivi "3 elevato a 4 = ", potenza(3, 4)
scrivi "Assoluto di -10 = ", assoluto(-10)
scrivi "Seno di 0 = ", seno(0)
scrivi "Numero casuale = ", casuale()

🧠 L4.G – Ricorsione in L2

Introduzione alla ricorsione, con esempi e spiegazioni didattiche.

🎯 Obiettivi didattici

  • Capire cos’è la ricorsione
  • Scrivere procedure ricorsive
  • Risolvere problemi classici come fattoriale e Fibonacci

📖 Che cos'è la ricorsione?

Una procedura ricorsiva:

  • Ha un caso base
  • Chiama sé stessa con dati ridotti

✅ Esempio – Fattoriale

procedura fattoriale(n)
    se n = 0 allora
        ritorna 1
    altrimenti
        ritorna n * fattoriale(n - 1)
    fine
fine

scrivi "Fattoriale di 5 = ", fattoriale(5)

✅ Esempio – Fibonacci

procedura fib(n)
    se n = 0 allora
        ritorna 0
    se n = 1 allora
        ritorna 1
    altrimenti
        ritorna fib(n - 1) + fib(n - 2)
    fine
fine

scrivi "Fibonacci(6) = ", fib(6)

🧩 L4.H – Esempi applicativi: giochi e algoritmi

Usiamo L2 per costruire giochi e programmi reali.

🎯 Obiettivi didattici

  • Mettere in pratica estensioni di L2
  • Creare progetti pronti da usare

🎮 ESEMPIO 1 – Indovina il numero

variabile segreto = casuale() * 10
variabile tentativi = 0

procedura gioca()
    scrivi "Indovina il numero tra 0 e 10"
    mentre vero fai
        scrivi "Inserisci un numero:"
        variabile x = input()
        tentativi = tentativi + 1
        se x = segreto allora
            scrivi "Hai indovinato in ", tentativi, " tentativi!"
            interrompi
        se x < segreto allora
            scrivi "Troppo basso"
        altrimenti
            scrivi "Troppo alto"
        fine
    fine
fine

gioca()

🔢 ESEMPIO 2 – Ordinamento Bubble Sort

procedura bubble_sort(lista)
    variabile n = lunghezza(lista)
    per i da 0 a n - 1 fai
        per j da 0 a n - i - 2 fai
            se lista[j] > lista[j+1] allora
                variabile temp = lista[j]
                lista[j] = lista[j+1]
                lista[j+1] = temp
            fine
        fine
    fine
    ritorna lista
fine

scrivi bubble_sort([5, 2, 9, 1, 4])

🧠 ESEMPIO 3 – Somma ricorsiva

procedura somma(n)
    se n = 1 allora
        ritorna 1
    altrimenti
        ritorna n + somma(n - 1)
    fine
fine

scrivi "Somma da 1 a 10 = ", somma(10)

📌 Collocazione nel progetto

  • Sezione: L4 – Estensioni L2
  • Sottosezioni: Librerie, Ricorsione, Esempi
  • Collegamento all’Indice Maestro

🔜 Vuoi anche:

  • 📘 Moduli con esercizi guidati?
  • 📦 File .l2pack con tutto il codice incluso?

Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...