Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMOS
1. ALGORITMO
Es un método para resolver un problema. Proviene de Mohammed Al-Khowarizmi,
matemático Persa que vivió durante el siglo IX y alcanzó gran reputación por el
enunciado de la regla paso a paso para sumar, restar, multiplicar y dividir números
decimales. La traducción al latín del apellido es Algoritmus que con el tiempo se llamó
algoritmo.
Programador
Persona que resuelve problemas, pero para llegar a ser eficaz necesita resolver
problemas de modo riguroso y sistemático.
Ejemplo1
Redactar el algoritmo correspondiente para el siguiente caso: Un cliente ejecuta un
pedido a una fábrica. La fábrica examina en su banco de datos la ficha del cliente; si el
cliente es solvente entonces la empresa acepta el pedido; en caso contrario; rechazará el
pedido.
2. RESOLUCIÓN DE UN PROBLEMA.
3. SOFTWARE
Las operaciones que debe realizar el hardware son especificadas por una lista de
instrucciones, llamadas programas o software. El software se divide en dos grandes
grupos: software del sistema y software de aplicaciones.
4. LENGUAJES DE PROGRAMACION
El ordenador sólo entiende un lenguaje conocido como código binario o código
máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar
cualquier acción.
• Lenguajes interpretes
Se puede también utilizar una alternativa diferente de los compiladores para traducir
lenguajes de alto nivel y a continuación ejecutarlo. En vez de traducir el programa
fuente y grabar en forma permanente el código objeto que se produce durante la corrida
de compilación para utilizarlo en una corrida de producción futura, el programador sólo
carga el programa fuente en la computadora junto con los datos que se van a procesar. A
continuación, un programa intérprete, almacenado en el sistema operativo del disco, o
incluido de manera permanente dentro de la máquina, convierte cada proposición del
programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el
proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir
a lenguaje máquina.
El proceso anterior se puede realizar con un lenguaje imperativo como por ejemplo
BASIC, C, C++, Java, Clipper, Dbase, C#, PHP, Perl, etc.
Dentro de la programación imperativa, se tiene un conjunto de instrucciones que le
indican al computador cómo realizar una tarea.
• Lenguajes declarativos
Se les llama así a aquellos lenguajes de programación en los cuales se le indica a la
computadora qué es lo que se desea obtener o qué es lo que se esta buscando, por
ejemplo: Obtener los nombres de todos los empleados que tengan más de 32 años. Eso
se puede lograr con un lenguaje declarativo como SQL.
• Lógicos
En los lenguajes lógicos se utiliza el formalismo de la lógica para representar el
conocimiento sobre un problema y para hacer preguntas que, si se demuestra que se
pueden deducir a partir del conocimiento dado en forma de axiomas y de las reglas de
deducción estipuladas, se vuelven teoremas.
Así se encuentran soluciones a problemas formulados como preguntas. Con base en la
información expresada dentro de la lógica de primer orden, se formulan las preguntas
sobre el dominio del problema y el intérprete del lenguaje lógico trata de encontrar la
respuesta automáticamente. El conocimiento sobre el problema se expresa en forma de
predicados (axiomas) que establecen relaciones sobre los símbolos que representan los
datos del dominio del problema.
El PROLOG es el primer lenguaje lógico y el más conocido y utilizado.
5. PROGRAMACIÓN MODULAR
Uno de los métodos más conocidos para resolver un problema es dividir en problemas
más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea
compleja y tediosa, se resuelve otras más sencillas y a partir de ellas llegamos a la
solución.
Esta técnica se usa mucho en programación para resolver problemas, y se le suele
llamar diseño descendente, metodología del divide y vencerás o programación top-
down.
Esta metodología nos lleva a tratar con subproblemas, entonces también se trabaja con
subprogramas para resolver los problemas. A estos subprogramas se les suele llamar
módulos, de ahí viene el nombre de programación modular.
Ejemplo1.
Un profesor quiere crear un programa para gestionar las notas de sus alumnos. Quiere
que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas,
ver las notas según distintas calificaciones, etc.
6. PROGRAMACIÓN ESTRUCTURADA
La programación estructurada permite la escritura de programas fáciles de leer y
modificar de forma clara. En un programa estructurado el flujo lógico se gobierna por
las estructuras de control básicas: secuenciales, repetitivas y selectivas. Siendo
innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia
incondicional ( GOTO ).
a. Secuenciales: Sucesión simple de dos o mas operaciones.
b. Selectivas: bifurcación condicional de una o mas operaciones.
c. Repetitivas: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir
programas que manejen cualquier tarea de procesamiento de información.
Ingeniería de Sistemas – UNSCH Página 6
Ing. Jennifer Pillaca De La cruz
UNIVERSIDAD NACIONAL SAN CRISTÓBAL DE HUAMANGA
ALGORITMOS
Ventajas
• Los programas son más fáciles de entender, ya que pueden ser leído de forma
secuencial, sin necesidad de hacer seguimiento a saltos de línea (GOTO) dentro
bloques de código para entender la lógica.
• La estructura del programa es más clara puesto que las instrucciones están más
ligadas o relacionadas entre sí.
• Reducción del esfuerzo en las pruebas. El seguimiento de las fallas ("debugging") se
facilita debido a la lógica más visible, por lo que los errores se pueden detectar y
corregir más fácilmente.
• Reducción de los costos de mantenimiento.
• Programas más sencillos y más rápidos.
• Los bloques de código son auto explicativos, lo que apoya a la documentación.
Desventajas
El principal inconveniente de este método de programación, es que se obtiene un único
bloque de programa, que cuando se hace demasiado grande puede resultar problemático
su manejo, esto se resuelve empleando la programación modular, definiendo módulos
interdependientes programados y compilados por separado. Un método un poco más
sofisticado es la programación por capas, en la que los módulos tienen una estructura
jerárquica muy definida y se denominan capas.
8. HERRAMIENTAS DE PROGRAMACIÓN
Las tres herramientas más utilizadas son: diagrama de flujo, pseudocódigo y diagrama
N-S.
Diagrama de flujo.
Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo. Los
símbolos utilizados han sido normalizados por el Instituto Norteamericano de
Normalización (ANSI).
Línea conectora
Pseudocódigo
Es una herramienta de programación en la que las instrucciones se escriben en palabras
similares al inglés o español, que facilitan tanto la escritura como la lectura de de
programas.
9. ASIGNACIÓN DE VALOR
La asignación de valor, es el modo de darle valor a una variable, se representa con el
Nombre_de_a_variable expresión
Ejemplo1:
Después de la asignación de valores, Cuál es el valor final de la variable A.
A 3
B 4
C A+2*B
C C+B
B C-A
A C*B
La siguiente acción
C C+B (C= 11+4 =15)
C 15
En la acción
B C–A (B= 15 - 3 =12)
B 12
Por último
A C*B (A= 15 *12 =180)
Ejemplo2:
Cuál es el valor de X, después de las siguientes operaciones.
X 2
X CUADRADO (X+X)
X RAIZ2 (X+RAIZ2 (X) +5)
El resultado de X es 5
Ejercicio1
Diseñar el algoritmo para la suma de dos números.
a. Pseudocódigo
1. Inicio
2. Leer X
3. Leer Y
4. Z X+Y
5. Escribir Z
6. Fin
b. Diagrama N – S
Inicio
Leer X
Leer Y
Z X+Y
Fin
c. Diagrama de flujo
Inicio
Leer X
Leer X
Z X+Y
Escribir Z
Fin