¿qué es un lenguaje de programación? • tema 6. sentencias ... · departamento de teoría de la...

12
1 ¿Qué es un Lenguaje de Programación? Tema 3 Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Módulo I: Conceptos Básicos Módulo I: Conceptos Básicos Tema 1. ¿Qué es un ordenador? Tema 2. ¿Cómo se representan los datos en un ordenador? Tema 3. Tema 3. ¿Qu Qué es un lenguaje de programaci es un lenguaje de programación? n? Tema 4. ¿Cómo se hace un programa informático? Tema 5. Tipos de datos y operadores básicos Tema 6. Sentencias de Control Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Tener una perspectiva de la evolución de los lenguajes de Tener una perspectiva de la evolución de los lenguajes de programación programación Distinguir entre lenguajes máquina, ensamblador y de alto nivel. Distinguir entre lenguajes máquina, ensamblador y de alto nivel. Comprender el proceso de creación de un programa Comprender el proceso de creación de un programa Conocimientos y Habilidades Conocimientos y Habilidades Distinguir las diferentes categorías de los lenguajes: Distinguir las diferentes categorías de los lenguajes: procedurales, procedurales, orientado orientado-a-objetos, objetos, funcionales, funcionales, declarativos y declarativos y especiales especiales Después de este tema, el alumno debería ser capaz de: Después de este tema, el alumno debería ser capaz de: Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Cuestiones a resolver Cuestiones a resolver ¿Qué es un programa informático? Evolución de los lenguajes de programación Categorías de los lenguajes Metodologías de programación Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática ¿Qué es un programa (informático)? ¿Qué es un programa ¿Qué es un programa (informático)? (informático)?

Upload: others

Post on 18-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

1

¿Qué es un Lenguaje de

Programación?

Tema 3

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Módulo I: Conceptos BásicosMódulo I: Conceptos Básicos

• Tema 1. ¿Qué es un ordenador?• Tema 2. ¿Cómo se representan los datos en un

ordenador?• Tema 3. Tema 3. ¿¿QuQuéé es un lenguaje de programacies un lenguaje de programacióón?n?• Tema 4. ¿Cómo se hace un programa informático?• Tema 5. Tipos de datos y operadores básicos• Tema 6. Sentencias de Control

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Tener una perspectiva de la evolución de los lenguajes de Tener una perspectiva de la evolución de los lenguajes de programaciónprogramación

Distinguir entre lenguajes máquina, ensamblador y de alto nivel.Distinguir entre lenguajes máquina, ensamblador y de alto nivel.

Comprender el proceso de creación de un programaComprender el proceso de creación de un programa

Conocimientos y HabilidadesConocimientos y Habilidades

Distinguir las diferentes categorías de los lenguajes:Distinguir las diferentes categorías de los lenguajes:procedurales,procedurales, orientadoorientado--aa--objetos,objetos, funcionales,funcionales, declarativos y declarativos y especialesespeciales

Después de este tema, el alumno debería ser capaz de:Después de este tema, el alumno debería ser capaz de:

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Cuestiones a resolverCuestiones a resolver• ¿Qué es un programa informático?

• Evolución de los lenguajes de programación

• Categorías de los lenguajes

• Metodologías de programación

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

¿Qué es un programa (informático)?

¿Qué es un programa ¿Qué es un programa (informático)?(informático)?

Page 2: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

2

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

ProgramaPrograma: Es una colección de : Es una colección de instrucciones que indican instrucciones que indican al ordenador al ordenador

lolo que debe hacer. que debe hacer.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Algoritmo: conjuntoAlgoritmo: conjunto de pasos para de pasos para resolver un resolver un problemaproblema

Muhammad ibn Musa al-Khwarizmi 800 - 847, Baghdad

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

EnEn los programas, los diferentes pasos los programas, los diferentes pasos de un de un algoritmoalgoritmo se expresan como se expresan como

instruccionesinstrucciones, , sentenciassentencias o o proposicionesproposiciones. . un programa consta un programa consta

de una secuencia de instrucciones.de una secuencia de instrucciones.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

ProgramaciónProgramación:: conjunto de conjunto de operaciones que conducen a expresar operaciones que conducen a expresar

un algoritmo en forma de un algoritmo en forma de programaprograma

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje de Programaciónde Programación: "idioma" : "idioma" utilizado para describir programas o utilizado para describir programas o

secuencias de instruccionessecuencias de instrucciones

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Instrucciones BásicasInstrucciones Básicas

