algoritmica

19
COMPUTACIÓN II-CICLO BÄSICO Universidad Alejandro Humboldt Conocimientos Básicos de Algortimica C O M P U T A C I Ó N I I C I C L O B Á S I C O U N I V E R S I D A D A L E J A N D R O H U M B O L D T l i s l u z l u z @ h o t m a i l . c o m C O M P U T A C I Ó N I I C I C L O B Á S I C O U N I V E R S I D A D A L E J A N D R O H U M B O L D T l i s l u z l u z @ h o t m a i l . c o m

Upload: lisleiden-luzardo

Post on 22-Jul-2015

61 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Algoritmica

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

Page 2: Algoritmica

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

Page 3: Algoritmica

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

Page 4: Algoritmica

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

Page 5: Algoritmica

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

Page 6: Algoritmica

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

Page 7: Algoritmica

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)

Page 8: Algoritmica

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)

Page 9: Algoritmica

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

Page 10: Algoritmica

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

Page 11: Algoritmica

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

Page 12: Algoritmica

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

Page 13: Algoritmica

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

Page 14: Algoritmica

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

Page 15: Algoritmica

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

Page 16: Algoritmica

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

Page 17: Algoritmica

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

Page 18: Algoritmica

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

Page 19: Algoritmica

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