Semantica programelor

Curs
7/10 (1 vot)
Conține 1 fișier: ppt
Pagini : 22 în total
Mărime: 22.99KB (arhivat)
Publicat de: Casandra Crețu
Puncte necesare: 0

Extras din curs

Specificarea limbajelor de programare:

Sintaxa (structura (forma) programelor)

Specificare neformalizată (limbaj natural)

Specificare formalizată (gramatici generative Chomsky independente de context în notaţia Backus-Naur Form)

Semantica (semnificaţia programelor)

Specificare neformalizată (limbaj natural):

explicare intuitivă a semnificaţiei programelor

predispusă la ambiguitate, inconsistenţă şi incompletitudine

Nu oferă suport riguros pentru:

Implementarea limbajelor de programare (automatizarea procesului de scriere a compilatoarelor)

Raţionamente despre proprietăţile programelor şi ale limbajelor

Specificare formalizată (definiţii matematice): însoţeşte, dar nu inlocuieşte prezentarea neformalizată

Semantică operaţională

Semantică denotaţională

Semantică axiomatică (propoziţională)

etc.

Sintaxa (notaţie BNF) S ::== skip | V:= E | S;S| if B then S else S fi | while B do S od

Abreviere: if B then S fi ≡ if B then S else skip fi

Observaţie: Sintaxa nu este ambiguă (problema dangling else este eliminată prin prezenţa cuvântului cheie fi): if b1 then if b2 then S1 fi else S2 fi sau if b1 then if b2 then S1 else S2 fi fi

Hennessy şi Plotkin, 1979

Limbajul expresiilor şi al aserţiunilor

Tipuri

Tipuri de bază: integer, (nume de tip, nu mulţime concretă!) Boolean, mulţimea {true, false}; elementele mulţimii nu au (încă) o semnificaţie.

Tipuri de ordin superior: (T1 x...Tn → T), unde Ti ,T sunt tipuri de bază: Ti tipuri de argumente iar T tipul valorilor.

Alfabet

Var, mulţimea variabilelor Fiecare variabilă are asociat un tip (poate lua valori numai din tipul asociat)

Simple (tipul asociat este tip de bază)

Tablouri (tipul asociat este un tip de ordin superior): valoarea unui tablou este o funcţie.

Constante (un tip asociat şi o valoare fixată)

de tip de bază: constante întregi ( 0, -1,1,-2,2...) sau logice (true, false)

de tip superior (au ca valoare o funcţie fixată)

Simboluri relaţionale: codomeniul este Boolean =,<: W x W→ Boolean, unde W este tip de bază divide:integer x integer → Boolean ⋀,∨, →,↔:Boolean x Boolean → Boolean (conectori logici) ⌉ : Boolean → Boolean

Simboluri de funcţii (codomeniul integer) +,-,min,max,div,mod: integer x integer → integer

Parantezele (,),[,]

Semne de punctuaţie (punct, două puncte, virgula)

Conținut arhivă zip

  • Semantica Programelor.ppt

Alții au mai descărcat și

Familiarizarea cu pachetul mathematica - efectuarea calculelor și construirea graficelor funcțiilor cu o variabilă și două variabile cu ajutorul funcțiilor pachetului mathematica

Scopul lucrării de laborator: De studiat sistemul Mathematica şi particularităţile documentelor create cu ajutorul sistemului. Familiarizarea cu...

Liste Alocate Dinamic

#include <stdio.h> #include <malloc.h> struct lista{ int info_util; lista *next;}; void afisare(lista *l) { while (l)...

Programare

//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop...

Probleme Rezolvate

#include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 30 int main(void) { char nume[MAX]; char...

Teme Algoritmi și Programare

//secv cea mai lg de elem egale #include<stdio.h> void main() {int n, i, contor, contor_max, poz,poz_max ; float a[100]; FILE...

Temă 4 algoritmi și programe

#include <stdio.h> #include "digraf.h" void creeaza(Digraf *g,char *fis) {FILE *f; int i,j,aux; f=fopen(fis,"rt"); fscanf(f,"%d",&aux);...

Studenți

#include<stdio.h> #include<string.h> #include<alloc.h> #include<conio.h> #include<float.h> struct tipstud { int cm; char nume[20]; char...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Te-ar putea interesa și

Modelarea unui sistem informatic pentru interacțiunea dintre un magazin virtual și clienții săi prin metoda UML

INTRODUCERE UML (Unified Modelling Language) reprezintă un limbaj vizual de modelare folositor în domeniul software, dedicat construirii...

Numere Prime și Baze Numerice

Argument Un limbaj de programare este un set bine definit de expresii și reguli (sau tehnici) valide de formulare a instrucțiunilor pentru un...

Translator Bison

Un compilator este un program traducător ce transformă programe scrise într-un limbaj sursă în echivalentele lor scrise într-un limbaj obiect....

Cunoașterea psihologică a persoanei

1. Utilizarea computerului in psihologia aplicata Cei care activeaza in domeniul stiintelor sociale trebuie sa posede urmatoarele abilitati: a) A...

Programarea Calculatoarelor

Curs 1 Program informatic Prin program informatic se intelege o succesiune logica de expresii numite instructiuni destinate executarilor de catre...

Conceptele Fundamentale ale Limbajelor de Programare

INTRODUCERE Obiectul disciplinei: limbajele de programare Obiective: · Studiul conceptelor fundamentale care stau la baza proiectării...

Programare HTML și XML

CAPITOLUL I NOTIUNI GENERALE [13, 28, 78, 77] 1.1 INTERNET Internet-ul, sau reteaua mondială de calculatotore, reprezintă un puternic instrument...

Limbaje de Programare

1. Definirea şi clasificarea limbajelor de programare Limba (DEX) – sistem de comunicare alcătuit din sunete articulate, specifice omului, prin...

Ai nevoie de altceva?