Entrada/SalidaEntrada/Salida: transferencia de información entre los : transferencia de información entre los periféricos y la memoria centralperiféricos y la memoria central

AritméticoAritmético--lógicaslógicas: ejecutan operaciones aritméticas y lógicas: ejecutan operaciones aritméticas y lógicas

RepetitivasRepetitivas: permiten la repetición de secuencias de : permiten la repetición de secuencias de instruccionesinstrucciones

SelectivasSelectivas: permiten la selección de tareas alternativas en : permiten la selección de tareas alternativas en función de determinados resultadosfunción de determinados resultados

Page 3: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

3

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Cuestiones a resolverCuestiones a resolver• ¿Qué es un programa informático?

• Evolución de los lenguajes de programación

• Categorías de los lenguajes

• Metodologías de programación

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Evolución de los lenguajes de Evolución de los lenguajes de programaciónprogramación

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programa 'hardware'Programa 'hardware'

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programas en Tarjetas PerforadasProgramas en Tarjetas Perforadas

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Perforadora Eléctrica de Tarjetas Perforadora Eléctrica de Tarjetas PerforadasPerforadas

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programadores de Tarjetas PerforadasProgramadores de Tarjetas Perforadas

Page 4: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

4

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programas de Tarjetas PerforadasProgramas de Tarjetas Perforadas

Modelo A1: Calculadora Electrónica Programada con Tarjetas de IBM (1954)

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programas almacenados en memoriaProgramas almacenados en memoria

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

El único lenguaje que entiende un El único lenguaje que entiende un ordenador es el ordenador es el lenguaje máquinalenguaje máquina..

001010001000101100010001

Recuerda:Recuerda:

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programa almacenado en memoriaPrograma almacenado en memoria

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguaje MáquinaLenguaje Máquina• Está escrito en lenguaje directamente inteligible por la máquina

• Utiliza el alfabeto binario (0 y 1), lo que permite programar con secuencias de unos y ceros (código máquina)

• El conjunto de instrucciones depende de la máquina

• Ventajas: posibilidad de transferir un programa a la memoria sinnecesidad de traducción posterior mayor velocidad

• Inconvenientes: dificultad en la codificación y depuración de los programas; dependencia de la máquina

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

lenguaje máquinalenguaje máquina lenguaje máquinalenguaje máquina

Page 5: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

5

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

00000000 00000100 000000000000000001011110 00001100 11000010 0000000000000010

11101111 00010110 000000000000010111101111 10011110 0000000000001011

11111000 10101101 11011111 000000000001001001100010 11011111 0000000000010101

11101111 00000010 11111011 000000000001011111110100 10101101 11011111 000000000001111000000011 10100010 11011111 000000000010000111101111 00000010 11111011 000000000010010001111110 11110100 1010110111111000 10101110 11000101 000000000010101100000110 10100010 11111011 000000000011000111101111 00000010 11111011 0000000000110100

00000100 000000000011110100000100 0000000000111101

Programa 1Programa 1 ProgramaPrograma enen lenguaje máquinalenguaje máquina1122334455667788991010111112121313141415151616

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Simbólicos: ensambladorLenguajes Simbólicos: ensamblador

• Cada instrucción equivale a una instrucción en lenguaje de máquina

• Utiliza palabras mnemotécnicas en lugar de cadenas o secuencias de bits. Ejemplo: – ADD B,1 instrucción sumar– MOV A,B instrucción asignar (mover)

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

lenguaje máquinalenguaje máquina

lenguaje lenguaje ensambladorensamblador

ensambladorensamblador

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Simbólicos: ensambladorLenguajes Simbólicos: ensamblador

• Necesita traducción• Ventajas: mayo facilidad de codificación• Inconvenientes: dependencia de la máquina,

conocimiento del juego de instrucciones

Programa Fuente:ensamblador

ProgramaENSAMBLADOR

Programa Objeto:código máquina

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Programa almacenado en memoriaPrograma almacenado en memoria

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Entry main, ^m<r2>subl2 #12,spjsb C$MAIN_ARGSmovab $CHAR_STRING_CON

pushal -8(fp)pushal (r2)calls #2,readpushal -12(fp)pushal 3(r2)calls #2,readmull3 -8(fp),-12(fp),-pushal 6(r2)calls #2,printclrl r0ret

ProgramaPrograma 22 ProgramaPrograma enen lenguaje simbólicolenguaje simbólico1122334455667788991010111112121313141415151616

