You are on page 1of 9

Algoritmos y Diagramas de

Flujo
1. Definición de Programa:

Un programa es un conjunto de instrucciones u órdenes basadas en un lenguaje de programación que una


computadora interpreta para resolver un problema o una función específica.

1.1 Programa Objeto:

Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

Es el resultado de traducir un programa fuente para obtener un lenguaje comprensible por la máquina.

1.2 Programa fuente:

Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la máquina, es
decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.

Es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por eso al código desarrollado al
programar se le llama código fuente.

2. Compilador:

Es un programa que traduce un lenguaje de alto nivel al lenguaje máquina. Un programa compilado indica que
ha sido traducido y está listo para ser ejecutado. La ejecución de los programas compilados es más rápida
que la de los interpretados, ya que el interprete debe traducir mientras está en la fase de ejecución (saca
todos los errores). Un compilador es un programa que traduce el programa fuente (conjunto de instrucciones
de un lenguaje de alto nivel, por ejemplo Basic o Pascal) a programa objeto (instrucciones en lenguaje
máquina que la computadora puede interpretar y ejecutar).

3. Lenguaje de Programación:

Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas
mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del
programador para que este pueda comunicarse con los dispositivos hardware y software existentes.

4. Clasificación de los lenguajes de Programación:

Lenguajes Maquina: Están escritos en lenguajes directamente inteligibles por la maquina (computadora), ya
que sus instrucciones son cadenas binarias (0 y 1).

Lenguajes de bajo nivel: Son lenguajes de programación que se acercan al funcionamiento de una
computadora. El lenguaje de más bajo nivel por excelencia es el código máquina (Assembler).

Lenguajes de alto nivel: Los lenguajes de alto nivel son normalmente fáciles de aprender porque están
formados por elementos de lenguajes naturales, como el inglés

5. Algoritmo:

Un algoritmo es un conjunto de acciones que determinan la secuencia de los pasos a seguir para resolver un
problema específico.

Sus pasos deben estar definidos con precisión de forma que no existan ambigüedades que den origen a elegir
una opción equivocada.

Los algoritmos son finitos; es decir, su ejecución termina en un número determinado de pasos. La mayoría de
los algoritmos de utilidad al programador poseen 3 partes principales:
5. Características de los Algoritmos:

Las características fundamentales que debe cumplir todo algoritmo son:

a) Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de
interpretación.
b) Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar
al completarlos.
c) Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son
generados de alguna forma) para llevar a cabo las operaciones que comprende.
d) Tener una o más salidas: Debe siempre devolver un resultado. Por salida de resultados debe entenderse
todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
e) Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada
menos que aquello que se requiera para y en su ejecución.

6. Tipos de Algoritmos:

 Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
 Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

7. Ejemplos de Algoritmos:

Por ejemplo en el caso de que nos encontremos en casa con una bombilla fundida en una lámpara, un posible
algoritmo sería:

1. Comprobar si hay bombillas de repuesto.


2. En el caso de que las haya, sustituir la bombilla anterior por la nueva.
3. Si no hay bombillas de repuesto, bajar a comprar una nueva a la tienda y sustituir la vieja por la nueva.

Los algoritmos son la base de la programación de ordenadores, ya que los programas del ordenador se
pueden entender que son algoritmos escritos en un código especial entendible por un ordenador.

Lo malo del diseño de algoritmos está en que no podemos escribir lo que deseemos, el lenguaje a utilizar no
debe dejar posibilidad de duda, debe recoger todas las posibilidades.

Por lo que los tres pasos anteriores pueden ser mucho más largos:

1. Comprobar si hay bombillas de repuesto


2. Abrir el cajón de las bombillas
3. Observar si hay bombillas
4. Si hay bombillas:
5. Coger la bombilla
6. Coger una silla
7. Subirse a la silla
8. Poner la bombilla en la lámpara
9. Si no hay bombillas
10. Abrir la puerta
11. Bajar las escaleras.

Cómo se observa en un algoritmo las instrucciones pueden ser más largas de lo que parecen, por lo que hay
que determinar qué instrucciones se pueden utilizar y qué instrucciones no se pueden utilizar. En el caso de
los algoritmos preparados para el ordenador, se pueden utilizar sólo instrucciones muy concretas.

