Algoritmos y Estructura de Datos

download Algoritmos y Estructura de Datos

of 19

description

Lenguaje de progrmacion

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