Está en la página 1de 32

Algoritmos (IN220)

Introduccin
Prof. Bethy De la Cerna G.
Copyright 2016

Agenda Semana 1
Presentacin del curso
Algoritmo, definicin y caractersticas
Ejemplos de diagramas de flujo
Ejemplos de pseudocdigo
Ejercicios

20/03/2016

Copyright 2016 BDC

Frase del da

Aprender es como remar contra corriente:


en cuanto se deja de remar, se retrocede
Edward Benjamin Britten,
compositor y pianista britnico
(1913 1996)

20/03/2016

Copyright 2016 BDC

10

Ejemplo 1

Datos
requeridos
Respuesta
solicitada
Instrucciones

Elabore un algoritmo que permita evaluar cul


de dos personas tiene la mayor edad, si se
conocen las edades de stas.
1. Los datos son mencionados de manera
explcita en el problema: Edad1 y Edad2
2. Hallar la mayor edad.
3. Instrucciones:
1.
2.

Mostrar
respuesta
20/03/2016

Si Edad1 >= Edad2 Entonces Mayor = Edad1


Si Edad2 >= Edad1 Entonces Mayor = Edad2

4. Mostrar: Mayor
Copyright 2016 BDC

22

Ejemplo 2

Datos
requeridos
Respuesta
solicitada
Instrucciones
Mostrar
respuesta

20/03/2016

Elabore un algoritmo que permita resolver una ecuacin


cuadrtica ( 2 + + = 0).
1. Se deducen que los datos son los coeficientes de la
ecuacin cuadrtica: , y .
2. Determinar las dos races de la ecuacin: 1, 2
3. Si las races son reales, aplicar la frmula:
2 4
1, 2 =
2
4. Mostrar: 1, 2

Copyright 2016 BDC

23

Representacin de un algoritmo
Antes de disear un algoritmo es importante
entender primero cul es el problema.
Los algoritmos pueden disearse de diversas
maneras:
o
o

Diagrama de flujo. Sirve para representar en


forma grfica el algoritmo.
Pseudocdigo. Sirve para representar el
algoritmo en forma textual, para lectura
humana (a diferencia de un lenguaje de
programacin o cdigo de mquina).
Diagrama NS (Nassi-Shneiderman). Combina la
representacin grfica con el pseudocdigo.

20/03/2016

Copyright 2016 BDC

24

Diagrama de flujo
Smbolos bsicos:

Decisin (condicin lgica)

Salida de informacin

Conectores

Flujo de informacin

Inicio/Fin

Ingreso de datos

Proceso
(actividad/instruccin)

20/03/2016

Copyright 2016 BDC

25

Pseudocdigo
Es la descripcin de un algoritmo diseado para la lectura
humana (en lenguaje comn), no para el computador
(lenguaje de programacin o cdigo de mquina).
El pseudocdigo es independiente del lenguaje de
programacin en el que se programar (p.ej. Visual Basic,
C++, Java).
Omite detalles particulares del lenguaje de programacin
tales como: sintaxis rgida, declaracin estricta de variables y
constantes, operadores expecficos, etc.
20/03/2016

Copyright 2016 BDC

26

Diagramas Nassi-Shneiderman (NS)


El diagrama NS es una representacin
grfica que muestra el diseo de un
programa estructurado.
Fue desarrollado en 1972 por Isaac
Nassi y Ben Shneiderman. Este
diagrama tambin es conocido como
estructograma, ya que sirve para
representar la estructura de los
programas. Combina la descripcin
textual del pseudocdigo con la
representacin grfica del diagrama de
flujo.
20/03/2016

Copyright 2016 BDC

27

Ejemplo 1
Elabore el algoritmo permita calcular el rea de un tringulo.
Represente el diagrama de flujo y pseudocdigo del algoritmo.

Altura (H)
rea (A)

Base (B)

20/03/2016

Copyright 2016 BDC

28

Solucin
Debe identificarse primero los datos de entrada del problema,
luego el proceso a seguir y el resultado a mostrar.

20/03/2016

Datos de entrada

Proceso

Informacin de salida

Dimensiones (B, H)

=
2

rea (A)

Copyright 2016 BDC

29

Inicio

Diagrama de flujo
La condicin sirve
para validar los
datos ingresados

B, H

B >0
y
H>0

A (B * H) / 2

No
Datos
errados

Fin
20/03/2016

Copyright 2016 BDC

30

Pseudocdigo
Inicio
Ingresar B, H
Si (B > 0 y H > 0) Entonces
A (B * H) / 2
Mostrar A
De otro modo
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

La flecha indica el
sentido de
asignacin de
valores

Para mostrar un
texto se emplean
comillas

31

Ejemplo 2
Desarrolle un algoritmo que calcule el rea total de un cilindro.

Radio (R)
rea (A)

20/03/2016

Copyright 2016 BDC

32

Solucin
Se identifica como nico dato de entrada el radio del crculo.
Para el proceso debe definirse la constante Pi ()

Datos de entrada

Radio (R)

20/03/2016

Proceso

= 3.14159265
= 2
= 2

Copyright 2016 BDC

Informacin de salida

rea (A)
Longitud (L)

33

Inicio

Diagrama de flujo

R>0

Pi 3.14159265
A Pi * R^2
L 2 * Pi * R

No

Dato errado

A, L

Fin

20/03/2016

