0% encontró este documento útil (0 votos)
55 vistas17 páginas

Algoritmos y Programas: Conceptos Clave

El documento aborda el concepto de algoritmos y programas, definiendo un algoritmo como un conjunto ordenado de operaciones para resolver un problema. Se discuten las características de los algoritmos, su representación a través de pseudocódigo y diagramas de flujo, así como la codificación de algoritmos en lenguajes de programación. Además, se presenta una clasificación de lenguajes de programación, destacando sus diferencias y usos en diversas aplicaciones.

Cargado por

Hugo Canaviri
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
55 vistas17 páginas

Algoritmos y Programas: Conceptos Clave

El documento aborda el concepto de algoritmos y programas, definiendo un algoritmo como un conjunto ordenado de operaciones para resolver un problema. Se discuten las características de los algoritmos, su representación a través de pseudocódigo y diagramas de flujo, así como la codificación de algoritmos en lenguajes de programación. Además, se presenta una clasificación de lenguajes de programación, destacando sus diferencias y usos en diversas aplicaciones.

Cargado por

Hugo Canaviri
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 2

Algoritmos y
Programas
Tema 6: Algoritmos y Programas

Introducción

● Un ordenador es un sistema para procesar


información

Entrada = Salida =
Procesador
Datos Resultados

Algoritm
o

2
Tema 6: Algoritmos y Programas

Concepto de algoritmo

● Algoritmo (según el DRAE):


(del árabe al-Khowârizmî) “Conjunto
ordenado y finito de operaciones que permite
hallar la solución de un problema”
– Ejemplos sencillos de algoritmos según esta
definición podrían ser una receta de cocina o las
instrucciones para armar una bicicleta.

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

4
Tema 6: Algoritmos y Programas

Lenguajes
de representación algorítmica

● ¿Cómo se escribe un algoritmo?


Representándolo mediante un lenguaje 🡪
lenguaje de representación algorítmica
● Dos tipos de representación:
– Pseudocódigo
– Diagramas de flujo

5
Tema 6: Algoritmos y Programas

Representación algorítmica

● 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

6
Tema 6: Algoritmos y Programas

Representación algorítmica

● Diagrama de Flujo (DF):


– Representación gráfica del flujo de control de un
algoritmo
– Elementos del (DF):
Entrada/
Terminal Proceso
Salida

Dec Conectores
isió no
Subprograma
n

si
7
Tema 6: Algoritmos y Programas

Representación algorítmica

Pseudocódigo Diagrama de flujo


Entorn
o suma,
Inicio
num
// Iniciar variables
suma<- 2
num <- 4
// Suma de los números
repetir
suma <- suma + num
num <- num +2
mientras (num <= 100)
escribir // Escribir
(suma) resultado
Fin
8
Tema 6: Algoritmos y Programas

Ejemplos de algoritmo

● Hay que tener en cuenta que para resolver


un determinado problema existe más de un
algoritmo
– Todos encuentran la solución correcta…
pero unos lo hacen mejor que otros.

9
Tema 6: Algoritmos y Programas

Programas

● Programa: Algoritmo codificado en un


lenguaje de programación.
● Programar: Fraccionar un problema en
forma de instrucciones adecuadamente
formuladas para que un ordenador pueda
llevarlas a la práctica.

10
Tema 6: Algoritmos y Programas

Programas

● Las instrucciones se forman con elementos o


símbolos tomados de un determinado
repertorio, y se construyen siguiendo unas
reglas precisas.
● Todo lo relativo a los símbolos y reglas para
construir o redactar con ellos un programa
se denomina lenguaje de programación.

11
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

12
Tema 6: Algoritmos y Programas

Lenguajes de programación
Lenguajes de alto nivel

● FORTRAN (Formula Translation): Primer LAN(década de los 50).


Aplicaciones científico-técnicas (grandes computadores y
supercomputadores)
● COBOL (COmmon Busines Oriented Language): 1960. Aplicaciones
comerciales y de gestión.
● BASIC (Beginner’s All-purpose Symbolic Instruction Code).
Desarrollado a mediados de los 60 como lenguaje interactivo
paraprincipiantes de programación.
● Visual BASIC: es el lenguaje más popular. Versión de Microsoft del
BASIC. Permite crear programas en un ambiente visual (lenguaje de
4ª generación).
● C: Desarrollado en Bell Labs a comienzos de los 70. Es complejo,
pero es potente, flexible y eficiente (el más utilizado para PCs y
estaciones de trabajo).

13
Tema 6: Algoritmos y Programas

Lenguajes de programación
Lenguajes de alto nivel

● Pascal: Creado por Wirth en 1971. El mejor lenguaje para


aprender a programar y describir algoritmos.
● Ada: Es un lenguaje definido por el Ministerio de Defensa de
USA a finales de los 70. Esta basado en el Pascal y tiene unas
reglas muy estrictas.
● C++: Ideado a comienzos de los 80 en los BellLabs. Es una
variante del C que permite utilizar la moderna metodología de
la programación (“programación orientada a objetos”)
● Java: Desarrollado en 1991 por Sun, es similar a C++ pero
más sencillo de aprender y usar. Muy usado para programa
interactivos y dinámicos (“applets” de web). Se ha definido un
computador virtual Java compatible, cualquier computador con
un programa que lo emule puede ejecutar aplicaciones Java.

14
Tema 6: Algoritmos y Programas

Lenguajes de programación
Lenguajes de alto nivel

● Otros lenguajes (usados en Inteligencia artificial):


– LISP (LISt Processing): Finales de los 50. Procesamiento
de datos no numéricos (caracteres, palabras y otros
símbolos). Se usa en Inteligencia Artificial.
– PROLOG:(Programming Logic): Trabaja con relaciones
lógicas entre hechos. Muy usado en inteligencia artificial.
– LOGO: versión simplificada del LISP para niños.

15
Tema 6: Algoritmos y Programas

Lenguajes de programación
Traductores

● 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: 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.

16
Tema 6: Algoritmos y Programas

Lenguajes de programación
Compiladores

● Compilar ≈ Convertir de un formato a otro


– El significado deberá permanecer inalterado en la conversión
– La entrada está escrita en un lenguaje → Tiene estructura
– Semántica asociada y descrita en términos de esa estructura

● El compilador “comprende” el programa y recolecta su


significado en una representación semántica
intermedia

● A la hora de generar la salida → se genera estructura


y significado
17

También podría gustarte