Page 6: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

6

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes de Alto NivelLenguajes de Alto Nivel• Más sencillos de aprender y programar. • Se aproximan al lenguaje natural. • Son independientes de la máquina. • Incluyen rutinas de uso frecuente como son las de

entrada/salida, funciones matemáticas, de manera de que se puedan usar siempre sin necesidad de programarlas cada vez.

• Ejemplos de lenguajes de programación de alto nivel: C/ C++, Fortran, Basic, Pascal, Ada, Prolog, Simula, Modula, Cobol, JAVA, etc.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes de Alto NivelLenguajes de Alto Nivel

• Inconvenientes– Incremento de tiempo de puesta a punto– No se aprovechan al máximo los recursos internos de

la máquina– Aumento de la ocupación de la memoria– Mayor tiempo de ejecución de los programas

• Los programas escritos en lenguajes de alto nivel necesitan ser "traducidos" a lenguaje de máquina.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

TraductoresTraductores

• Traductor: programa que traduce el código fuente de un programa a lenguaje de máquina

• Intérprete: traductor que toma un programa fuente lo traduce y ejecuta línea a línea. Ejemplo: Smaltalk, Prolog.

• Compilador: programa que traduce los programas fuentes escritos en lenguajes de alto nivel a lenguaje de máquina, produciendo un programa objeto.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

lenguaje máquinalenguaje máquina

lenguaje de alto lenguaje de alto nivelnivel

intérpreteintérprete

BASICBASICJAVAJAVA

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

IntérpretesIntérpretes

• Método de operación: cada sentencia encontrada en el texto del programa es traducida a código máquina y ejecuta inmediatamente.

x = 5y = 3

y = x + 2*y

x y======

5 311

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

lenguaje máquinalenguaje máquina

lenguaje de alto lenguaje de alto nivelnivel

compiladorcompilador

C, C++C, C++JAVAJAVA

Pastel deCarne

"libro de recetas""libro de recetas"

Page 7: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

7

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

CompiladoresCompiladores

• Método de operación: el programa completo Ap (lenguaje de alto nivel) se traduce a un lenguaje intermedio (similar al ensamblador) As, y después se traduce a código máquina, Am

#include <stdio.h>int main(){

if (c>0) cnt++;….

}

0111000011010000

load ax, bxStore ax, bx….

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Construcción de unConstrucción de un programaprograma

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Ejecución de un ProgramaEjecución de un Programa

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Cuestiones a resolverCuestiones a resolver• ¿Qué es un programa informático?

• Evolución de los lenguajes de programación

• Categorías de los lenguajes

• Metodologías de programación

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Categorías de lenguajesCategorías de lenguajes

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Lenguajes procedurales o imperativosprocedurales o imperativos

• Lenguajes máquina, FORTRAN, COBOL• ALGOL, BASIC, C,C, PASCAL, ADA• Los lenguajes imperativos usan secuencias,

elección e iteración para escribir programas que le dicen a la máquina cómo realizar una tarea

Page 8: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

8

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Lenguajes procedurales o imperativos(II)procedurales o imperativos(II)

• Las instrucciones se ejecutan normalmente en orden secuencial, en el mismo orden en que están escritas, que sólo varía cuando se alcanza una instrucción de control (un bucle, una instrucción condicional o una transferencia).

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje CC

• C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bellbasándose en los lenguajes BCPL y B.

• Al igual que sus dos predecesores, es un lenguaje orientado a la implementación de Sistemas Operativos (los sistemas operativos Linux y UNIX están escritos mayormente en C), pero se ha convertido en un lenguaje de propósito general de los más usados.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje CC

• Se trata de un lenguaje no fuertemente tipado de medio nivel pero con muchas características de bajo nivel.

• Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Un ejemplo es la posibilidad de mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje CC

• Destaca su gran riqueza de operadores y expresiones.

• Existe un estándar ISO de 1986 denominado ANSI C. En teoría, un lenguaje 100% ANSI C sería portable entre plataformas y/o arquitecturas pero en la práctica esto no es siempre cierto.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

#include <stdio.h>/* Entrada / salida estándar */ int main(void){

puts("¡Hola, Mundo!"); return 0;

}

ProgramaPrograma enen CC112233445566778899101011111212131314141515161617171818

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Lenguajes OrientadosOrientados a Objetoa Objeto

• SIMULA Smalltalk C++ Java• Los lenguajes orientados a objeto obligan al

