Sie sind auf Seite 1von 22

¿Qué es un programa?

Es conjunto de instrucciones convenientemente

ordenadas que indican al ordenador qué procesos y tareas debe seguir. Cada una de las instrucciones tiene un función específica y está escrita en un lenguaje que el ordenador

entiende.

Cada instrucción es un conjunto de bytes.

Ejemplos de instrucciones:

Leer un dato del teclado.

Guardar un dato en la memoria.

Ejecutar una operación sobre dos datos.

Mostrar un dato en la pantalla.

etc.

Lenguajes de programación

Lenguajes de programación  Constituyen sistemas de palabras-órdenes (lengua o idioma), ya establecidos. 

Constituyen sistemas de palabras-órdenes (lengua o idioma), ya establecidos.

Comprensibles tanto por el programador como por la

máquina,

Permiten desarrollar programas

El nivel de un lenguaje hace

referencia a su proximidad

al lenguaje natural.

Lenguajes de programación

Lenguajes de bajo nivel o de máquina:

Es el que utiliza el ordenador, el que la máquina entiende,

basado en un sistema binario (de 0 y 1). Son difíciles de

aprender y manejar, ya que no resultan cercanos al ser humanos, pero son rápidos ya que evitan las traducciones intermedias. Fueron los primeros en aparecer, entre ellos tenemos:

Lenguajes máquina: Secuencias de instrucciones compuestas de bytes.

Lenguajes ensamblador: Secuencias de instrucciones

compuestas de palabras cortas y números (LOD 15 6, ADD 15 16

17)

Lenguajes de alto nivel: Son más fáciles de aprender y permiten despreocuparse de la arquitectura del ordenador.

Generacion de los Lenguajes de Programación

Primera generación: Lenguajes máquina.

Segunda

generación: Ayudas a

la

ensambladores.

programación,

como

los

Tercera generación: Lenguajes de alto nivel imperativos, que siguen vigentes en la actualidad, como Pascal, Modula2, Fortran, Cobol, C y Ada.

Cuarta generación: Lenguajes o entornos de programación

orientados básicamente a aplicaciones de gestión y bases de datos,

como SQL, Natural, etc.

Quinta generación: Lenguajes

orientados

a

aplicaciones

en

Inteligencia Artificial, como Lisp y Prolog.

Lenguajes de programación:

¿Por qué hay tantos?

¿Cómo nacen, sobreviven y caducan?

1. Diferentes dominios de aplicación:

Programación de sistemas rapidez y acceso de bajo nivel: C

Inteligencia artificial computación simbólica:

LISP, Prolog

Programación científica fórmulas matemáticas:

Fortran

Negocios transacciones: COBOL

Uso específico: SQL (bases de datos), Perl (manipulación de textos), JavaScript (páginas

web), Pascal (formación)

Lenguajes de programación:

¿Por qué hay tantos?

¿Cómo nacen, sobreviven y caducan?

2. Diferentes necesidades:

Fiabilidad: Ada

Escabilidad, paradigma orientado a objeto: C , C++

Portabilidad: Java

3. Evolución:

Mejora del hardware

Mejor comprensión de como reforzar criterios de

legibilidad, facilidad de aprender y escribir,

fiabilidad…

4. Importancia de la estandardización

5. ¡Número de usuarios!

Traductores de lenguaje:

intérpretes

PROGRAMA FUENTE

Traductores de lenguaje: intérpretes PROGRAMA FUENTE EJECUCION DE LA(S) INSTRUCCION(ES) INTERPRETADA(S)  Se
EJECUCION DE LA(S) INSTRUCCION(ES) INTERPRETADA(S)
EJECUCION DE LA(S)
INSTRUCCION(ES)
INTERPRETADA(S)

Se encargan de realizar la

traducción instrucción a

instrucción a la vez que se ejecuta el programa.

Son más lentos, pero

mejores cuando el proceso de traducción/ejecución se realiza en repetidas ocasiones, por lo que son

más adecuados para

principiantes.

Traductores de lenguaje:

PROGRAMA FUENTE

Traductores de lenguaje: PROGRAMA FUENTE EJECUCION compiladores  Traducen el programa entero y luego lo montan
Traductores de lenguaje: PROGRAMA FUENTE EJECUCION compiladores  Traducen el programa entero y luego lo montan

EJECUCION

compiladores

Traducen el programa

entero y luego lo montan

generando un programa

ejecutable por si sólo.

Una vez compilado el programa, el compilador no tiene porque estar presente, pudiéndose transportar el programa ejecutable a cualquier ordenador, sin necesidad de manejar el compilador.

Traductores de lenguaje:

compiladores

OPCION 1

Traductores de lenguaje: compiladores OPCION 1 PROGRAMA FUENTE EJECUCION Fase de compilación programa ejecutable Fase de
Traductores de lenguaje: compiladores OPCION 1 PROGRAMA FUENTE EJECUCION Fase de compilación programa ejecutable Fase de

PROGRAMA FUENTE

de lenguaje: compiladores OPCION 1 PROGRAMA FUENTE EJECUCION Fase de compilación programa ejecutable Fase de
de lenguaje: compiladores OPCION 1 PROGRAMA FUENTE EJECUCION Fase de compilación programa ejecutable Fase de

EJECUCION

Fase de compilación

programa

ejecutable

Fase de ejecución

Fase de compilación programa ejecutable Fase de ejecución OPCION 2 Fase de compilación programa objeto Fase

OPCION 2

Fase de compilación

