algoritmica
TRANSCRIPT
COMPUTACIÓN II-CICLO BÄSICO
Universidad Alejandro Humboldt
Conocimientos Básicos de Algortimica
CO
MP
UT
AC
IÓN
IIC
ICL
O B
ÁS
ICO
–U
NIV
ER
SID
AD
AL
EJ
AN
DR
O H
UM
BO
LD
T
lislu
zlu
z@
ho
tma
i l.co
m
CO
MP
UT
AC
IÓN
IIC
ICL
O B
ÁS
ICO
–U
NIV
ER
SID
AD
AL
EJ
AN
DR
O H
UM
BO
LD
T
lislu
zlu
z@
ho
tma
i l.co
m
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
MSc. Lisleiden Luzardo Ing. EPE-EMD, 2015
INTRODUCCIÓN
Bienvenidos al presente curso intensivo sobre CONOCIMIENTOS
BÁSICOS DE ALGORITMICA. Este material didáctico contiene los objetivos
de la materia, rubrica de evaluaciones y el contenido de la materia de
manera sencilla, clara y concreta para que todo participante de la misma no
encuentre los temas que harán de este curso una diversión mientras
aprendes haciendo. Algunos se estarán preguntando que es Algortimica,
así que te invito a seguir leyendo.
OBJETIVOS
• Demostrar dominio de los conceptos y técnicas de algoritmos utilizados
en la programación.
• Aplicar técnicas de diagramas de flujos para la solución de problemas.
• Identificar la estructura general de un programa.
• Emplear las diferentes tecnicas de programación en el desarrollo de
programas básicos.
2
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
CONTENIDO
Pág.
INTRODUCCIÓN 2
OBJETIVOS 2
UNIDAD I: ALGORITMO Y PROGRAMAS
Algoritmo (Ventajas)ElementosEjemplos, Ejercicios Prácticos
3
457
UNIDAD II: DIAGRAMAS DE FLUJO
DefiniciónSimbologiaGráficos BásicosDiagrama de Flujos EstructuradosGráficos BásicosEjemplos y Ejercicios Prácticos
101215171720
3
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
UNIDAD I: ALGORITMO Y PROGRAMAS
ALGORITMO: Es la forma o manera de expresar en lenguaje natural del
ser humano, la solución de un planteamiento de un problema o situación
dada, a través de un conjunto de pasos lógicos necesarios y secuenciales.
El algoritmo va acompañado de una simbología especial llamada
Diagrama de Flujo y/o Diagrama Estructurado, ambas son técnicas que nos
ayudan a la programación y desarrollo de manuales de procedimientos, entre
otras aplicaciones..
En conclusión, se puede decir, que un diagrama de flujo y diagrama
estructurado son la representación gráfica de la secuencia de instrucciones,
pasos para resolver un problema dado, representado con anterioridad a
través del Algoritmo
VENTAJAS de los Algoritmos y DF:
1. Es más fácil de diseñar el DF de un algoritmo y luego escribir
el programa, que escribirlo directamente.
2. Los DF son una ayuda importante para el desarrollo del
algoritmo.
4
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
3. Son más fáciles de entender que el programa (Análisis, diseño
y desarrollo de Sistemas de Información).
4. Los DF son independientes a cualquier lenguaje de
programación y actividad a la cual sean requeridos para resolver una
problemática dada.
ELEMENTOS:
1. Variables : Es un dato cuyo valor puede cambiar durante la
ejecución de un programa y su nombre debe estar identificado con el objetivo
del programa, y a la vez el programador la identifique, comienzan por letras,
Ej: Val = Valor, Prom = Promedio, etc.
2. Tipos de Variables : entero (integer), entero largo(long integer),
string (cadenas de caracteres), date(fecha), time(hora), currency(monetario),
etc.
3. Operadores Matemáticos : +, -, *, /, exponenciación. Orden de
los operadores aritméticos: ^ o **, *, /, +, -, div y Mod; Cuando existen
expresiones que tienen más de dos operandos, se requiere de reglas
matemáticas que permitan determinar el orden de las operaciones y éstas,
son reglas de prioridad o precedencia y son:
- Operaciones que están encerradas entre paréntesis se evalúan primero.
Si existen diferentes paréntesis anidados (interiores unos a otros), las
expresiones más internas se evalúan primero.
- Las operaciones aritméticas dentro de una expresión generalmente suelen seguir el siguiente orden de prioridad:
1. Operador exponencial (^, , o bien **)
5
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
2. Operadores *, /
3. Operadores +, -.
4. Operadores div y mod
En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión, encerrada entre paréntesis, el orden de prioridad es en este caso de izquierda a derecha.
Ejemplo: (1000+(100*(CMLLAM-3)))
(N1+N2+N3+N4)/4)
4. Operadores Lógicos : AND (Si ambas expresiones son
verdaderas el resultado es verdadero, OR (Si una es V el resultado es V),
NOT (Si la expresión es condicionada, el resultado es V y viceversa), XOR
(Si una y sólo una de las condiciones es V, el resultado es V).
5. Operadores Relacionales : <, >, =, <=, >=, <>
6. Contadores : Es una variable que permite incrementar una
variable en una unidad cada vez que se cumple un proceso, ciclo o
repetición.
7. Iteraciones : Es la repetición controlada de una secuencia de
funciones, un proceso se repetirá mientras se cumpla una determinada
condición o evento.
6
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
EJEMPLOS PRÁCTICOS DE ALGORITMOS O PSEUDOCÓDIGO:
A. Inscripción de Alumnos Regulares.
1.- Inicio
2.- Leer No. De Carnet(Carnet) y/o Cédula de Identidad (CI)
3.- Leer No. De Vouchet del Banco
4.- El pago del alumno corresponde a Inscripción?
Si es si, ir al paso 6
Si es no, ir al paso 5
5.- El pago del alumno corresponde a Mensualidad?
Si es si, ir al paso 6
Si es no, ir al paso 7
6.- Entregar Solvencia
7.- Fin
7
PSEUDOCÓDIGO (ALGORITMO)
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
Contenido pdf - Algorítmica - Pág. 7
B. La compañía MDM cuenta con 7 empleados
y desea calcular la prima para cada uno de los empleados:
1.- Inicio
2.- Leer número de empleados (NUMEMP)
3.- Inicializar contador: NUMEMP = 0
4.- Leer Nombre del empleado (NOMEMP)
5.- Leer Salario
6.- Calcular PRIMA
PRIMA = 0.03*Salario
7.- Acumular NUMEMP = NUMEMP + 1
8.- Comparar NUMEMP = 30
Si es si, ir al paso (9)
Si es no, ir al paso (4)
9.- Imprimir NOMEMP, Salario, PRIMA
8
PSEUDOCÓDIGO (ALGORITMO)
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
10.- Fin
EJERCICIOS PRÁCTICOS
1.- Desarrollar un algoritmo para preparar un café (no importa si es en
cafetera eléctrica).
2.- Elaborar un algoritmo para calcular la suma de dos números.
9
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
UNIDAD II: DIAGRAMAS DE FLUJO
DIAGRAMAS DE FLUJO: Son gráficos que señalan el movimiento,
desplazamiento o curso de alguna cosa, que bien puede ser una actividad,
formulario, informe, materiales, personas o recursos, programas. En la etapa
de análisis del sistema a diseñar, el diagrama de flujo nos mostrará la
situación del sistema, procedimiento, tal cual está actualmente, en la etapa
de formulación, indicará el diseño del sistema o procedimiento, que
hubiéremos propuesto. Mediante esta técnica de sistematización es posible
indicar el flujo de todo el trabajo de una departamento, empresa o programa,
si se quisiera; elaborando uno para cada actividad y para cada persona, de
manera que muestre las interrelaciones procedimentales entre los diferentes
departamentos, secciones y personas, en forma secuencial y
cronológicamente.
El flujograma es el diagrama de uso más generalizado en sistemas y
procedimientos, por mostrar las interrelaciones de personas, recursos, con
suma claridad y detalle. En conclusión podemos decir, que los diagramas de
flujo son símbolos gráficos que representan a un algoritmo, así mismo el
flujograma nos permite averiguar aspectos importantes como los siguientes:
1. Si resulta verdaderamente necesario efectuar cada paso.
10
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
2. Si la manera de realizar cada “paso” es la más conveniente, eficiente y
económica.
3. Si se produce redundancia en información o de esfuerzos o recursos.
4. Posibilidad de cambiar la secuencia, para ahorrar: Tiempo-Esfuerzos y
Recursos.
5. Si algún “paso” se puede eliminar o sustituir.
6. La existencia de dependencias o secciones “Estancos”, es decir, donde
se retrasan las actividades demasiado, restándole fluidez al procedimiento.
Al detectarse se estudiará sus causas, si se justifica y si se pueden eliminar.
7. El número exacto de copias, que se requiere de cada formulario, por
qué, y si están debidamente distribuidas (Se detecta cualquier copia de
formulario o informe sobrante o innecesaria, que se pueda suprimir).
8. El personal requerido para cada actividad, si hay exceso o hace falta
mano de obra.
SIMBOLOGÍA
Simbolo Descripción
Dirección del Flujo de Dato
Proceso Ejm: Prima = 10%*Salario
11
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
Entrada / Salida (Datos e Información)
Inicio – Fin
Decisión
Conector entre pasos
Conector de Páginas
GRÁFICOS BÁSICOS
1. Gráfico de Secuencia Simple: Las instrucciones son ejecutadas una
detrás de la otra, tal y como fueron almacenadas.
2. Gráfico de Selección(Bifurcación): Requiere tomar una decisión de
acuerdo al valor booleano (V o F) del resultado, se tomará o no alguna de las
vías o alternativas:
12
B
A
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
3. Gráfico de Lazo (Bucles): La ejecución E y F continua en forma de
lazo mientras D sea verdadero, de lo contrario no se ejecutaran:
4. Pasos a seguir:
1.- Decisión, 2.- Cuerpo del Bucle, 3.- Salida
5. Gráfico de Transferencia de Control: El control es transferido desde
la secuencia simple del flujo hacia otra parte del programa. Ejemplo en
decisiones:
13
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
EJEMPLO PRÁCTICO
1.- Desarrollar un algoritmo que imprima el área de un triangulo y
Construya su respectivo Diagrama de Flujo(DF).
1. INICIO
2.- LEER BASE (BAS) Y ALTURA(ALT)
3.- CALCULAR AREA DEL TRIANGULO (AREAT)
AREAT = (BASE*ALTURA)/2
4.- IMPRIMIR AREAT
5.- FIN
14
ALGORITMO
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
EJEMPLO PRÁCTICO
DIAGRAMAS ESTRUCTURADOS: Es la representación de algoritmos
mediante el uso de bloques, lo que facilita su traducción al lenguaje de
programación, es decir, este diagrama es un conjunto de bloques y sub-
bloques organizados de manera lógica y se recorre de arriba hacia abajo.
Cada bloque ejecuta una operación específica, la cual puede documentarse
o describir con la precisión que se desee. Esta técnica hace uso de tres
15
DIAGRAMA DE FLUJO
INICIO
AREAT = (BASE*ALTURA)/2
Base, Altura
AREAT
FIN
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
estructuras lógicas(Proceso, Condición, Lazo), las cuales representaremos a
través de 5 gráficos básicos:
1.- Secuencia Simple: Se ejecuta la instrucción A después de la B. Un
sub-bloque puede representar cualquier función de procesamiento (entrada,
salida, comienzo, fin, entre otros).
2.- Selección: Dada la condición se elegirá una de las alternativas
posibles, es decir, se ejecuta un proceso (A,B) según sea V o F,
16
A
B
CONDICIÓN
SI NO
A B
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
3.- Selección Múltiple: Esta estructura evaluará una expresión que podrá tomar n valores, distintos todos 1, 2, 3, 4,.., n. Se realizará una de las n acciones de acuerdo a la elección de uno de estos bloques.
4.- Transferencia de Flujo de Control: El control es transferido hasta otro bloque o parte del programa, según las condiciones establecidas previamente.
5.- De Lazo: Si no se cumple la condición de fin de lazo repetir el proceso A teniendo en cuenta si es necesaria la condición de inicio de el lazo y el incremento.
17
Variable
1,2,3…N Otro
A B C………..X Y
CONDICIÓN
SI NO
A Continue
B
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
EJEMPLO PRÁCTICO
1.- Desarrollar un algoritmo que imprima el área de un triangulo y
Construya su respectivo Diagrama de Flujo(DF).
18
Repetir proceso hasta que se
cumpla una condición.
A
Imprimir o Mostrar AreaT
FIN
DIAGRAMA ESTRUCTURADO
INICIO
Leer Base, Altura
Calcular Area de Triangulo
AreaT=(BASE*ALTURA)/2
CONOCIMIENTOS BÁSICOS DE ALGORITMICA
EJERCICIOS PRÁCTICOS
Desarrollar algoritmo, Diagrama de Flujo y Diagrama Estructurado para
los siguientes casos de estudios:
1. Hallar el mayor entre dos números e imprimirlo.
2. Leer Dos (2) números:
1.- Si son iguales que los multiplique.
2.- Si el primero es mayor que el segundo que lo reste, si no que lo sume.
19