25

Algoritmos y Diagramas

Embed Size (px)

DESCRIPTION

conceptos, diagramas de flujo, algoritmos, tipo de datos.

Citation preview

Page 1: Algoritmos y Diagramas
Page 2: Algoritmos y Diagramas

1

Contenido

1.-¿Qué es un problema? ………………………………………………………………………….…2

2.-¿Qué es la lógica computacional? ……………………………………………………….……2

3.- Ejemplos de algoritmos …………………………………………………………………………..3

4.- Diagrama de flujo ……………………………………………………………….……………….….6

5.- Que significa cada uno de los simbolos del diagrama de flujo…………………..6

6.- Ejemplos de diagramas de flujo y algoritmos……………………………………………6

7.- Pseudocódigos……………………………………………………………………………………….23

8.- Ejemplo de Pseudocódigos………………………………….……………………….………..23

9.- Variables…………………………………………………………………………………….………….23

10.- Constantes ………………………………………………………………………….……………….23

11.- Tipos de datos …………………………………………………………………………………….24

12.- Tipos de algoritmos……………………………………………………………………………..24

13.- Contador………………………………………………………………………………………………24

14.- Acumulador………………………………………………………………………………………….24

Page 3: Algoritmos y Diagramas

2

¿Qué es un problema?

Es una cuestión o punto discutible que requiere de una solución que generan incognitas cuya

solución se realiza utilizando la tecnología y en otros caso utilizando métodos filosóficos.

Etapas para resolverlo

¿Qué es la lógica computacional?

Es aquella que nos ayuda a resolver ciertas acciones aplicando la computadora.

Entrada de datos. Proceso. Salida de datos.

¿Qué datos tengo?

¿Cuál es mi incógnita?

¿Qué operaciones debo

de realizar para obtener

el resultado?

¿Qué resultados cumplen

con mi objetivo?

Algoritmo

Es un conjunto ordenado

finito de instrucciones que

conduce a la solución de

un problema

Concepto

Estructura

general. Entrada Proceso Salida de datos.

Page 4: Algoritmos y Diagramas

3

Ejemplos de algoritmos

Porblema 1.

Pedro tiene en su reloj a las 9:00 am y quiere saber a que hora será, despues de transcurrir 1998

horas y cuantos dias pasaron.

24*83= 1992

1998-1992= 6hrs

9 hrs + 6 hrs= 3:00 pm

Problema 2.

Luis tiene un terreno de forma rectangular de 10 metros de ancho y 6 metros de largo, desea

ponerle piso de cemento a todo, él quiere saber cuantos bultos de cemento ocupara si por metro

cuadrado se lleva un bulto de cemento colocandolo con un grosor de 5cm ¿le puedes ayudar?

A= b*h

A= 10*6

A= 60

Problema 3. A lo largo de una carretera hay cuatro pueblos seguidos: los Rojos viven al lado de los Verdes pero no de los Grises; los Azules no viven al lado de los Grises. ¿Quiénes son los vecinos de los Grises?

Problema 4.

María tiene 4 años su hermana Martha tiene 3 veces su edad cuanto tendra Martha cuando su

edad sea el doble de María.

Problema 5.

Juan es 3 veces mas grande que nacho y Nacho tiene la mitad de la edad que Beto, José es 2 veces

mas viejo que la edad de Nacho y Beto sumadas.

Si José tiene 60 años, cuántos años tiene su prima Martha que es 2 años mayor que Nacho.

60*1= 60 bultos de

cemento.

Van a ser a las 3:00 pm

Transcurrieron 83 dias

A, R, V, G los verdes

Page 5: Algoritmos y Diagramas

4

DATOS

J=3N

N=1/2 B

J=2(N+B)

J=60

M=2+N

Problema 6.

Diseñe un algoritmo para convertir una longitud dada en metros a sus equivalentes en cm, pies,

pulgadas y yardas. Considere que 1m=100 cm, 1 pulgada= 2.54 cm, 1 pie= 12 pulgadas, 1 yarda= 3

pies.

1m=100cm

5m=5000cm

1pulgada= 2.54 cm

Xp= 500cm

Xp= 500cm*1 pulg

2.54 cm

P= 196.85 pulg

1pie = 12 pulgada

Xpie= 194.85 pulg

Xpie= 194.85pulg*1 pie

12 pulg

Pie= 16.2375 pies

1 yarda= 3 pies

X yarda= 16.2375 pies

X yarda= 16.2375 pies* 1 yarda

3 pies

Yarda= 5.4125 yardas

P= 196.85 pulg, Pie= 16.2375 pies, Yarda= 5.4125 yardas

Datos de salida

P, Pies, yardas

J= 2(20+10) J=2(30)

J=60 J=3(20)

J=60 N=20/2 N=10

M=2+10 M=12

Page 6: Algoritmos y Diagramas

5

Problema 7.

Diseñe un algoritmo para calcular el área y el perímetro de un cuadrado.

Inicio

Datos de entrada: Leer L=5

Proceso:

A= L*L

A= 5*5

A=25

P= AL

P= 4(5)

P= 20

A= 25 P=20

Datos de salida

A y P

Problema 8.

