Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD 2.
ALGORITMOS
La idea de algoritmo es natural como la vida misma, ya que siempre encierra una secuencia de
pasos _ exentos de ambigüedades _ que lleva a la solución de un problema.
La principal razón por la que las personas aprenden a programar es para utilizar el ordenador como
una herramienta para la resolución de problemas. Ayudado por un ordenador, la obtención de la
solución de un problema exige el diseño de un algoritmo que resuelva el problema propuestos:
Los pasos para la resolución de un problema son:
A) Fase de resolución del problema
Entender el problema, saber en que consiste el problem
Análisis del problema, Identificar las entradas, el proceso y la salida para dar solución
al problema.
Diseño de algoritmo, que describe la secuencia ordenada de pasos sin ambigüedades
que conducen a la solución de un problema dado. (Análisis del problema y desarrollo
del algoritmo)
Prueba de Escritorio, es la fase de prueba del algoritmo planteado.
B) Fase de implementación en el ordenador.
Expresar el algoritmo como un programa en un lenguaje de programación adecuado
(Fase de codificación.
Ejecución y validación, Un ejemplo clásico de algoritmo es la receta para realizar un
plato de cocina; otro algoritmo típico son los pasos necesarios para construir un típico
juego de rompecabezas.
Resolución
PROBLEMA
PROGRAMA
Implementación
El resultado de la primera fase es el diseño de un algoritmo, que no es más que una secuencia
ordenada de pasos que conduce a la solución de un problema concreto, sin ambigüedad alguna, en un
tiempo finito. Sólo cuando dicho algoritmo haya sido probado y validado, se deberá entrar en detalles
de implementación en un determinado lenguaje de programación; al algoritmo así expresado se
denomina programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como del
ordenador que los ejecuta. El lenguaje de programación es tan sólo un medio para comunicarle al
ordenador la secuencia de acciones a realizar y el ordenador sólo actúa como mecanismo para obtener
la solución. En este sentido, podemos comparar la situación anterior con el hecho de explicar una
receta a un cocinero en distintos idiomas. Mientras éste entienda el idioma, es indiferente el idioma
elegido ya que el resultado final será siempre el mismo.
23
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Ejemplo 1
Por ejemplo, cuando quiero ver una película de vídeo, podría hacer:
Ejemplo 2.
Se desea realizar el algoritmo para sumar dos números.
P1: Inicio
P2: Pedir el primer número
P2: Pedir el segundo número
P3: Resultado = primer número + segundo número
P4: Mostrar el resultado
P5: Fin
Ejemplo 3
24
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Tome en cuenta que éste ultimo ejemplo contiene en forma global el desarrollo del algoritmo,
a diferencia del primer ejemplo que es exacto y directo.
Ejemplo 4
Veamos algunos ejemplos de la vida diaria.
En este ejemplo vamos a empezar a aplicar algunos pasos de forma intuitiva, de tal
forma que para cuando se revise el cuarto ejemplo se pueda identificar claramente los
pasos necesarios para darle forma al algoritmo.
Si se observa con un poco de atención en el enunciado del problema está dada parte de
la solución. Es importante que usted imagine todo el proceso en su cabeza para
implementar el algoritmo de solución.
Analizando el enunciado se puede observar claramente que hay que tener dos variables,
a las cuales se les asignarán los valores que indique el usuario; estas variables las
vamos a llamar a y b, en minúscula, ya que esta es la forma de definir variables en
todos los lenguajes de programación; a su vez tendremos una variable adicional que
denominaremos c y guardará el resultado de la operación.
25
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
dos números.
1. El sistema le solicita al usuario el valor del primer número.
2. El usuario digita el primer número.
3. El sistema almacena el número en la variable a y solicita al usuario el segundo número.
4. El usuario digita el segundo número.
5. El sistema realiza la operación c = a + b.
6. El sistema le muestra al usuario el resultado almacenado en la variable c.
Aunque algunos procesos ya los realizamos de forma intuitiva, es necesario ver que es
lo que hay detrás de todo, las cosas son más sencillas de lo que aparentan ser.
Cuál es el algoritmo que se debe aplicar en un pinchazo de la llanta de un automóvil.
Bien, en este ejemplo vamos a introducir un concepto que se maneja en la vida diaria:
Las condicionales, que nos permiten dar valores de verdad como sí o no.
En este momento hay otra condición vamos a asumir primero el mejor de los casos que
es cuando el repuesto está en buenas condiciones, y luego analizaremos el caso en que
el repuesto esté pinchado.
o Coloque el gato.
o Quite la llanta pinchada.
o Coloque el repuesto.
o Apretar las tuercas.
o Bajar el automóvil.
o Guardar la llanta
o Volver al auto y continuar su camino.
Bien, ahora en el caso en que esté pinchado el repuesto, habría que localizar un
montallantas, mandar arreglar las dos llantas, en fin, imagine el resto del proceso.
Como puede ver todas las actividades que se realicen en forma secuencial, se pueden
ver en forma de algoritmo.
2.2. Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de
datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la
memoria de la computadora, que nos permite accesar a su contenido.
26
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
preocupa por él por medio de una tabla, en la que se relaciona cada identificador con el tipo de
dato que representa y la posición de memoria en la que está almacenado.
Ejemplo: Nombre
Num_hrs
Calif2
Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en
blanco.
Puede tener una longitud hasta 255 caracteres
No se admiten espacios o caracteres en blanco, ni puntos (.), ni otros caracteres especiales.
Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los caracteres de
declaración del tipo de la variable (%, &, #, !, @, y $ ).
El nombre de una variable no puede ser una palabra reservada del lenguaje (For, If, Loop,
Next, Val, Hide, Caption, And, ...). Para saber cuáles son las palabras reservadas en un
lenguaje puede utilizarse el Help del lenguaje de programación, buscando la referencia
Reserved Words
La declaración de una variable o la primera vez que se utiliza determnan cómo se escribe
en el resto del programa. Por tanto, las variables LongitudTotal y longitudtotal son
consideradas como idénticas.
2.3. Variables
Una variable es un nombre que designa a una zona de memoria (se trata por tanto de un
identificador), que contiene un valor de un tipo de información. Tal y como su nombre indica,
las variables pueden cambiar su valor a lo largo de la ejecución de un programa.
Las variables son valores expresados en letras que van variando en la estructura de un
algoritmo por ejemplo tenemos como variables a:
P1: Inicio:
P2: Leer (S)
P3: escribir (S)
P4: S=S + 10
P5: escribir (S)
P6: S=S + 10
P7: escribir (S)
P8: Fin
La variable S cambia de valor durante el algoritmo, despliega los tres primeros múltiplos de
10.
27
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
2.4. Constantes
Completando a las variables existe lo que se denomina constantes las cuales son
identificadores pero con la particularidad de que el valor que se encuentra en ese lugar de la
memoria sólo puede ser asignado una única vez. El tratamiento y tipos de datos es igual al de
las variables. Para declarar un dato como constante únicamente es necesario utilizar la palabra
Const en la declaración de la variable. Si durante la ejecución se intenta variar su valor se
producirá un error.
PI = 3.14163
E = 2.718282
Recuerde que todas estas constantes no se cambian son fijas inclusive las que son alfabéticas.
Vea los siguientes ejemplos:
(ejemplo)
P1: Inicio:
P2: PI = 3.14163
P3: radio = 5
P4: Circunferencia = 2* PI*radio
P5: Escribir radio, Circunferencia
P6: Fin
Tanto PI, radio y Circunferencia son constantes no cambian durante todo el programa.
Numéricas
Por su Contenido Lógicas
Alfanuméricas
Variables
De Trabajo
Por su Uso Contadores
Acumuladores
Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparación entre otros datos.
28
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una
operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de
una serie de valores que se van leyendo o calculando progresivamente.
2.4.2. Expresiones
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas.
2.5. Operadores
Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.
Aritméticos
Tipos de Operadores Relaciónales
Lógicos
Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos
son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.
29
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Valor
(Constante o variable)
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2 46 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 14.0 / 40 = 5.09 3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
2.5.2. Operadores Relacionales
Los operadores de relación o relacionales permites realizar comparaciones de valores de tipo
numérico o carácter (alfabéticos).
OPERADOR SIGNIFICADO
< Menor que
> Mayor que
= Igual
<= Menor igual
>= Mayor igual
<> Distinto de
Ejemplos:
Asignando valores para: a = 10 b = 20 c = 30
a+b>c Falso
a-b<c Verdadero
a-b=c Falso
a*b<>c Verdadero
Ejemplos no lógicos:
a<b<c
10 < 20 < 30
Los operadores lógicos o de Boole permiten relaciones lógicas (si/no) y sirven para representar
condiciones compuestas. Los operadores lógicos o booleanos básicos son :
Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T
30
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Las expresiones tienden a tener una regla de prioridad, ya que puede haber confusión por
cual operación el computador debe comenzar es por eso que a continuación se describen
éstas reglas:
Operador exponencial
Operador de *, /
Operadores +, -
Operadores div, mod
70 - 15 mod 12 + 9
35 mod 21
13
Ej. (7*(10 – 5) mod 3) * 4 +9
(7 * 5 mod 3) * 4 +9
(35 mod 3) * 4 + 9
2*4 +9
8 + 9
17
2.5.4.1.Expresiones relacionales
Y el resultado de la operación será verdadero o falso. Así, por ejemplo, si A=4 y B=3,
entonces A>B es verdadero. Mientras que (A-2) < (B-4) es falso.
Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estándar
2.5.4.2.Expresiones Lógicas
31
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas,
utilizando los operadores lógicos NOT, AND Y OR. Y los operadores relacionales. (de relación o comparación)
=, <, >, <=, >=, <>.
Ej.
32
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Ejercicios propuestos
Cómo hacer un jugo de Pomelo (fruta que se da en los llanos), invetigue y realice el
algoritmo.
Diseñe el algoritmo que le permita calcular la tabla de multiplicar del 5 desde el 1 hasta
el 10.
Diseñe el algoritmo que usted requiere para llegar a la universidad, desde que se
levanta en la mañana.
Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten,
mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la
solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:
- Asignación
Secuenciales - Entrada
- Salida
- Simples
Estructuras Condicionales - Dobles
Algoritmicas - Múltiples
- Hacer para
Repetitivas - Hacer mientras
- Repetir hasta
33
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
SÍMBOLO DESCRIPCIÓN
34
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
2.7.2. Pseudocodigo
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un
problema determinado. El pseudocodigo utiliza palabras que indican el proceso a realizar.
Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo
Ocupa menos espacio en una hoja de papel
Permite representar en forma fácil operaciones repetitivas complejas
Es muy fácil pasar de pseudocodigo a un programa en algún lenguaje de programación.
Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
35
UNIVERSIDAD SALESIANA DE BOLIVIA Materia: Introducción a la Programación
Docente: Lic. Carla Aguirre Carrera: CONTADURÍA PÚBLICA
Algoritmo Producto
Var
P, num: entero
Inicio
P1
Leer num
Mientras num >=0 hacer
P p*num
Leer num
Fin mientras
Escribir p
Fin
Resolución del Algoritmo en la computadora. Se debe codificar el algoritmo.
36