UNITÀ LESSICALI Simboli, identificatori, costanti, commenti Simboli: Identificatori: lettere, numeri, $, _, #

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
SQL applicato a SQL Server
Selezione - approfondimento
PROGRAMMARE IN PASCAL (le basi)
Elementi di Programmazione
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 7 (11/12) - PBElementi di Programmazione1 Lezione 7 Tipi String e Date.
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Programmazione Procedurale in Linguaggio C++
Elementi di PL/SQL.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
CORSO DI PROGRAMMAZIONE II
Introduzione agli stream e alle classi
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Il linguaggio Fortran 90: 5. Formato di I/O e Files
Introduzione alla programmazione lll
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Dichiarazioni e tipi predefiniti nel linguaggio C
OPERAZIONI CON STRINGHE Le operazioni più interessanti da fare, per ora, con le stringhe sono: determinare la lunghezza della stringa, cioè quanti caratteri.
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
Il Linguaggio C.
Java base I: Sintassi e tipi di dati
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Programmazione in Java Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
4 Tipi di dati & variabili
CODIFICA Da flow-chart a C++.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmazione di Calcolatori
Basi di Dati e Sistemi Informativi
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
Lezione 3 Struttura lessicale del linguaggio
FUNZIONI Dichiarazione: Definizione:
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
UNITÀ LESSICALI Simboli, identificatori, costanti, commenti Simboli: Identificatori: lettere, numeri, $, _, #
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Elementi di PL/SQL. Pl/Sql Il PL/SQL (Procedural Language/Structured Query Language) è un linguaggio di programmazione procedurale di Oracle che costituisce.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Approfondimenti SQL.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Transcript della presentazione:

UNITÀ LESSICALI Simboli, identificatori, costanti, commenti Simboli: Identificatori: lettere, numeri, $, _, # ($,_,#: uno solo, in mezzo), oppure "caratteri ascii"(fino a 30) Costanti: –numeriche: interi e reali –caratteri e stringhe: 'a', 'abc', 'url="http', 'l''amico' Ma non: 'l'amico', 'età' –bool: TRUE, FALSE, NULL Commenti: select * -- commento su singola linea from /* commenti su più linee */

UN DETTAGLIO CRUCIALE SULLE STRINGHE: attenti all’& Non scrivete mai: –print('proc?par1=aa&par2=bb'); Immettere un valore per par2: vecchio 11: print('proc?par1=aa&par2=bb'); nuovo 11: print('proc?par1=aa=bb'); –print('sarà fatto'); Scrivete invece: –print('proc?par1=aa&' || 'par2=bb'); –print('sar&' || 'agrave; fatto');

TIPI PL-SQL: TIPI NUMERICi –BINARY_INTEGER (sottotipi: NATURAL, NATURALN, POSITIVE, POSITIVEN) –PLS_INTEGER: analoghi ma migliori –NUMBER[(cifre:=38,posvirgola:=0)]; sottotipi: dec, decimal, double precision, integer, int, numeric, real, smallint Ex: Number(8), Number(8,4) –FLOAT[(cifre binarie:=126)]

TIPI PL-SQL: STRINGHE –CHAR[(max length:=1)] dimensione fissa (max<256 per le colonne, per le variabili); sub: character –LONG: dim variabile (<2MB per le colonne, per le variabili) –RAW(max length): non interpretati; max colonna: 255; variabile: –LONG RAW: long+raw –ROWID: memorizza rowid in formato bbbbbbbb.rrrr.ffff –VARCHAR2(max length); max col<2000, var<32767; dimensione variabile; sub: string, varchar

TIPI PL-SQL: DATE e BOOLEANI Boolean: contiene true, false e null. Solo variabili, non nella basi di dati Date: nelle colonne contengono anche ore, minuti e secondi

SUBTYPES Servono a dare un altro nome ad un tipo: –DECLARE SUBTYPE Accumulator IS NUMBER; Possono contenere un’indicazione di dimensione, ma solo se sono definiti dal tipo di una variabile: –DECLARE temp NUMBER(4); SUBTYPE InteroQuattro IS temp%TYPE; -- ok SUBTYPE Intero IS NUMBER; --ok SUBTYPE InteroTre IS NUMBER(3); --no