Diseñe un algoritmo para calcular el área y perímetro de un rectángulo

Inicio

Datos de entrada: Leer b, h

Proceso

A= b*h

P= 2b+2h

Datos de salida:

a, p

Fin

Problema 9.

Diseñe un algoritmo que dada la hora actual en horas, minutos, segundos determine cuantas

horas, minutos y segundos para culminar el dia.

H M S

12 0 0

Horas restantes= cociente (43200;3600)

Resto=residuo (43200; 60)

Minutos= residuo (0; 60)

=86800(A2*3600+60*B2+C2)

Page 7: Algoritmos y Diagramas

6

Algoritmo

Inicio

Entrada de datos

Proceso

Salida de datos

Fin

Problema 10

Diseña un algoritmo que determine el porcentaje de varones y mujeres que hay en un salón de

clases.

INICIO

M=Mujeres

V=Varones

Proceso

T=V+M

V=V*100/T

M=M*100/T

Datos de salida

Imprimir “V”, “M”

Fin

Diagrama de flujo

Es una herramienta de la lógica computacional la cual representa de manera gráfica el conjunto de

instrucciones que llevan a la solución de un problema.

Ejemplos de diagramas de flujo y algoritmos

Problema 1

Diseñe un algoritmo y diagrama de flujo del sueldo de tres empleados y aplicarles un aumento de

10, 12 y 15 % respectivamente

Datos de inicio: Leer S1, S2, S3

Flujo de

Datos

Conector

misma hoja

Conector

otra hoja

Pantalla

Toma de

decisión

Diagrama de flujo

Page 8: Algoritmos y Diagramas

7

Datos de entrada

AUM1= S1 * 0.10

AUM2= S2 * 0-12

AUM3= S3 * 0.15

SF1= S1 + AUM1

SF2= S2 + AUM2

SF3= S3 + AUM3

Datos de salida

SF1, SF2, SF3

Fin

Page 9: Algoritmos y Diagramas

8

Problema 2

Diseñe un algoritmo y diagrama de flujo que calcule el área de un rectangulo.

Inicio

Datos de entrada:

Leer altura, base

Proceso:

Area= base*altura

Datos de salida

Imprimir área

Fin

Page 10: Algoritmos y Diagramas

9

Problema 3

Diseñe un algoritmo y diagrama de flujo que lea una medida en GB y lo convierta en MB, KB, BITS.

Inicio

Leer X=GB

Datos de entrada:

1GB=1024 MB

1MB=1024 KB

1KB=1024 BYTES

X MB=(GB*1024)/1

X KB=(X MB*1024)/1

X B=(KB*1024)1

Datos de salida

Imprimir: X MB, X KB, XB

Problema 4

Diseñe el algoritmo y diagrama de flujo que calcule la resta de dos numeros dados.

Inico

Datos de entrada: Leer X,Y

Proceso:

R= X-Y

Salida

Imprimir R

Fin

Page 11: Algoritmos y Diagramas

10

Problema 5

Diseñe un algoritmo y diagrama de flujo para saber si un numero introducido por el usuario es

negativo.

Inicio

Datos de entrada: Leer num

Proceso

Si num <0

Num negativo

Fin – si

Fin

Page 12: Algoritmos y Diagramas

11

Problema 6

Realice un algoritmo y un diagrama de flujo que valide una division de 2 numeros, sabiendo que

solo podra realizar la division si el divisor es diferente de 0

Inicio

Datos de entrada: Leer X, Y

Proceso

Si y!=0

R= X/Y

Imprimir R

Fin – si

Fin

Page 13: Algoritmos y Diagramas

12

Problema 7

Diseñe un algoritmo que determine si una persona es mayor de edad o menor de edad al

introducir su edad por el teclado.

Inicio

Datos de entrada: Leer Y

Proceso: Si edad>17

Imprimir “Menor de edad”

De lo contrario

Imprimir “Mayor de edad”

Fin – si

Fin

Page 14: Algoritmos y Diagramas

13

Problema 8

Diseñe un algoritmo que determine si un número determinado por el usuario es o no es par

positivo.

Inicio

Datos de entrada Leer núm.

Proceso

Si Núm. mod 2=0 and

Num>0

Imprimir “Par positivo”

Fin – si

Fin

Page 15: Algoritmos y Diagramas

14

Problema 9

Diseñe un algoritmo y un diagrama de flujo que dados 3 números diga cuál es el mayor.

Inicio

D. E. Leer X, Y, Z

Proceso

Si X>Y AND X>Z

Entonces “mayor”, X

De lo contrario Y>X AND Y>Z

Si “Mayor Y”, Y

Si no “Mayor Z”, Z

Fin – si

Fin

Page 16: Algoritmos y Diagramas

15

Problema 10

Diseñe un algoritmo y un diagrama de flujo que introducido un numero daga si es negativo,

positivo o nulo.

Inicio

D. E. Leer X

Proceso

X=0

Imprimir “Positivo”

Si no X<0

Imprimir “Negativo”

Si no “Nulo”

Salida

Imprimir “Positivo”, “Negativo”, “Nulo”

Fin

Page 17: Algoritmos y Diagramas

