Algoritmos y Estructura de Datos
-
Upload
keith-aguilar-zarate -
Category
Documents
-
view
16 -
download
0
description
Transcript of Algoritmos y Estructura de Datos
-
SEMANA 3
ALGORITMOS
Prof. Luis Campos Silvestre / Lic. Csar Angulo Caldern
Facultad de Ingeniera Electrnica
Curso: Lenguaje de programacin
-
Algoritmos
Temtica1. Problemas y soluciones
Funciones del Computador
Introduccin a la Lgica
Anlisis del problema
2. Naturaleza de los datos
Tipos de datos
Expresiones y variables
Operadores y reglas de procedencia
3. Algoritmos
-
Algoritmos
Introduccin
Un joven aspiraba a entrar en la marina, acude a su entrevista y lehacen la siguiente pregunta: Sabe nadar? A lo que l respondi: Y
para qu tienen los barcos?
El computador se qued esttico Pensando?
El computador procesa informacin de acuerdo a la lgica en que lasuministramos.
El computador no trabaja por s solo, necesita de los datos ordenadosque el usuario suministra para obtener resultados
Anlogamente: Usted entiende la lgica de los algoritmos?; y para quetienen las computadoras
-
Introduccin
Algoritmos
LgicaCreatividad
Matemtica
Razonamiento
-
Funciones del computador
Proceso
EntradaSalida
Almacenamiento
Cul es el lenguaje que entiende la maquina:
Nos basamos en el proceso
-
Introduccin a la lgica
Lgica es la ciencia que estudia el proceso de razonar
Razonar es ordenar las ideas para llegar a una situacin o solucin aalgn problema
Procesar es ejecutar una serie de actividades relacionadas
Reto: Educar el pensamiento para que razone acuerdo a ciertas reglas
Ejemplo: Algoritmos de la vida cotidiana
-
Lgica
Silogismo: Argumento con tres proposiciones, la tercera se obtiene delas dos anteriores
Enunciado: Expresin lingstica que establece un pensamientocompleto
Interrogativo
Imperativos
Declarativos V F
-
Silogismo
N es un subconjunto de R
A y B son nmeros Naturales
Entonces A+B es un numero Natural
A y B son nmeros Naturales
N es un subconjunto de R
Entonces A+B es un nmero Natural
A+B es un nmero Natural
N es un subconjunto de R
Entonces A y B son nmeros naturales
-
Calidad de las Premisas
Falsas (F) Verdaderas (V)
La premisa no representa no
representa a la realidad
Si la premisa representa a la
realidad
Incorrectas (I) Correctas (C)
Si las premisas no proporcionan
todos los elementos para inferir la
conclusin
Si las premisas proporcionan todos
los elementos para inferir la
conclusin
Premisas
Conclusiones
-
Lgica de Programacin
Es la habilidad de pensar de manera razonada, sistemtica y ordenada que nos hace capaces
de inferir algoritmos abstractos y soluciones a
problemas acadmicos, de negocios,
susceptibles de programacin. Ejemplo: Calcular la edad de un individuo.
-
Anlisis del Problema
Complejidad del problema
Anlisis del problema
Variantes
Casos de prueba
Ejemplo: Calcular la edad de un individuo.
-
Algoritmos Ejemplo 1
Suponga que un individuo desea invertir su capital en un banco y desea
saber cuanto dinero ganar despus de un mes si el banco paga a
razn de 2% mensual.
Solucin:
1 Inicio
2 Leer cap_inv
3 gan = cap_inv * 0.02
4 Imprimir gan
5 Fin
-
Algoritmos Ejemplo 2
Un vendedor recibe un sueldo base mas un 10% extra por comisin de sus ventas, el vendedor
desea saber cuanto dinero obtendr por concepto de comisiones por las tres ventas que realiza
en el mes y el total que recibir en el mes tomando en cuenta su sueldo base y comisiones.
Solucin:
Inicio
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
Imprimir tpag, com
Fin
-
Algoritmos1.Disear un algoritmo que
permita realizar las operaciones
aritmticas bsicas como: suma,
resta, multiplicacin, divisin,
residuo, potencia, raz cuadrada,
mediante dos nmeros
ingresados.
E:n1(nmero 1), n2(nmero 2)
S:s(suma),
r(resta),m(multiplicacin),d(divisi
n),rd(residuo),p(potencia),rc1(raiz
cuadrada del nmero 1),rc2(raiz
cuadrada del nmero2)
Algoritmo
1.-inicio
2.-leer n1,n2
3.-s=n1+n2
r=n1-n2
m=n1*n2
d=n1/n2
rd=residuo(d)
p=n1^n2
rc1=n1^(1/2)
rc2=n2^(1/2)
4.-escribir s,r,m,d,rd,p,rc1,rc2
5.-fin
Prueba de
Escritorio
n1=15
n2=4
s=19
r=11
m=60
d=3.75
rd=3
p=50625
rc1=3.87
rc2=2
-
Algoritmos
2.Disear un algoritmo que
permita determinar la edad de
una persona mediante su ao
de nacimiento.
E: aonac(ao de
nacimiento),aoact(ao actual)
s: ed(edad)
*prueba de escritorio
aonac= 1982
aoact=2010
ed=28
algoritmo
1. inicio
2. leer aonac, aoact
3. ed= aoact - aonac
4. escribir ed
5. fin
-
Algoritmos3. Disear un algoritmo que permita determinar el promedio de un alumno mediante tres notas
ingresadas.
E:n1(nota1),n2(nota2),n3(nota3)
S:P(promedio)
Algoritmo
1.-inicio
2.-leer n1,n2,n3
3.-p=(n1+n2+n3)/3
4.-escribir p
5.-fin
*prueba de escritorio
n1=11
n2=14
n3=17
p=14
-
Algoritmos4. Disear un algoritmo que permita determinar el sueldo neto de un empleado, al
cual se le realiza un descuento del 13% de su sueldo bruto, Visualizar el sueldo
bruto,descuento y sueldo neto.
E: sb(sueldo bruto)
S: desc(descuento),sn(sueldo neto)
algoritmo
1. inicio
2. leer sb
3. desc=sb*o.13
sn=sb-desc
4. escribir sn, desc
5. fin
*prueba de escritorio
sb=3800
desc=394
sn=3306
-
AlgoritmosDisear un algoritmo para calcular el rea y el permetro de un rectngulo.
E:h(altura),a(ancho)
S:ar(rea),p(permetro)
Algoritmo
1.-inicio
2.-leer h,a
3.-ar=h*a
p=2*h+2*a
4.-escribir ar, p
5.-fin
*prueba de escritorio
h=4cm
a=9cm
ar=36cm2
p=26cm
-
Algoritmos1. Disear un algoritmo que permita distribuir una cantidad de soles en billetes de 200, 100, 50, 20,10 y m5.
E:cant(cantidad de soles)
S:dosc(billetes de 200),ci(billetes de 100),cinc(billetes de 50),vein(villetes de 20),di(villetes de 10),c(villetes de 5)
Algoritmo
1.-inicio
2.-leer cant
3.-dosc=entero(cant/200)
ci=entero(residuo(cant/200)/100)
cinc=entero(residuo(residuo(cant/200)/100)/50)
vein=entero(residuo(residuo(residuo(cant/200)/100)/50)/20)
di=entero(residuo(residuo(residuo(residuo(cant/200)/100)/50)/10)
c=entero(residuo(residuo(residuo(residuo(residuo(cant/200)/100)/50)/10)/5)
4.-escribir dosc,ci,cinc,vein,di,c
5.-fin