Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FUNDAMENTOS DE PROGRAMACION
PRIMERA UNIDAD
ALGORITMOS Y PROGRAMAS
AUTOR:
ING. MARIO ALEJANDRO LONDOÑO
GRANADA 2018
1
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
____________________________________________________
PROGRAMA: ________________________________________
JORNADA: __________________________________________
CALIFICACION: _______________________________________
_____________________
FIRMA DEL DOCENTE
2
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
3
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
PRESENTACION
4
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
PRUEBA INICIAL
Que es un problema?
Cuál es la diferencia entre un problema social y un problema matemático?
Calcula el área de un triángulo?
1
http://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Algoritmos_y_programas
5
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Codificación
Análisis del del
Problema Algoritmo
Ejecución
Diseño del del
Algoritmo programa
Verificación Verificación
del del
Algoritmo Programa
Programa
de trabajo
6
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Esta fase incluye, a su vez, el análisis del problema así como el diseño y posterior
verificación del algoritmo.
Para diseñar un algoritmo se debe comenzar por identificar las tareas más
importantes para resolver el problema y disponerlas en el orden en el que han de
ser ejecutadas. Los pasos en esta primera descripción pueden requerir una
revisión adicional antes de que podamos obtener un algoritmo claro, preciso y
completo. En un algoritmo se deben de considerar tres partes:
7
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Especificaciones de salida
8
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
TIPO DESCRIPCIÓN
Entero El rango depende de cuantos bits utilice para codificar el número,
normalmente 2 bytes, Para números positivos, con 16 bits se pueden
almacenar 216= 65536 números enteros diferentes: de 0 al 65535, y de
-32768 al 32767 para números con signo.
C1=”Hola”, C2=”Pepeeerl”.
Tabla 1. Tipos de Datos básicos
9
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
TIPO DESCRIPCIÓN
Escalar
Se hace una enumeración de los valores que va a tomar el tipo.
Para ello se antepone la palabra Ejemplo:
moneda=(peseta,libra,franco,marco)
dia=(L,M,X,J,V,S,D)
Subrango
Son un subconjunto finito de un tipo definido por el usuario y, en
general, de cualquier tipo que tenga sucesor y predecesor, como los
enteros y carácter. Ejemplo:
Laboral=L..V
Minúsculas=’a’..’z’
aceptado=1000..1100
Constante
s Son datos cuyo valor no cambia durante todo el desarrollo del
programa.
Variables
Una variable es un dato representado por una posición determinada
de memoria cuyo valor puede cambiar durante el desarrollo del
algoritmo.
OPERADORES ARITMÉTICOS
Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos
ellos son operadores binarios. Se utilizan los cinco operadores siguientes:
Suma: +
Resta: -
Multiplicación: *
División: /
Resto: % (resto de la división entera. Este operador se aplica solamente a
constantes, variables o expresiones de tipo entero).
OPERADORES DE ASIGNACIÓN
variable = variable + 1;
OPERADORES RELACIONALES
– Igual que: ==
– Menor que: <
– Mayor que: >
– Menor o igual que: <=
– Mayor o igual que: >=
– Distinto que: !=
11
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
OPERADORES LÓGICOS
Los operadores lógicos son operadores binarios que permiten combinar los
resultados de los operadores relacionales, comprobando que se cumplen las
condiciones necesarias. Como operadores lógicos tenemos: el operador Y (&&), el
operador O (||) y el operador NO (!). En inglés son los operadores AND, OR y NOT.
Su forma general es la siguiente:
FUNCIONES
Función Descripción
EXPRESIONES
12
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Por tanto debemos recordar que un grupo de sentencias va entre llaves {...}.
Una sentencia simple aislada no necesita llaves.
ACTIVIDADES
Ejercicio 1. Ir al cine.
Solución:
DATOS DE SALIDA Ver la película.
DATOS DE ENTRADA Nombre de la película, dirección de la sala, hora de
proyección.
13
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Algoritmo irAlCine()
INICIO
// Seleccionar la película
Tomar el periódico.
Mientras no lleguemos a la cartelera
pasar la hoja.
Mientras no se acabe la cartelera
Inicio
leer película.
Si nos gusta, anotarla.
Fin.
Elegir una de las películas seleccionadas.
Leer la dirección de la sala y la hora de proyección.
// Comprar la entrada
Trasladarse a la sala.
Si hay entrada
Inicio
Si hay cola
Inicio
Colocarse al final de la cola.
Mientras no lleguemos a la taquilla
Avanzar.
Fin.
Comprar la entrada.
// Ver la película
Leer el número de asiento de la entrada.
Buscar el asiento.
Sentarse.
Ver la película.
Fin.
FIN.
Para poner la mesa, después de poner el mantel, se toman las servilletas hasta
que su número coincide con el de comensales y se colocan. La operación se
repetirá con los vasos, platos y cubiertos.
Algoritmo ponerMesa()
INICIO
Poner el mantel.
Hacer
Tomar una servilleta y colocarla.
Mientras el número de servilletas no sea igual al de comensales.
Hacer
Tomar un vaso y colocarlo.
Mientras el número de vasos no sea igual al de comensales.
Hacer
Tomar un juego de platos y colocarlo.
Mientras el número de juegos de platos no sea igual al de
comensales.
Hacer
Tomar un juego de cubiertos y colocarlo.
Mientras el número de juegos de cubiertos no sea igual al de
comensales.
FIN.
Para fregar los platos: abrir la llave de agua, limpiar los platos con un estropajo
con jabón, colocarlos en el escurridor y finalmente secarlos.
Algoritmo lavarPlatos()
INICIO
Abrir la llave de agua.
Tomar el estropajo.
Echarle jabón.
Mientras queden platos
Inicio
Lavar el plato.
Dejarlo en el escurridor.
Fin.
Mientras queden platos en el escurridor
Secar plato.
FIN.
15
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Autoaprendizaje
x: entero;
y: carácter;
z,t: real;
m, n, p: entero;
c, s: cadena
16
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Diagrama de flujo
Diagrama N-S(Nassi – Schneiderman)
pseudocódigo
Imagen 1.
Los
diagramas de flujo son de gran
importancia ya que ayudan a designar
cualquier representación gráfica de un
procedimiento o parte de este; el diagrama de
flujo como su nombre lo indica
representa el flujo de
información de un
procedimiento.
Los
diagramas de flujo son
importantes para el diseñador por que le ayudan en la definición, formulación,
análisis y solución del problema. El diagrama de flujo ayuda al análisis a
comprender el sistema de información de acuerdo con las operaciones de
procedimientos incluidos, le ayudara analizar esas etapas, con el fin tanto de
mejorarlas como de incrementar la existencia de sistemas de información para la
administración.
17
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Imagen 2.
Nombre de la Dirección Web Autor Fecha de
imagen Consulta
Ejemplo de http://www.desarrolloweb.com/articulos/images/algoritmos/ejempl Manuel 01/06/201
un o_ordinograma.gif Murillo 2
diagrama García
de Flujo
Inicio
<acción 1>
18
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
<acción 2>
...
<acción 3>
Fin
Diagrama 2. Representación general
Inicio
<acción 1>
<acción 2>
...
<acción 3>
Fin
Alternativas:
o Alternativa simple.
Inicio
SI NO
acción 1
acción 2
.
19
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
.
acción n
Diagrama 4. Representación Alternativa Simple
o Alternativa doble
Inicio
SI NO
acción 1 acción 1
acción 2 acción 2
. .
. .
acción n acción n
Diagrama 5. Representación Alternativa Doble
algoritmo suma_1_a_100
var
entero: contador, SUMA begin
contador ← 1
SUMA ← 0
while contador <= 100 do
SUMA ← SUMA + contador
contador ← contador + 1
endwhile
write (‘La suma es:’, SUMA) end
2.3 Pseudocódigo
Si <expresión lógica>
Entonces.
20
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Actividad
Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál de
los dos valores es el mayor y escribirlo.
Pseudocódigo Diagrama de Flujo
1. Inicio
2. Inicializar variables: A = 0, B = 0
6. Si A = B Entonces vuelve a 3
porque los valores deben ser
distintos
7. Si A>B Entonces
Escribir A, “Es el mayor”
9. Fin_Si
10. Fin
Autoaprendizaje
22
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
1. Archivo: Este menú se encarga del manejo del archivo que estemos
trabajando. Están los siguientes comandos:
Nuevo: Para crear un nuevo archivo DFD.
Abrir: Para abrir un archivo DFD guardado.
Guardar: Para guardar el archivo que se está utilizando.
Guardar como: Para guardar con un nombre diferente el DFD que se está
utilizando. Imprimir: Para imprimir el archivo DFD abierto.
Salir: Para terminar la sesión.
5. Ejecución: Este menú activa la ejecución del diagrama, contiene los siguientes
comandos:
23
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
24
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Actividad
Dentro de la casilla leer, se deben especificar las variables que van a ser leídas
separadas por coma (,) y pulsar el botón “Aceptar”.
25
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
-Para editar bloque de salida damos doble clic y aparece la siguiente ventana:
Dentro de la casilla mostrar, se deben especificar las variables que van a ser
mostradas en pantalla separadas por coma (,) y encerradas entre comillas simples
(‘) para que se vean en la pantalla ya que es la información que se muestra
durante la ejecución del diagrama. Luego pulsar el botón “Aceptar”.
-Para editar el elemento decisión damos doble clic y aparece la siguiente ventana:
26
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Autoaprendizaje
27
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
28
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Ahora para que los valores ingresados por el usuario obtengan un resultado
satisfactorio insertaremos un bloque de asignación, el cual hace la operación
utilizando las dos variables que ya insertamos (A y B).
Evaluación
30
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
Pistas de aprendizaje
Tener en cuenta: Los diagramas de flujos de datos son una técnica de análisis
estructurado que van de lo general a lo específico muestran las posibles entradas,
procesos y salidas del sistema. Los diagramas son usados cuando los analistas
tratan de comprender los requerimientos de información de los usuarios de una
manera gráfica utilizando varios símbolos combinados entre sí.
31
G R A D O O N C E - F U N D A M E N TO S D E P R O G R A M A C I O N
GLOSARIO
LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por
el software.
ALGORITMO: Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales
expresan la lógica de un programa.
DIAGRAMA DE FLUJO: Es la representación gráfica de una secuencia de
instrucciones de un programa que ejecuta un computador para obtener un resultado
determinado.
CÓDIGO FUENTE: Programa en su forma original, tal y como fue escrito por el
programador, el código fuente no es ejecutable directamente por el computador, debe
convertirse en lenguaje de maquina mediante compiladores, ensambladores o
intérpretes.
VARIABLE: En programación es una estructura que contiene datos y recibe un nombre
único dado por el programador, mantiene los datos asignados a ella hasta que un
nuevo valor se le asigne o hasta que el programa termine.
CONSTANTE: Valor o conjunto de caracteres que permanecen invariables durante la
ejecución del programa.
ACUMULADOR: Campo o variable que sirve para llevar una suma o cuenta de
diferentes valores.
DATO: El término que usamos para describir las señales con las cuales trabaja la
computadora es dato; Aunque las palabras dato e información muchas veces son
usada indistintamente, si existe una diferencia importante entre ellas. En un sentido
estricto, los datos son las señales individuales en bruto y sin ningún significado que
manipulan las computadoras para producir información.
PROGRAMA: Es una colección de instrucciones que indican a la computadora que
debe hacer. Un programa se denomina software, por lo tanto, programa, software e
instrucción son sinónimos.
PROGRAMA FUENTE: Instrucción escrita por el programador en un lenguaje de
programación para plantear al computador el proceso que debe ejecutar.
PSEUDOCODIGO: Herramienta de análisis de programación. Versiones falsificadas y
abreviadas de las actuales instrucciones de computadora que son escritas en lenguaje
ordinario natural.
SUBRUTINA: Programa (conjunto de instrucciones), que desde otro programa se
pueden llamar a ejecución ó bien se puede, decir grupo de instrucciones que realizan
una función específica, tal como una función o marco. Una subrutina grande se
denomina usualmente * * MODULO * * ó * *PROCEDIMIENTO * *, pero todos los
términos se utilizan de manera alternativa.
Cibergrafia
http://es.wikipedia.org/wiki/Bubblesort
http://sistemas.itlp.edu.mx/tutoriales/estructdatos2/tema5_1.htm
http://macabremoon0.tripod.com/id13.html
http://clintyanyurbis-diagramasdeflujo.blogspot.com/2007/07/diagramas-de-
flujo.html
32