Tela (Teaching Language)

Documenti analoghi
Espressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!

Generazione di Codice

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Dichiarazione di variabili

Informatica (A-K) 5. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Esercizi Programmazione I

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Laboratorio di Programmazione

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Laboratorio di Informatica I

Espressione composta da: Operatori Operandi (costanti, variabili, )

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Struttura di un programma C++

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Programmazione Procedurale in Linguaggio C++

Tipi di dato primitivi

Lezione 6 Introduzione al C++ Mauro Piccolo

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

Corso di programmazione in C

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza

Javascript: il browser

Javascript: il browser

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza

Tipi strutturati - struct

Laboratorio di Informatica I

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane

cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2

Laboratorio di Informatica I

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Struttura di un linguaggio

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

Un algoritmo ben fatto deve terminare dopo un numero finito

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Laboratorio di Informatica I

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Linguaggi di Programmazione I Lezione 9

Strutture di controllo e cicli

Linguaggio C: Espressioni

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Linguaggi di programmazione

La principale modalità di calcolo è l applicazione di funzioni

Verifica parte IIB. Grafo di controllo. Criteri di selezione per test strutturali (white box) Test. Rif. Ghezzi et al

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Corso di Automazione industriale

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

IL TEOREMA DI BOEHM-JACOPINI

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Problema: stampa degli interi compresi tra n e m

Corso Programmazione

Corso di Programmazione

Dichiarazioni e tipi predefiniti nel linguaggio C

Ing. Lorenzo Vismara

Sviluppo di programmi

Verifica parte IIB. Rif. Ghezzi et al

Risoluzione di un problema

Lezione 3 Esercitazione

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Programmazione Procedurale in Linguaggio C++

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

Il linguaggio C. Notate che...

Linguaggio C: Espressioni

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Pascal: esempi di programmazione

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programmazione. Selezione e ripetizione. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino

Fondamenti di Programmazione

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)

LINGUAGGI DI PROGRAMMAZIONE

Ambienti di Programmazione per il Software di Base

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

LINGUAGGI DI PROGRAMMAZIONE!

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane

Programmazione Procedurale in Linguaggio C++

Linguaggio C: Espressioni

Strutture di Controllo Condizionali e Operatori Logici e Relazionali

L assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time

Si possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

INTRODUZIONE AL LINGUAGGIO C

Università degli Studi di Ferrara

Laboratorio di programmazione

Transcript:

Tela (Teaching Language) Paradigma imperativo Dichiarazioni di variabili, costanti, moduli Programma strutturato in moduli innestati Scope statico Passaggio dei parametri per valore Corpo del modulo = blocco di istruzioni Ricorsione Tipi di dati (solo atomici): char, int, real, string, bool, void (solo per moduli) Commenti: # Questo è un commento 1

Tipi di Dati char c : char; c = 'a'; int i : int; i = 25; real r : real; r = 64.15 string s : string; s = "alfa"; bool ok : bool; ok = true; 2

Dichiarazioni Sezione var: var i, j, k: int; nome, cognome: string; media, tempo: real; ok, flag: bool; Sezione const (valori non modificabili, generati da espressioni nelle dichiarazioni): const MAX: int = 10; a, b: real = 10.25; linguaggio: string = "Tela"; media: real = somma / num; FACT: int = fattoriale(max); Variabili / costanti nelle espressioni di assegnamento devono essere già dichiarati Moduli nelle espressioni di assegnamento: non necessariamente già dichiarati 3

Struttura del Programma module prog(a: int, b: string): int var v1:, v2:, vm: ; const c1: =, c2: =, cp: = ; module f1(): int var ; const ; module f2(): real begin f2 end f2 begin f1 end f1 module f3(): void begin prog end prog parametri del programma: input da tastiera output su monitor Non necessaria la dichiarazione del modulo prima della sua chiamata 4

Espressioni Aritmetiche +,, *, / : operatori (overloaded) applicabili a int real Espressioni miste non permesse (coercizione vietata) Operatori di cast int : real int real : int real var i,j: int; x, y: real; x = real(i+j)*(r real(i)); j = int(x+y 1.25); 5

Espressioni Booleane ==,!=, >, >=, <, <= : applicabili a tutti i tipi and, or, not: applicabili a bool Valutazione in corto circuito var a, b, c, d: bool; d = a or (b and c); if a then d = true else if not b then d = false else d = c endif endif a or b and c Integrazione con operazioni relazionali var i, j: int; cognome: string; a, b: bool; b = (i == j+2 or a) and (cognome == "Rossi"); 6

Precedenza, Associatività, Ordine di Valutazione Operatore Tipo Associatività and, or binario sinistra ==,!=, >, >=, <, <= binario no +, binario sinistra *, / binario sinistra, not unario destra precedenza crescente Ordine di valutazione degli operandi: da sinistra a destra 7

Espressione Condizionale if expr then expr { elsif expr then expr } else expr end var a, b, c: int; a = if b>c then b+c elsif b==c+1 then b c else a+1 end; 8

Istruzione Condizionale if expr then stat-list { elsif expr then stat-list } [ else stat-list ] end var a, b, c: int; if a == b then c = a + 1; elsif a > b then a = b + c; c = a b; else b = b a; end; 9

Ciclo While while expr do stat-list end var a, b, res: int; res = 0; while a >= b do res = res + 1; a = a b; end; 10

Return return [ expr ] module media(n: int, m: int): real var somma: int; begin media somma = n + m; return real(somma / 2); end media module fattoriale(n: int): int begin fattoriale if n <= 0 then return 1; else return n * fattoriale(n 1); endif; end fattoriale oppure: module fattoriale(n: int): int begin fattoriale return if n <= 0 then 1 else n * fattoriale(n 1) end; end fattoriale Se modulo senza valore di ritorno (void), return senza argomento 11

Write write(expr-list) write("hello world!"); var n, f: int; f = fattoriale(n); write("il fattoriale di ", n, " è ", f); n, m: int; avg: real; write("la media di ", n, " e ", m, " è ", media(n, m)); 12

Read read(id-list) var n, f: int; write("inserisci il numero:"); read(n); f = fattoriale(n); write("il fattoriale di ", n, " è ", f); n, m: int; avg: real; write("inserisci i due numeri di cui calcolare la media:"); read(n, m); avg = media(n, m); write("la media di ", n, " e ", m, " è ", avg); 13