Вы находитесь на странице: 1из 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. 1
Lenguajes de programación

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.

2
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)

3
• 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 programación, como los
ensambladores.
• Tercera generación: Lenguajes de alto nivel imperativos, que siguen
vigentes en la actualidad, como Pascal, Modula• 2, 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.
4
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)

5
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!
6
Traductores de lenguaje:
intérpretes

PROGRAMA FUENTE
 Se encargan de realizar la
traducción instrucción a
instrucción a la vez que se
ejecuta el programa.
INTERPRETE
 Son más lentos, pero
mejores cuando el proceso
de traducción/ejecución se
EJECUCION DE LA(S) realiza en repetidas
INSTRUCCION(ES) ocasiones, por lo que son
INTERPRETADA(S) más adecuados para
principiantes.
7
Traductores de lenguaje:
compiladores

PROGRAMA FUENTE  Traducen el programa


entero y luego lo montan
generando un programa
COMPILADOR
ejecutable por si sólo.
 Una vez compilado el
ENLAZADOR programa, el compilador no
(binder, linker) tiene porque estar
presente, pudiéndose
transportar el programa
ejecutable a cualquier
ordenador, sin necesidad
EJECUCION
de manejar el compilador.
8
Traductores de lenguaje:
compiladores
OPCION 1 OPCION 2
PROGRAMA FUENTE
Fase de compilación

Fase de compilación COMPILADOR


programa
ENLAZADOR objeto
programa
ejecutable (binder, linker)
Fase de ejecución

Fase de ejecución
EJECUCION

9
El método general de programación es:
1. PROBLEMA: actividad que no sabemos
PROBLEMA cómo llevar a cabo

2. INFORME ALGORITMICO: la actividad


Análisis y se analiza en busca de la forma de
resolución 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
INFORME conseguir
ALGORÍTMICO b. El procedimiento empleado
c. Los recursos y elementos necesarios
d. El algoritmo (la secuencia en la que
Codificación
hay que realizar cada una de las
operaciones)

3. PROGRAMA: el algoritmo, traducido a un


lenguaje de programación específico, se
PROGRAMA
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

11
¿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 para la resolución de un problema con


ordenador:
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
12
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.
13
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

14
a. Diagramas de flujo:

INICIO

NUM 1, NUM2

SUMA = NUM2+ NUM2

SUMA

FIN

15
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

16
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;
}
17
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

18
Ejecutar: Es realizar la corrida del 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.
19
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.
• Semántica (sentido): el programa, al ejecutarlo,
produce el resultado correcto que uno quiere.
20
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.

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

Tales cambios se denominan mantenimiento del


programa.

22

Вам также может понравиться