programador a concentrar la información en tipos de datos abstractos.

• Esto se hace asociando código imperativo con variables (llamadas objetosobjetos) y teniendo una jerarquía de tipos de variables (llamadas clasesclases).

Page 9: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

9

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje C++C++

• C++ (pronunciado /ce.mas.más/, o /si.plas.plás/) es un lenguaje de programación, diseñado a mediados de los ochenta, por Bjarne Stroustrup, como extensión del lenguaje de programación C.

• Es un lenguaje híbrido, que se puede compilar y resulta más sencillo de aprender para los programadores que ya conocen C.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

LenguajeLenguaje C++C++

• Las principales características del C++ son:– abstracción (encapsulación)– el soporte para programación orientada a objetos (polimorfismo)– el soporte de plantillas o programación genérica (Templates)

• C++ es un lenguaje que abarca tres paradigmas de la programación:– La programación estructurada, – la programación genérica y – la programación orientada a objetos.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

/* Este programa lee dos enteros del teclado e imprime su producto.*/ #include <iostream.h>

int main (void){// Declaraciones locales

int numero1;int numero2;int result;

// Sentenciascin >> numero1;cin >> numero2;result = numero1 * numero2;cout << result;return 0;

} // main

ProgramaPrograma enen lenguaje C++lenguaje C++112233445566778899101011111212131314141515161617171818

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

import javax.swing.JFrame; import javax.swing.JLabel; public class HolaMundo extends JFrame {

public static void main(String[] args) { System.out.println("Vamos a crear una ventana que salude al mundo.");new HolaMundo();

} public HolaMundo() {

super("Prueba de Java"); // creo la etiquetaJLabel etiqueta = new JLabel("¡Hola, Mundo!");etiqueta.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); getContentPane().add(etiqueta);setSize(400,200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true); setResizable(false);

}}

ProgramaPrograma enen JAVAJAVA112233445566778899101011111212131314141515161617171818

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes Lenguajes FuncionalesFuncionales

• LISP

• Los lenguajes funcionales no tienen variables y usan recursión para realizar cálculos

• El elemento fundamental en Lisp es la lista, en el sentido más amplio del término, pues tanto los datos como los programas son listas.

• De ahí viene su nombre, pues Lisp es un acrónimo de "LIStProcessing".

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes DeclarativosLenguajes Declarativos

• PROLOG• Un lenguaje de programación declarativa está

basado en un subconjunto de lógica matemática• El ordenador es programado para inferir reglas ntre

valores en lugar de para calcular valores de salida a partir de datos de entrada.

• Los programas componen de cláusulas que constituyen reglas del tipo "Si es verdad el antecendente, entonces es verdad el consecuente".

Page 10: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

10

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

%%%% declaraciones%%padrede('juan', 'maria'). % juan es padre de mariapadrede('pablo', 'juan'). % pablo es padre de juan padrede('pablo', 'marcela'). padrede('carlos', 'debora'). % A es hijo de B si B es padre de Ahijode(A,B) :- padrede(B,A).% A es abuelo de B si A es padre de C y C es padre Babuelode(A,B) :-

padrede(A,C), padrede(C, B).

% A y B son hermanos si el padre de A es también el padre de B y si A y B no son lo mismo

hermanode(A,B) :-padrede(C,A) , padrede(C,B), A \== B.

ProgramaPrograma 44 ProgramaPrograma enen PROLOGPROLOG112233445566778899101011111212131314141515161617171818

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Otros lenguajesOtros lenguajes

• HTML

• PHP

• Javascript

• JSP (Java Server Pages)• ....

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Lenguajes DeclarativosLenguajes Declarativos

• El HTML, acrónimo inglés de Hypertext Markup Language (lenguaje de marcación de hipertexto), es un lenguaje de marcas diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas web.

<html><head>

<title>Ejemplo</title></head><body>

¡Hola Mundo! </body></html>

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

<html><head><title>Ejemplo</title></head><body><?phpif (isset($_POST['muestra'])) {echo 'Hola, '.htmlentities($_POST['nombre']) .', tu comida favorita es:'. htmlentities($_POST['comida']);

} else {?> <form method="POST" action="?">¿Cuál es tu nombre? <input type="text" name="nombre"/> ¿Cuál es tu comida favorita? <select name="comida"> <option>Spaghetti</option> <option>Asado</option> <option>Pizza</option> </select> <input type="submit" name="muestra" value="Seguir"> </form> <?php} ?> </body> </html>