8. Elementos que conforman un Algoritmo:

 Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse.


 Proceso. Acciones que lleva a cabo el algoritmo.
 Salida. Datos que obtiene finalmente el algoritmo.

9. Fases en la creación de algoritmos:

Hay tres fases en la elaboración de un algoritmo:

1. Análisis: En esta se determina cuál es exactamente el problema a resolver. Qué datos forman la entrada
del algoritmo y cuáles deberán obtenerse como salida.
2. Diseño: Elaboración del algoritmo.
3. Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la salida esperada para todas las
entradas.
10. Ejemplos de Algoritmos:

1. Un estudiante se encuentra en su casa (durmiendo) y debe ir a la 2. Cambiar la rueda pinchada de un automóvil teniendo un gato
universidad (a tomar la clase de informática) ¿qué debe hacer el mecánico en buen estado, una rueda de reemplazo y una llave
estudiante?
ALGORITMO: ALGORITMO:
1) Inicio Inicio
2) Dormir PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa.
3) haga 1 hasta que suene el despertador (o lo llame la mamá). PASO 2. Ubicar el gato mecánico en su sitio.
4) Mirar la hora. PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar
5) ¿Hay tiempo suficiente? libremente.
6) Si hay, entonces PASO 4. Quitar los tornillos y la rueda pinchada.
7) Bañarse. PASO 5. Poner rueda de repuesto y los tornillos.
8) Vestirse. PASO 6. Bajar el gato hasta que se pueda liberar.
9) Desayunar. PASO 7. Sacar el gato de su sitio.
10) Sino, PASO 8. Apretar los tornillos con la llave inglesa.
11) Vestirse. Fin
12) Cepillarse los dientes.
13) Despedirse de la mamá y el papá.
14) ¿Hay tiempo suficiente?
15) Si, Caminar al paradero.
16) Sino, Correr al paradero.
17) Hasta que pase un bus para la universidad haga :
18) Esperar el bus
19) Ver a las demás personas que esperan un bus.
20) Tomar el bus.
21) Mientras no llegue a la universidad haga :
22) Seguir en el bus.
23) Pelear mentalmente con el conductor.
24) Timbrar.
25) Bajarse.
26) Entrar a la universidad.
27) Fin

3. Realizar la suma de los números 2448 y 5746. 4. Sean los puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar un
segmento de recta perpendicular a la anterior que pasa por el punto medio de
ALGORITMO: los puntos dados.
ALGORITMO:
Inicio
Inicio
PASO 1. Colocar los números el primero encima del segundo, de tal
manera que las unidades, decenas, centenas, etc., de los números
queden alineadas. Trazar una línea debajo del segundo número.
PASO 2. Empezar por la columna más a la derecha. PASO 1. Trazar un círculo con centro en el punto P que pase por el punto Q.
PASO 3. Sumar los dígitos de dicha columna.
PASO 4. Si la suma es mayor a 9 anotar un 1 encima de la siguiente
columna a la izquierda y anotar debajo de la línea las unidades de la
suma. Si no es mayor anotar la suma debajo de la línea.
PASO 5. Si hay más columnas a la izquierda, pasar a la siguiente
PASO 2. Trazar un círculo con centro en el punto Q que pase por el punto P.
columna a la izquierda y volver a 3.
PASO 6. El número debajo de la línea es la solución.
Fin

PASO 3. Trazar un segmento de recta entre los puntos de intersección de las


circunferencias trazadas.

Fin. El segmento de recta trazada es el buscado.


11. Diagramas de flujo:

Un diagrama de flujo es una representación gráfica de un algoritmo o de una parte del mismo.

La ventaja de utilizar un diagrama de flujo es que se le puede construir independientemente del lenguaje de
programación, pues al momento de llevarlo a código se puede hacer en cualquier lenguaje.

Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, óvalos,
pequeños círculos, etc.; estos símbolos están conectados entre sí por flechas conocidas como líneas de flujo.

A continuación se presentan estos símbolos y su significado.

Terminal. Representa el inicio y fin de un programa.

Proceso. Son acciones que el programa tiene que realizar

