Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Elementos
básicos de un
algoritmo
Objetivos
2
Tema 6: Algoritmos y Programas
Contenidos
1. Introducción
2. Concepto de algoritmo
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo
5. Programas
6. Lenguajes de programación
7. El proceso de programación
8. Introducción al lenguaje C
3
Tema 6: Algoritmos y Programas
Concepto de algoritmo
4
Tema 6: Algoritmos y Programas
Concepto de algoritmo
En Informática:
– Un algoritmo es una secuencia de pasos a
seguir para resolver un problema usando un
computador u ordenador.
– La algoritmia o ciencia de los algoritmos, es uno
de los pilares de la informática.
5
Tema 6: Algoritmos y Programas
Concepto de algoritmo
Definiciones básicas:
– Procesador:
Procesador cualquier entidad capaz de resolver
un problema
– Entorno:
Entorno conjunto de utensilios que el procesador
puede utilizar
– Estado:
Estado situación en la que se encuentra un
entorno en un momento dado.
6
Tema 6: Algoritmos y Programas
Concepto de algoritmo
Definiciones básicas
– Acción:
Conjunto finito de operaciones que permiten llegar de un
estado inicial bien definido a otro también bien definido.
– Tipos de acciones:
Acción primitiva o elemental
– Puede ser realizada directamente por el procesador.
Acción compuesta o abstracta
– Ha de descomponerse en acciones más elementales para poder
ser entendida por un procesador.
7
Tema 6: Algoritmos y Programas
Concepto de algoritmo
8
Tema 6: Algoritmos y Programas
Concepto de algoritmo
Características de un algoritmo:
– Preciso (no ambiguo): la instrucción a ejecutar
en cada paso queda determinada perfectamente.
– Determinista: debe comportarse del mismo
modo ante las mismas condiciones. Si se sigue
dos veces en el mismo entorno, el resultado
obtenido es el mismo.
– Finito: Tiene fin tras un número determinado de
pasos.
9
Tema 6: Algoritmos y Programas
Lenguajes
de representación algorítmica
10
Tema 6: Algoritmos y Programas
Representación algorítmica
Pseudocódigo:
Pseudocódigo
– Lenguaje similar al natural, pero al que se añaden
reglas para conseguir una definición precisa del
algoritmo
– Algunas reglas:
Empieza por la palabra “Inicio” y termina con la palabra
“Fin”
Se escribe una acción por línea
Se subrayan las palabras clave
11
Tema 6: Algoritmos y Programas
Representación algorítmica
no Conectores
Decisión Subprograma
si
12
Tema 6: Algoritmos y Programas
Representación algorítmica
Ejemplos de algoritmo
14
Tema 6: Algoritmos y Programas
Ejemplos de algoritmo
15
Tema 6: Algoritmos y Programas
Ejemplos de algoritmo
Método tradicional
981
* 1234
3924
2943
1962
981
1210554
16
Tema 6: Algoritmos y Programas
Ejemplos de algoritmo
Método tradicional
Pero en UK…
981 981
* 1234 * 1234
3924 981
2943 1962
1962 2943
981 3924
1210554 1210554
17
Tema 6: Algoritmos y Programas
Programas
Programa:
Programa Algoritmo codificado en un
lenguaje de programación.
Programar:
Programar Fraccionar un problema en
forma de instrucciones adecuadamente
formuladas para que un ordenador pueda
llevarlas a la práctica.
18
Tema 6: Algoritmos y Programas
Programas
19
Tema 6: Algoritmos y Programas
Lenguajes de programación
Clasificación
Lenguaje máquina:
– Es el que entienden los circuitos del computador (CPU)
– Inconvenientes:
depende del modelo de computadora;
el repertorio de instrucciones es muy reducido
es muy laborioso
Ensamblador (lenguaje de bajo nivel)
– Código nemotécnico para recordar mejor las instrucciones
máquina
– Se mantienen los otros inconvenientes del lenguaje máquina
Lenguajes de alto nivel
– No dependen de la computadora, y facilitan la tarea de
programación
20
Tema 6: Algoritmos y Programas
Lenguajes de programación
Lenguajes de alto nivel
21
Tema 6: Algoritmos y Programas
Lenguajes de programación
Lenguajes de alto nivel
22
Tema 6: Algoritmos y Programas
Lenguajes de programación
Lenguajes de alto nivel
23
Tema 6: Algoritmos y Programas
Lenguajes de programación
Traductores
Traducción:
Traducción Proceso por el cual se convierte el texto
del programa de entrada en el de salida.
– Lenguaje fuente: lenguaje en el que se escribe la entrada
– Lenguaje objeto: lenguaje en el que se escribe la salida.
En general, muy diferente del lenguaje fuente
Compilador:
Compilador Programa que acepta como entrada un
texto de programa escrito en un cierto lenguaje de
alto nivel y genera como salida texto de programa en
otro lenguaje, generalmente lenguaje máquina.
24
Tema 6: Algoritmos y Programas
Lenguajes de programación
Compiladores
Lenguajes de programación
Intérpretes
Lenguajes de programación
Compiladores vs. Intérpretes
Compiladores:
– El procesamiento del programa es considerable
– El mecanismo de interpretación previsto es la CPU (hw)
– La ejecución del programa traducido es relativamente rápida
Intérpretes:
– El procesamiento del programa es entre mínimo y moderado
– El mecanismo de interpretación es un programa (sw)
– La ejecución del programa es, en general, más lenta y más
segura
27
Tema 6: Algoritmos y Programas
Proceso de programación
A n a lisis D is e ñ o T ra d u c ció n a c ó d ig o C
P ru e b a s d e e jec u c ió n C o m p ila c ió n al o rd e n a d o r
A.out cc vi
E rro r e n tiem p o
28 d e e je c u c ió n
Tema 6: Algoritmos y Programas
Lenguaje C
29
Tema 6: Algoritmos y Programas
Lenguaje C
Características de C
– Propósito general
Válido para diversos objetivos
– Portable
NOTA: Sin embargo, siempre hay que compilar y probar un
programa en el ordenador “destino”
– Eficiente
Apropiado para la programación de sistemas
– Extendido.
Gran cantidad de bibliotecas de funciones, compiladores, etc.
Amplia difusión y uso.
30
Tema 6: Algoritmos y Programas
Bibliografía
31
Tema 6: Algoritmos y Programas
Bibliografía
32