programa

objeto

Fase de ejecución

El método general de programación es:

PROBLEMA Análisis y resolución INFORME ALGORÍTMICO Codificación PROGRAMA
PROBLEMA
Análisis y
resolución
INFORME
ALGORÍTMICO
Codificación
PROGRAMA
1. PROBLEMA: actividad que no sabemos cómo llevar a cabo 2. INFORME ALGORITMICO: la actividad
1. PROBLEMA: actividad que no sabemos
cómo llevar a cabo
2. INFORME ALGORITMICO: la actividad
se analiza en busca de la forma de
resolución. El resultado se plasma en un
informe que contiene:
a.
La descripción de la tarea y la
enumeración de los objetivos a
conseguir
b.
El procedimiento empleado
c.
Los recursos y elementos necesarios
d.
El algoritmo (la secuencia en la que
hay que realizar cada una de las
operaciones)
3. PROGRAMA: el algoritmo, traducido a un
lenguaje de programación específico, se
convierte en un programa que el
ordenador puede ejecutar
10

¿Qué es un algoritmo?

Un esquema para resolver cierto tipo de problema, mediante una serie de pasos precisos, definidos y finitos.

Componentes:

Entrada: datos del problema a resolver Salida: el resultado de la resolución

Proceso: pasos a seguir para la resolución

¿Qué es un algoritmo?

Propiedades:

Preciso: orden estricto + expresiones precisas

Definido: con la misma entrada, siempre resulta

la misma salida

Finito: número finito de pasos

Pasos

ordenador:

para

la

resolución

de

un

problema

con

1.

Diseño de un algoritmo

2.

Codificación de un programa

3.

Ejecución y validación

4.

Verificación y depuración

5.

Documentación y mantenimiento

1. Diseño del algoritmo

Proceso que convierte los resultados del análisis del

problema en un diseño modular con refinamientos

sucesivos que permita una posterior traducción a un lenguaje.

Las herramientas más utilizadas para diseñar algoritmos son:

a. Diagramas de flujo: representación gráfica del algoritmo.

b. Pseudocódigo: las instrucciones se escriben en palabra que facilita tanto la escritura como la

lectura de programas.

Ejemplo:

Problema: Sumar dos números Solución:

Entrada: dos números

Salida: guardar la suma en la memoria y imprimirla por pantalla Proceso:

1) Añadir los dos números 2) Guardar el resultado en la memoria 3) Imprimir el resultado por pantalla

a. Diagramas de flujo:

INICIO
INICIO
NUM 1, NUM2
NUM 1, NUM2
SUMA = NUM2+ NUM2
SUMA = NUM2+ NUM2
SUMA
SUMA
FIN
FIN

b. Pseudocódigo:

INICIO {entrada de datos} borrar la pantalla

introducir NUMERO 1

introducir NUMERO 2

hacer SUMA = NUMERO 1 + NUMERO 2

{presentacion de resultados} visualizar SUMA

FIN

2. Códificación de un programa

Es la traducción del algoritmo en un lenguaje de programación, en nuestro caso en C++

//Codificado por: Ing. Ricardo Martínez

/*Código Fuente: Calcula las suma de dos nùmero dados*/ #include <iostream>

#include <math.h>

int main()

{

float suma,num1,num2; printf("Ingrese el primer valor:");

scanf("%f",&num1);

printf("Ingrese el segundo valor:");

scanf("%f",&num2);

suma=num1 + num2;

printf("La suma de estos dos números es: %f\n", suma);

return 0;

}

3. Compilación y ejecución

Compilar: Es traducirlo al lenguaje máquina. Este

proceso se realiza mediante el compilador y el sistema

operativo

Compilation results

--------

- Errors: 0

- Warnings: 0

- Output Filename: C:\Users\Ricardo Martinez\Documents\suma.exe

- Output Size: 1.36247158050537 MiB

- Compilation Time: 4.48s

Ejecutar: Es realizar la corrida del programa:

Ejecutar: Es realizar la corrida del programa: 4. Verificación y depuración Verificar: Es ejecutar el programa

4. Verificación y depuración

Verificar: Es ejecutar el programa con una amplia

variedad de datos de prueba para determinar si el programa tiene errores.

Depurar: Es el proceso de encontrar los errores del

programa y corregirlos.

a. Errores de

sintaxis: uso incorrecto de las

reglas del lenguaje de programación

b. Errores de ejecución (semántica): se producen

por instrucciones que el ordenador puede

comprender pero no ejecutar (por ejemplo, dividir por cero)

c. Errores lógicos: se producen en la lógica del

programa. La fuente de error suele ser el diseño

del algoritmo

Sintaxis (gramática): reglas que determinan de

manera estricta el vocabulario, orden y formato de

las instrucciones permitidas. Errores sintácticos: el programa no compila y/o no se puede interpretar.

ejecutarlo,

Semántica

(sentido): el

al

programa,

produce el resultado correcto que uno quiere.

5. Documentación y mantenimiento

Descripciones de los pasos a dar en el proceso de

resolución de un problema.

Puede ser interna o externa.

La documentación interna es la contenida en la línea de comandos (por ejemplo, líneas rem REM comment).

La documentación externa incluye el análisis, los diagramas de flujo y/o pseudocódigos, manuales de usuario con instrucciones para ejecutar el programa y analizar los resultados.

La documentación es muy importante cuando se desea corregir posibles errores futuros o cambiar el programa.

Tales

programa.

cambios

se

denominan

mantenimiento

del