Title: Tema 6. Introducci
1Tema 6. Introducción a la programación
- 1 Conceptos básicos
- 2 Los algoritmos
- Concepto de algoritmo. Descripción de algoritmos
- Estructuras básicas secuencia, condición,
iteración - Refinamiento por pasos sucesivos (top-down).
- Modularidad
- 3 Los lenguajes de programación
- Motivación y concepto. Ventajas de los LP de alto
nivel - Clasificación de los LP. Ejemplos de LP de alto
nivel - 4 La traducción
- Introducción. Compilación. Interpretación
- Comparación entre ambos métodos
2Tema 6. Introducción a la programación. Conceptos
básicos
- Uso del ordenador para resolver problemas más o
menos complejos. Pero el ordenador sólo realiza
operaciones sencillas (aritméticas,
comparaciones, almacenar y transferir datos...) - Instrucción sentencia, orden. Ej. x 2 y
- de entrada de datos (y recuperación)
- operaciones sobre los datos (manipulación)
- de salida (presentación) de resultados y
almacenamiento - Programa lista de instrucciones. Descripción de
pasos a dar para resolver un problema. El
programa (software) dirige el funcionamiento del
ordenador (hardware).
3Tema 6. Introducción a la programación. Los
algoritmos
- Algoritmo descripción exacta no ambigua de la
secuencia de pasos a aplicar para encontrar una
solución a un problema a partir de unos datos.
Método de resolución general de un problema. - Ej. receta de cocina.
- Para programar hay que analizar el problema y
diseñar una estrategia de resolución. Hay que
contemplar todas las alternativas lógicas
posibles (no dejar cabos sueltos). - Problema ? Algoritmo ? Programa
- Programa la codificación de un algoritmo en un
lenguaje de programación concreto. - Características completo, no ambiguo, finito
(tiempo)
4Tema 6. Introduc. a la programación. Los
algoritmos. Descripción
- Pseudocódigo
- descripción verbal.
- lenguaje casi natural.
- Organigramas
- descripción gráfica
- cada símbolo representa una acción (entradas,
salidas, procesos, comparaciones...) - todos los símbolos tienen una flecha de entrada y
otra de salida (al menos), salvo los símbolos
inicial y final.
5Tema 6. Introduc. a la programación. Los
algoritmos. Descripción
- Ejemplo programa para escribir 5 primeras
potencias de un número (pseudocódigo) - 1 programa Potencias
- 2 leer(x)
- 3 i 1 res 1
- 4 res resx
- 5 escribir(x elevado a i es res)
- 6 i i 1
- 7 si (i gt 5) entonces
- terminar
- 8 ir al paso 4
- 9 fin.
6Tema 6. Introduc. a la programación. Los
algoritmos. Descripción
x
i1 res1
resresx
Inicio
i, res
Cálculo
Entrada
Salida (pantalla)
ii1
SI
NO
i gt 5
Fin
Comparación
7Tema 6. Introduc. a la programación. Los
algoritmos. Estructuras básicas
ENTRADA/SALIDA leer(edad) imprimir(valor)
ASIGNACION longitud 2 3.14 radio x x 1
CONDICION si (edad lt 18) entonces
imprimir(No puedes votar) si no voto
leer(Elija su voto) fin si
8Tema 6. Introduc. a la programación. Los
algoritmos. Estructuras básicas
ITERACION mientras (num ltgt 8) hacer num
leer(Otra vez. Número) fin mientras para i1
hasta 10 hacer imprimir(3 x i 3i) fin
para repetir x x 2 hasta que (x gt 50)
9Tema 6. Introduc. a la programación. Los
algoritmos. Refinamiento
- Refinamiento por pasos sucesivos (top-down)
- Descomposición de un problema en subproblemas en
etapas sucesivas. - Atención al principio a los aspectos globales del
sistema. Al avanzar el diseño, descomposición en
subsistemas (detalles). - Composición hacia arriba (bottom-up)
- Identificar conjunto primitivo de objetos,
acciones y relaciones que proporcionarán una base
para la solución - Conceptos de alto nivel expresados en términos
del conjunto de primitivos (combinaciones). - Necesidad de un conjunto completo de primitivas
10Tema 6. Introduc. a la programación. Los
algoritmos. Refinamiento
- Ejemplo. Problema Dibujar la función Y X32x-3
- Top-Down
- Etapa 1.
- 1. Calcular puntos
- 2. Dibujarlos
- Modularidad
11Tema 6. Introducc. a la programación. Los
lenguajes de programación
- Motivación y concepto.
- Lenguajes de programación.
- Lenguaje máquina (ceros y unos)
- Lenguaje de alto nivel. Traductores.
- Ventajas de los LP de alto nivel
- Portabilidad.
- Facilidad de uso
- Clasificación de los LP.
- Propósito general / específico
- Imperativos / Declarativos / Orientados a Objeto
12Tema 6. Introducc. a la programación. Leng. de
programación de alto nivel
- FORTRAN
- COBOL
- BASIC
- Pascal
- C
- Java
- LISP
- PROLOG
13Tema 6. Introducción a la programación. La
traducción
- Introducción
- Compilación
- código fuente / código objeto.
- Interpretación
- Comparación entre ambos métodos