Copyright 2016 BDC

34

Pseudocdigo
Inicio
Ingresar R
Si R > 0 Entonces
Pi 3.14159265
A Pi * R^2
L 2 * Pi * R
Mostrar A, L
De otro modo
Mostrar Dato errado
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Note los
operadores
matemticos

35

Ejemplo 3
Desarrolle un algoritmo que calcule el rea total de un cilindro.

20/03/2016

Copyright 2016 BDC

36

Solucin
Se identifica como datos de entrada el radio y altura del
cilindro. El rea total se calcula como la suma del rea lateral y
dos veces el rea de la base.

Datos de entrada

Radio (R)
Altura (H)

20/03/2016

Proceso

= 3.14159265
= 2
= 2
= + 2
Copyright 2016 BDC

Informacin de salida

rea total (AT)

37

Pseudocdigo
Inicio
Leer H, R
Pi 3.14159265
Si H > 0 y R > 0 Entonces
A_Base Pi * R^2
A_Lat 2 * Pi * R * H
A_Tot 2 * A_Base + A_Lat
Mostrar A_Tot
De otro modo
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Los nombres de
variables no
pueden contener
espacios

38

Ejemplo 4
Elabore un algoritmo que permita calcular el
promedio de notas de un alumno.
Los pesos de las notas son:
Evaluacin continua (50%)
Examen Parcial (20%)
Examen Final (30%)

20/03/2016

Copyright 2016 BDC

39

Pseudocdigo
Inicio
Ingresar EC, EP, EF
Si (EC >= 0 y EC <=20) y (EP >= 0 y EP<=20) y
(EF >= 0 y EF <=20) Entonces
Prom EC * 0.5 + EP * 0.2 + EF * 0.3
Mostrar Prom
De otro modo
Mostrar Datos errados
Fin de Si
Fin

20/03/2016

Copyright 2016 BDC

Se validan las notas


ingresadas

40

Ejemplo 5
Elabore un algoritmo que intercambie los valores de
dos variables (A debe tomar el valor de B y B debe
tomar el valor de A).

20/03/2016

Copyright 2016 BDC

41

Pseudocdigo
Inicio

Ingresar A, B

Se ingresan las dos variables

Temp A

Se guarda una de ellas en


una variable temporal

AB

La primera variable recibe


el valor de la segunda

B Temp

La segunda variable recupera


el valor almacenado en la
variable temporal

Mostrar A, B

Se muestran los nuevos


valores de las variables

1
Temp

Fin
20/03/2016

Copyright 2016 BDC

42

Ejemplo 6
Desarrolle un algoritmo que permita calcular el
monto a cobrar por la venta de un artculo.

20/03/2016

Copyright 2016 BDC

43

Pseudocdigo
Inicio
Ingresar Pu, Cant
Si Pu > 0 y Cant > 0 Entonces
Total Pu * Cant
Mostrar Total
Sino
Mostrar Datos errados
Fin de Si
Fin
20/03/2016

Copyright 2016 BDC

Se ingresa el precio unitario y la


cantidad
Se validan los datos ingresados
Se calcula y muestra
el total a pagar

En caso de error se muestra el


mensaje correspondiente

44

Ejemplo 7
Desarrolle un algoritmo que permita calcular cul es
el mayor de dos datos ingresados.

20/03/2016

Copyright 2016 BDC

45

Pseudocdigo
Inicio
Ingresar X, Y
Si X >= Y Entonces
Mayor = X
De otro modo
Mayor = Y
Fin de Si
Mostrar Mayor
Fin
20/03/2016

Otra solucin:
Si X>= Y entonces Mayor = X
Si Y>= X entonces Mayor = Y

Copyright 2016 BDC

46

Ejercicio 1: Notas
Ingrese dos notas de un alumno, calcule su promedio y
mustrelo
Si el promedio es aprobado, muestre el mensaje
Felicitaciones, en caso contrario muestre Estudie ms.
No olvide validar los datos ingresados.

20/03/2016

Copyright 2016 BDC

47

Ejercicio 2: Sueldo
Ingrese el sueldo bruto y los aos de servicio de un
empleado.
Calcule el sueldo neto a pagarle considerando que si tiene
hasta 8 aos se le otorga una bonificacin de 12% sobre el
sueldo bruto, y 15% en caso contrario.

20/03/2016

Copyright 2016 BDC

48

Ejercicio 3: Tringulo
Dados 3 nmeros determine lo siguente:
Si son o no los lados de un tringulo. Es decir, verificar para
los 3 nmeros, que cualquiera de ellos debe ser menor que
la suma de los otros 2, pero mayor que su diferencia.
Si se trata de un tringulo, identificar si:
o Es

equiltero (3 lados iguales),


o Es issceles (2 lados iguales) o
o Es escaleno (3 lados diferentes)
20/03/2016

Copyright 2016 BDC

49

Ejercicio 4: Billetes y monedas


Ingrese una cifra cualquiera en soles e indique la menor
cantidad de billetes y monedas para dicha suma.
Ejemplo: S/. 3,178 =
15 billetes de S/. 200
o 1 billete de S/. 100
o 1 billete de S/. 50
o 1 billete de S/. 20
o 0 billetes de S/. 10
o 1 moneda de S/. 5
o 0 monedas de S/. 2
o 1 moneda de S/. 1
o

20/03/2016

Copyright 2016 BDC

50