16

Problema 11

Diseñe un algoritmo que permita ingresar una cantidad de 3 cifras y determine si es un número

capicúa o no, si la cifra es mayor a 999 y menor a 100, que mande un mensaje de 3 dígitos.

Inicio

D.E. Leer X

Proceso

Si X>100 and num<=999

Entonces

C= trunc (num/100)

R= hum mod 100

U= r mod

U= c

Imprimir “capicúa” de lo contrario “no capicúa”

De lo contrario “Ingresar numero de 3 cifras”

Fin – Si

Fin

Page 18: Algoritmos y Diagramas

17

Problema 12

Diseñe un algoritmo y un diagrama de flujo que califique el porcentaje obtenido en el lanzamiento

de 3 dados en base a la cantidad de 6 obtenidos de acuerdo a lo siguiente 3/6 obtenidos tiro

excelente, 2/6 tiro bueno 1/6 obtenido regular y 0/6 tiro malo

Inicio

D.E. Leer X, Y, Z

Case opción X+Y+Z=18

Si “tiro excelente”

Case 1 X+Y=12 OR X+Z=12 OR Y+Z=12

Si “tiro bueno”

Case 2 X=6, Y=6, Z=-6

Si “tiro regular”

Else case “tiro malo”

Imprimir “tiro excelente”, “tiro bueno”, “tiro regular”, “tiro malo”.

Fin

Page 19: Algoritmos y Diagramas

18

Problema 13

Dado un número natural positivo calcular la suma de los números naturales desde el 1 hasta el

número introducido.

Inicio

D. E. Leer num

Proceso

I=1

S=0

Mientras i<num

S= s+i

I= i´1

Fin mientras

Datos de salida S

Fin

Page 20: Algoritmos y Diagramas

19

Problema 14

Diseñe un algoritmo que calcule la suma del 1 al 100, de lo contrario que ese rango diga:

introduzca un número del 1 al 100 (mientras).

Inicio

D. E. Leer núm.

Proceso

Si num>=1 and num<=100

Si

i=1

S=100

Mientras i<=num

S= s+i

I= i+100

Fin mientras

Datos de salida S

De lo contrario

“INGRESE UN NUMERO DEL 1 AL 100”

Fin

Page 21: Algoritmos y Diagramas

20

Problema 15

Diseñe un algoritmo que calcule la suma del 1 al 100, de lo contrario que ese rango diga:

introduzca un número del 1 al 100(para).

Inicio

D. E. Leer núm.

Proceso

Si num>=1 and num<=100

De lo contrario

“INGRESE UN NUMERO DEL 1 AL 100”

Si i=1

S=100

Para i<=num

S= s+i

I= i+100

Fin - mientras

Datos de salida S

Fin

Page 22: Algoritmos y Diagramas

21

Problema 16

Diseñe un algoritmo que calcule la suma de los cuadrados del 1 al 10

INICIO

Proceso

S=0

Para i=1, 10,1

S= s+ (i*i)

Fin – Para

Datos de salida S

Fin

Page 23: Algoritmos y Diagramas

22

Problema 17

Diseñe un algoritmo que sume los números impares del 1 al 100 y que realice el cuadrado de los

números pares.

INICIO

Proceso

Si=0

Sp= 0

i= 1

Para i=1, 3, 1

R= i mod2

R= 0

Si Sp= sp+ (i*i)

De lo contrario

Si= si +i

Fin (para)

Datos de salida

Imprimir

Si

Sp

Fin

Page 24: Algoritmos y Diagramas

23

Ejemplos

Variables

Es un dato cuyo valor puede variar a lo largo o desarrollo de un algoritmo.

Ejemplo: X, Y, Z, nombre, edad, sexo.

Constantes

Es un dato que permanece con un valor, sin cambios.

Ejemplo: un algoritmo.

Pseudocódigos

Su principal objetivo es el de representar la

solución de un algoritmo de la forma más

detallada posible.

Concepto

Estructura

Cabecera

Cuerpo del

programa

Nombre del programa.

Tipos de datos.

Declaración de variables y

constantes

Inicio

Proceso o instrucciones

Fin.

Command1_click()

Dim i,a, suma As Integer

I=val(text1.text)

A=val(text2.text)

Suma=i+a

Text3.text=suma

End_sub

Page 25: Algoritmos y Diagramas

24

Tipos de datos

Contador

Se le llama contador a una variable cuyo valor se incrementa o decrementa en un valor fijo (en

cada interacion de un bucle)

Acumulador

El registro en donde se almacenan los resultados lógicos y aritmeticos intermedios sin un registro

acumulador, seria necesario escribir el resultado de cada cálculo (suma, multiplicación, división)

Numéricos

Caracteres

Booleanos

o Enteros

o Reales

o Carácter

o Cadena

o Verdadero o falsos

Tipos de algoritmos

Secuenciales De Decisión Repetitivo

Simple

Si_entonces

If_ then

Doble

Si_entonces_de

lo contrario

If_ then_else

Múltiple

En caso de opción

hacer OP1, OP2, OP3

Case

FOR (Para)

WHILE (Mientras)

REPEART (Repetir)