2. ■ Fundamentos de Programación es una asignatura básica que permite crear programas
que exhiban un comportamiento deseado. El proceso de escribir código requiere
frecuentemente conocimientos en varias áreas distintas, además del dominio del
lenguaje a utilizar, algoritmos especializados y lógica formal.
3. ■ Se llama Programación a la implementación de un algoritmo en un determinado
lenguaje de programación, para realizar un programa.
■ Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han
de seguirse para resolver un problema.
■ Programa (Software en inglés) es una secuencia de instrucciones que una
computadora puede interpretar y ejecutar.
■ El proceso de creación de software es materia de la ingeniería del software, una de las
ramas propias de la Ingeniería Informática.
4. Medios de expresión de un algoritmo
■ Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocódigo,diagramas de flujo y lenguajes de programación entre otros.
■ Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural.
■ Dichas expresiones son formas más estructuradas para representar algoritmos; no
obstante, se mantienen independientes de un lenguaje de programación específico.
■ La descripción de un algoritmo usualmente se hace en tres niveles:
5. Medios de expresión de un algoritmo
■ Descripción de alto nivel. Se establece el problema, se selecciona un modelo
matemático y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
■ Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que
encuentran la solución.
■ Implementación. Se muestra el algoritmo expresado en un lenguaje de programación
específico o algún objeto capaz de llevar a cabo instrucciones.
6. Representación de Algoritmos
Hay distintos métodos de representar los algoritmos como:
oTexto: Se usa el lenguaje común para describir el algoritmo
■ Pseudocódigo: este tipo de representación mezcla el lenguaje de programación con un
idioma, ya sea español, ingles o cualquier otro, se puede definir como un lenguaje de
especificación de algoritmos. Es la representación narrativa de los pasos que debe de seguir
un algoritmo. Este método es mas compacto, mas fácil de escribir y mas fácil de transcribir
a un lenguaje de programación que el diagrama de flujo.
■ Diagrama de flujo: son herramientas graficas para representar algoritmos. esta
compuesto por símbolos, como: rectángulos rombos, cuadrados, etc., unidos por flechas,
estos símbolos representan acciones y orden en como se realizan estas. Es decir, los
diagramas de flujo son diagramas que emplean símbolos gráficos para representar
algoritmos.
7. ■ o Diagrama de Nassi-Schneiderman:También conocido como diagrama de Chapín, es
un método se representación de algoritmos que combina la descripción textual con la
descripción grafica, es como una combinación del Pseudocódigo con el diagrama de
flujo. Por lo general todo lo que se puede representar en un diagrama de flujo se puede
representar en este tipo de diagrama
■ Nivel de implementación: consiste en expresar un algoritmo mediante una
maquinaria, un programa de computadora o algún objeto que realice las acciones
planteadas por el algoritmo en cuestión. En general, la implementación es el objetivo
de diseñar un algoritmo (pero no siempre).
8. ■ Descripción Narrada
Este algoritmo es caracterizado porque sigue un proceso de ejecución común y lógico, describiendo
textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada.
Ejemplo 1 Algoritmo para asistir a clases:
1. Levantarse
2. Bañarse
3.Vestirse
4. Desayunar
5. Cepillarse los dientes
6. Salir de casa
7.Tomar el autobús
8. Llegar a la Inst.
9. Buscar el aula
10. Ubicarse en un asiento
9. Pseudocódigo
■ El pseudocódigo (falso lenguaje, el prefijo pseudosignifica falso) es una descripción de
alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas
convenciones sintácticas propias de lenguajes de programación, como asignaciones,
ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para
describir algoritmos en libros y publicaciones científicas, y como producto intermedio
durante el desarrollo de un algoritmo, como los Diagramas de flujo, aunque presentan
una ventaja importante sobre estos, y es que los algoritmos descritos en
pseudocódigo requieren menos espacio para representar instrucciones complejas.
10. ■ Así el pseudodocódigo cumple con las funciones antes mencionadas para representar algo
abstracto los protocolos son los lenguajes para la programación.
Ejemplo 1
Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto y suma.
inicio
leer (a, b, c, d)
producto <-- (a * b * c * d)
suma <-- (a + b + c + d)
escribir (producto, suma)
fin
11. Diagrama de flujo
■ Son la representación gráfica de la solución algorítmica de un problema. Para
diseñarlos se utilizan determinados símbolos o figuras que representan una acción
dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del
algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas,
denominadas líneas de flujo, que indican el orden en que los pasos deben ser
ejecutados
■ Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos
conectados con flechas para indicar la secuencia de instrucciones
12. ■ Los algoritmos pueden ser expresados de
muchas maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y
lenguajes de programación entre otros. Las
descripciones en lenguaje natural tienden a
ser ambiguas y extensas.
■ El usar pseudocódigo y diagramas de flujo
evita muchas ambigüedades del lenguaje
natural. Dichas expresiones son formas más
estructuradas para representar algoritmos; no
obstante, se mantienen independientes de un
lenguaje de programación específico.
13. ■ Para su elaboración se siguen ciertas reglas:
■ Se escribe de arriba hacia abajo y de izquierda a derecha
■ Siempre se usan flechas verticales u horizontales, jamás curvas
■ Evitar cruce de flujos
■ En cada paso expresar una acción concreta
■ Secuencia de flujo normal en una solución de problema
■ Tiene un inicio
■ Una lectura o entrada de datos
■ El proceso de datos
■ Una salida de información
■ Un final
15. ■ VENTAJAS DE USAR FLUJOGRAMAS
■ Rápida comprensión de las relaciones
■ Análisis efectivo de las diferentes secciones del programa
■ Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas
■ Comunicación con el usuario
■ Documentación adecuada de los programas
■ Codificación eficaz de los programas
■ Depuración y pruebas ordenadas de programas
16. DESVENTAJAS DE LOS FLUJOGRAMAS
■ Diagramas complejos y detallados suelen ser
laboriosos en su planteamiento y diseño
■ Acciones a seguir tras la salida de un símbolo de
decisión, pueden ser difíciles de seguir si
existen diferentes caminos
■ No existen normas fijas para la elaboración de los
diagramas de flujo que permitan incluir todos los
detalles que el usuario desee introducir.
17. ■ Implementación
■ Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los
algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito
eléctrico o un aparato mecánico y eléctrico. Algunos algoritmos inclusive se diseñan
especialmente para implementarse usando lápiz y papel
19. ■ Indicar si el número es par o impar:
La palabra mod significa dividir, por lo tanto mod
2 es dividir entre 2. Como ya debes saber si divido
un número entre 2 y el resto es 0 el número es
par, en caso contrario sería impar. Bien pues hay
esta la decisión.
¿Al dividirlo entre 2 el resto es 0? Hay 2
posibilidades. Si lo es, se ve en pantalla "Si es par",
si no lo es, se ve en pantalla "No es par". Eso es la
toma de decisiones.Toma una salida en función
del resultado de la entrada.
20. ■ Tenemos que hacer un diagrama de flujo para mostrar la suma de los 50 primeros números.
21. Lo primero es poner a cero la suma y dar
el primer número a sumar que será el 0.
Fíjate que el diagrama acaba cuando N,
que es el número en cada momento, es
50. Mientras no sea 50 el programa
vuelve a la tercera secuencia que será
sumarle un número al anterior N = N +
1. Intenta comprenderlo y ver lo que
hace. Puedes realizar mentalmente el
diagrama para el número 0 y verás como
lo acabas entendiendo.
22. Ejercicios
1. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos
entre el 1 y el 10, es decir, 1+2+3+….+10.
2. Determinar la hipotenusa de un triangulo rectángulo conocidas las longitudes de sus dos
catetos. Desarrolle el algoritmo correspondiente.
3. Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su
radio (R) y altura (H).
4. Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a mayor, si
es el caso
5. Desarrolle un algoritmo que permita calcular Promedio de Notas
6. Convertir calificaciones numéricas (0 al 10) a calificaciones de “Aprobado” ó “Reprobado”,
siendo 7.0 la calificación mínima aprobatoria.
23. ■ Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C
respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde
constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un
mensaje de alerta en caso de que se detecte la introducción de valores iguales.