ProgramaPrograma enen PHPPHP112233445566778899101011111212131314141515161617171818

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Cuestiones a resolverCuestiones a resolver• ¿Qué es un programa informático?

• Evolución de los lenguajes de programación

• Categorías de los lenguajes

• Metodologías de programación

Page 11: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

11

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

METODOLOGIAS DE DESARROLLO DE SOFTWARE4.018

GENERACIONES DE METODOLOGÍA GENERACIONES DE METODOLOGÍA

Desarrollo Convencional (Sin Metodología) .Desarrollo Estructurado.Desarrollo Orientado a Objetos.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

METODOLOGIAS DE DESARROLLO DE SOFTWARE4.020

DESARROLLO CONVENCIONALDESARROLLO CONVENCIONAL

Los resultados finales son impredecibles

No hay forma de controlar lo que está sucediendo en el Proyecto

Los cambios organizativos afectan negativamenteal proceso de desarrollo

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

DESARROLLO ESTRUCTURADODESARROLLO ESTRUCTURADO

Programación estructurada

Diseño estructurado

Análisis estructurado

Especificaciones funcionales:

GráficasParticionadasMínimamente redundantes

4.030METODOLOGIAS DE DESARROLLO DE SOFTWARE

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

DESARROLLO ORIENTADO AL OBJETODESARROLLO ORIENTADO AL OBJETO

4.050METODOLOGIAS DE DESARROLLO DE SOFTWARE

La esencia del desarrollo orientado a objetos es la identificación y organización de conceptos del

dominio de la aplicación y no tanto de su representación final en un lenguaje de

programación.

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

CLASIFICACION DE LAS METODOLOGIASCLASIFICACION DE LAS METODOLOGIAS

METODOLOGIAS DE DESARROLLO DE SOFTWARE4.080

EstructuradasOrientadas a Procesos

Orientadas a datos

Jerárquicas

No Jerárquicas

Mixtas

Orientadas a Objetos

Para Sistemas de Tiempo Real

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

CLASIFICACION DE LAS METODOLOGIASCLASIFICACION DE LAS METODOLOGIAS

METODOLOGIAS DE DESARROLLO DE SOFTWARE4.080

EstructuradasOrientadas a Procesos

Orientadas a datos

Jerárquicas

No Jerárquicas

Mixtas

Orientadas a Objetos

Para Sistemas de Tiempo Real

Page 12: ¿Qué es un Lenguaje de Programación? • Tema 6. Sentencias ... · Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática Programa: Es una colección de

12

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

METODOLOGIAS ESTRUCTURADASMETODOLOGIAS ESTRUCTURADAS

4.090METODOLOGIAS DE DESARROLLO DE SOFTWARE

METODOLOGIAS ORIENTADAS A PROCESOS

• Especificación estructurada:

3Diagramas de Flujo de Datos

3Diccionario de Datos

3Especificaciones de procesos

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

METODOLOGIAS ESTRUCTURADASMETODOLOGIAS ESTRUCTURADAS

4.120METODOLOGIAS DE DESARROLLO DE SOFTWARE

METODOLOGIAS ORIENTADAS A DATOS JERARQUICOS

• La estructura de control del programa debe ser jerárquica y sedebe derivar de la estructura de datos del programa

• El proceso de diseño consiste en definir primero las estructurasde los datos de entrada y salida, mezclarlas todas en una estructura jerárquica de programa y después ordenardetalladamente la lógica procedimental para que se ajuste aesta estructura

• El diseño lógico debe preceder y estar separado del diseño físico

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

METODOLOGIAS PARA SISTEMAS DE TIEMPO REALMETODOLOGIAS PARA SISTEMAS DE TIEMPO REAL

4.150METODOLOGIAS DE DESARROLLO DE SOFTWARE

Manejo de interrupcionesComunicación y sincronización entre tareasGestión de procesos concurrentesRespuesta oportuna ante eventos externosDatos continuos o discretos

Se está produciendo una evolución de las metodologías orientadas a objetos para desarrollos de sistemas de tiempo real

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

ResumenResumen• ¿Qué es un programa informático?

• Evolución de los lenguajes de programación

• Categorías de los lenguajes

• Metodologías de programación

Departamento de Teoría de la Señal y Comunicaciones e Ingeniería Telemática

ProximamenteProximamente……

¿Cómo se hace un Programa

Informático?