CONVERSIONI TO_CHAR: data, numero a stringa TO_DATE: stringa, numero a data: –to_date(' ','dd-mm-yyyy') TO_NUMBER: stringa a numero stringa e raw-rowid: ROWTOHEX, HEXTORAW, CHARTOROWID, ROWIDTOCHAR Conversioni implicite: ogni conversione immaginabile; non usarle

DICHIARAZIONI DI VARIABILI Possono avere come inizializzatore un’espressione complessa, o non averlo (NULL): –nome tipo; –nome tipo [not null] := expr; (oppure: nome tipo [not null] DEFAULT expr;) –nome CONSTANT tipo [not null] := expr; Un tipo si può specificare: variabile%TYPE, colonna%TYPE (non riceve in questo caso il NOT NULL) tabella%ROWTYPE, cursore%ROWTYPE: tipo record –selezione e scrittura come var.field –assegnamento totale solo tra due record il cui tipo è tratto dalla stessa tabella o cursore, o usando SELECT * INTO reg FROM tab, se reg ha tipo tab%ROWTYPE

NOMI Classi di nomi: Semplici: emp Qualificati: luigi.emp Remoti: Qualificati e remoti: Non è permessa ambiguità tra gli identificatori dichiarati nello stesso livello; quelli dichiarati internamente coprono quelli esterni, ma non i nomi di colonna Negli identificatori maiuscole e minuscole sono uguali

Assegnamenti ide := expr select { col1,..,coln | * } into { var1,..,varn | rcdvar} from... where –Fallisce se la select non trova ennuple (NO_DATA_FOUND) o ne trova più di una (TOO_MANY_ROWS) –per ogni colonna, ci deve essere una variabile con tipo compatibile

ESPRESSIONI Operatori: –** (esp.), NOT ; +, -; *, / ; +, -, || (concatenazione); –=, !=,, =, IS NULL, LIKE, BETWEEN, IN –AND; OR AND/OR: logica a tre valori non stretta (null or true = true stringa LIKE pattern: –_: un carattere; %: 0 o più caratteri; case sensitive a BETWEEN 10 AND 20 a IN (3,5,8): attenzione ai null (semantica bizzarra) NULL = NULL dà NULL, non TRUE. if a then b else c end if esegue c se a è null. Una stringa vuota vale NULL, quindi X = Y dà sempre null se Y è una stringa vuota

FUNZIONI BUILT-IN Numeriche: trigonometriche, logaritmiche, trunc-round- floor-ceil... Char: char, concat, lower, lpad, ltrim, replace, substr, translate, upper; ascii, instr, length Date: add_months, last_day, months_between, next_day, sysdate Conversione NVL(e1,e2): ritorna e1 se non è null, altrimenti e2 user, uid Funzioni di gruppo: –accettano distinct o (default) all –ignorano i null, tranne count(*) –avg, count(*), max, min, stddev, sum, variance

FLUSSO DEL CONTROLLO: IF THEN ELSE IF cond THEN seq of stat; [ELSIF cond THEN seq of stat;]* [ELSE seq of stat;] END IF; I rami then sono valutati solo se la condizione è true; false e null non valutano il then, ma valutano l’else.

LOOP EXIT [WHILE cond] LOOP seq of stat; END LOOP; Per uscire: –Se cond è false-null, non viene (più) eseguito –EXIT –EXIT WHEN cond: uguale a IF cond THEN EXIT END IF Loop etichettati: – > LOOP seq of stat; END LOOP ciclo; –EXIT ciclo: può uscire da più cicli in un colpo FOR ide IN [REVERSE] small..big LOOP.... –se small>big il loop non è eseguito; si può uscire con EXIT –ide è dichiarato implicitamente, è costante, ha il loop come scope

GOTO GOTO label può saltare solo verso l’esterno