24
Contribucions Matemàtiques a la Programació d'Ordinadors MÀSTER UNIVERSITARI FORMACIÓ DEL PROFESSORAT 10697 – C1: EL CONTINGUT CIENTÍFIC DE LES MATEMÀTIQUES PERE MIQUEL ROSSELLÓ ESPASES – FEBRER 2016

Contribucions matemàtiques a la programació d'ordinadors

Embed Size (px)

Citation preview

Page 1: Contribucions matemàtiques a la programació d'ordinadors

Contribucions Matemàtiques a la Programació d'Ordinadors

MÀSTER UNIVERSITARIFORMACIÓ DEL PROFESSORAT

10697 – C1: EL CONTINGUT CIENTÍFIC DE LES MATEMÀTIQUES

PERE MIQUEL ROSSELLÓ ESPASES – FEBRER 2016

Page 2: Contribucions matemàtiques a la programació d'ordinadors

Informàtica i Matemàtiques

Els ordinadors ajudaven als matemàtics a resoldre problemes gràcies entre altres coses a la seva gran capacitat de càlcul i automatització, i la informàtica necessitava dels matemàtics i els seus càlculs, estructures i procediments o algorismes per a la construcció dels sistemes informàtics.

Page 3: Contribucions matemàtiques a la programació d'ordinadors

Llenguatges de programació

Page 4: Contribucions matemàtiques a la programació d'ordinadors

Paradigmes de programació• Un paradigma de programació és una

proposta tecnològica adoptada per una comunitat de programadors i desenvolupadors que té un nucli central inqüestionable ja que únicament tracta de resoldre un o varis problemes clarament delimitats

Page 5: Contribucions matemàtiques a la programació d'ordinadors

Paradigmes de programació

Page 6: Contribucions matemàtiques a la programació d'ordinadors

Programació imperativa• Màquina de Turing

Page 7: Contribucions matemàtiques a la programació d'ordinadors

Programació Orientada a Objectes

• Tradicionalment, les dades i el processament s'han separat en àrees diferents del disseny i la implementació del programari, la qual cosa provocà que grans desenvolupaments tenguessin problemes de fiabilitat, de manteniment, d'adaptació als canvis i escalabilitat.

• La OO es basa en la unió de les dades (variables) i el processament (funcions) en una entitat anomenada "objecte" que es pot relacionar amb altres objectes i que juntament amb característiques com l'encapsulat, el polimorfisme o l’herència, va permetre un avanç significatiu en el desenvolupament del programari

Page 8: Contribucions matemàtiques a la programació d'ordinadors

Programació declarativa• Càlcul Lambda

Page 9: Contribucions matemàtiques a la programació d'ordinadors

Programació declarativa• Els podem classificar en: els lògics com

el Prolog, els algebraics com el Maude o l'SQL i els funcionals com l'Scheme

• El gran avantatge d'aquests llenguatges és que són raonaments matemàticament, la qual cosa permet l'ús de mecanismes matemàtics per optimitzar el rendiment dels programes, a més a més de fer-los fiables, elegants i expressius.

Page 10: Contribucions matemàtiques a la programació d'ordinadors

SQL: Structured Query Language

• L’SQL és un llenguatge declaratiu d'alt nivell o de no procediment que, gracies a la seva forta base teòrica i la seva orientació al maneig de conjunts de registres, i no a registres individuals, permet una alta productivitat en codificació i la orientació a objectes.

• Fa servir àlgebra i càlcul relacional.

Page 11: Contribucions matemàtiques a la programació d'ordinadors

Model relacional

Page 12: Contribucions matemàtiques a la programació d'ordinadors

SQL: Structured Query Language

• L’SQL és el llenguatge universal pels diferents motors de bases de dades relacionals que actualment tenim al mercat. Des del DB2 d’IBM al Microsoft SQL Server i el seu germà petit l’Access, passant per l’Oracle , l’Interbase, o el MySQL que és un programari lliure.

Page 13: Contribucions matemàtiques a la programació d'ordinadors

Bases de dades relacionals

Page 14: Contribucions matemàtiques a la programació d'ordinadors

SQL: Característiques• Llenguatge de definició de dades.• Llenguatge de manipulació de dades.• Integritat: El LDD d’SQL inclou comandaments per especificar les

restriccions d’integritat que han de complir les dades emmagatzemades en la base de dades.

• Definició de vistas: El LDD inclou comandaments per definir les vistes.

• Control de transaccions: SQL tiene comandaments per especificar el començament i el final d’una transacció.

• SQL incorporat i dinàmic: Això vol dir que es poden incorporar instruccions d’SQL en llenguatges de programació como: C++, C, Java, PHP, Cobol, Pascal y Fortran.

• Autorització: El LDD inclou comandaments per especificar els drets d’’accés a les relaciones i a les vistes.

Page 15: Contribucions matemàtiques a la programació d'ordinadors

Llenguatges utilitzatsDDL, Data Design Language DML, Data Manipulation Language

Page 16: Contribucions matemàtiques a la programació d'ordinadors

Exemples de sentències

Page 17: Contribucions matemàtiques a la programació d'ordinadors

Exemple d’utilització

Page 18: Contribucions matemàtiques a la programació d'ordinadors

Exemple d’utilització

Page 19: Contribucions matemàtiques a la programació d'ordinadors

Exemple d’utilització

Page 20: Contribucions matemàtiques a la programació d'ordinadors

Exemples d’utilització• SELECT HOGAR_SP.isla, HOGAR_SP.tper• FROM HOGAR_SP;

Page 21: Contribucions matemàtiques a la programació d'ordinadors

Exemples d’utilització• SELECT ...• WHERE (((HOGAR_SP.isla)=1));

Page 22: Contribucions matemàtiques a la programació d'ordinadors

Exemples d’utilització• SELECT ...• GROUP BY HOGAR_SP.tper;

Page 23: Contribucions matemàtiques a la programació d'ordinadors

Exemples d’utilització• SELECT ...• HAVING (((HOGAR_SP.isla)=1));

Page 24: Contribucions matemàtiques a la programació d'ordinadors

Exemples d’utilització• SELECT HOGAR_SP.isla, HOGAR_SP.tper,

Count(HOGAR_SP.ID) AS CuentaDeID ...