Decisión. Indica operaciones lógicas o de comparación.

Entrada Y Salida. Nos permite ingresar y Mostrar datos.

Salida. Es usado para indicar salida de resultados

Conector. Enlaza dos partes cualesquiera de un programa

Línea de flujo. Indica dirección de flujo del diagrama. Las


flechas de flujo no deben cruzarse. Los diagramas se leen de
arriba hacia abajo y de izquierda a derecha.

Conector fuera de página. Representa conexión entre partes


del algoritmo representadas en páginas diferentes.
12. Reglas para la creación de Diagramas

1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye
la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca
diagonales).
3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto,
se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores
cuando sea estrictamente necesario.
4. No deben quedar líneas de flujo sin conectar
5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
7. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

13. Ejemplos y ejercicios:

Ejemplo 1: Realizar un Diagrama de flujo que permita leer cuatro variables y calcule e imprima su producto,
suma y media aritmética.
Realizar los Siguientes Diagramas: (Cálculos Aritméticos)

1) Que calcule el área y la longitud de un círculo al leer el valor del radio (Área=π*R2 ; Longitud=2*π*R).
2) Que lea valores y aplique un aumento del 10, 15 y 20% respectivamente y despliegue el resultado.
3) Que calcule y muestre el área de un triángulo, el programa deberá solicitar los datos necesarios y
mostrar el resultado. (Área=Base*altura)/2.
4) Que convierta grados centígrados a Fahrenheit (°F= °C x 1.8 + 32).
5) Que convierta grados Fahrenheit a centígrados (°C= (°F - 32) / 1.8)
6) Que obtenga el valor de Dólares y Euros y los transforme a Bolívares
7) Que calcule el resto de una división y la división entera entre dos números ( R= D - (d . c))
8) El alquiler de un vehículo cuesta 40.000 bolívares por día más 300 bolívares por cada kilómetro
recorrido. Escribir un programa que lea por teclado el número de días en alquiler y el números de
kilómetros recorridos y muestre el monto total que se debe pagar.

Ejemplo 2: Que calcule el mayor de dos números, introducidos por teclado.

Realizar los Siguientes Diagramas: (Estructura de Decisión)

1) Que calcule el mayor de tres números enteros.


2) Que solicite un número y determine si este es par o es impar. El programa deberá de solicitar los datos
necesarios y mostrar el resultado.
3) Que determine si un número es par o impar, negativo o positivo.
4) Que convierta centígrados a Fahrenheit o viceversa, dependiendo de la opción que se elija
5) Que pida cuatro calificaciones, las analice (promedio de calificaciones) y determine si el alumno a que
pertenecen reprobó o aprobó. (> o = 10 aprobó <10 reprobó).
6) Que pida la edad y despliegue si es menor de edad (<18), mayor (>=18) o si pertenece a la 3ra. edad
(>=60).
7) Que permita leer calificaciones numéricas y de cómo resultado una salida a calificaciones en letras,
según la siguiente tabla: (Se asume que la nota está comprendida entre 1 y 20)
A = 19 y 20 B =16, 17 y 18 C = 13, 14 y 15 D = 10, 11 y 12 E = 1 hasta el 9
Centígrados a Fahrenheit (°F= °C x 1.8 + 32), Fahrenheit a centígrados (°C= (°F - 32) / 1.8)

Ejemplo 3: Hacer un organigrama de lea N números, calcule y escriba la suma de los pares y el producto de
los impares.

Realizar los Siguientes Diagramas: (Ciclos Repetitivos)

1) Que despliegue los 100 primeros números pares.


2) Que despliegue los 100 primeros números impares.
3) Que sume los 100 primeros números enteros pares.
4) Que sume los 100 primeros números enteros impares.
5) Que encuentre la suma de los n primeros números enteros.
6) Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
7) Que lea N números y escriba la suma de los pares y la suma de los impares
8) Que lea N números y escriba la suma de los pares y el producto de los impares
9) Que permita leer los datos de n cantidad de personas (cedula, edad, sexo) y calcule la cantidad de
hombres y mujeres,
10) Que lea n cantidad de calificaciones y calcule la cantidad de aprobados y reprobados

You might also like