Top Banner

of 30

04 Lp Estruc Prog

Oct 05, 2015

Download

Documents

Lenguaje programacion
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Introduccin

    Concepto de Programa

    Un programa de computador es un conjunto deinstrucciones, rdenes dadas a la mquina, queproducirn la ejecucin de una determinada tarea.

    En esencia, un programa esun medio para conseguir un fin.

    Cul es el fin?

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Instruccin de asignacin numrica

    Diagrama de flujo

    a=pi/2.54; u=45.76*a; t=4*a/pi; y=54.9; C=10*cos(a)+(u+5*t)/(3*y) y=y+1

    Cdigo Matlab

    a pi/2.54u 45.76at 4a/piy 54.9C 10*cos(a)+(u+5t)/(3y)y y+1

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Instruccin de asignacin alfanumrica

    Nombre = Pedro; Q1 = nombre;

    nombre PedroQ1 nombre

    Diagrama de flujo

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Instrucciones de Lectura

    LeerRadio, Ang

    Diagrama de flujo

    Radio=input(Ingresar Radio= );

    Cdigo Matlab

    LeerColor, precio

    Color=input(Ingresar Color= ,s);

    Ang=input(Ingresar Angulo= );

    precio=input(Ingresar Precio= );

    Numrica

    Alfanumricay numrica

    Leeranimal

    Alfanumrica animal=input(Ingresar Animal= ,s);

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Instrucciones de Escritura

    IMPRIMIRLa suma es:,Sum

    fprintf(1,\n La suma es: %f,Sum);

    Cdigo Matlab

    IMPRIMIREl color es:,P

    fprintf(1,\n El color es: %s,P);

    Cdigo Matlab

    Diagrama de flujo

    Diagrama de flujo

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura Secuencial

    INICIO

    LEER a,b

    S a+bP a*b

    IMPRIMIRLa suma es:,SEl producto es:,P

    FIN

    clcclear all%% Lectura de datos% ----------------------a=input(Ingresar valor 1: );b=input(Ingresar valor 2: );%% Clculos% ------------S=a+b;P=a*b;%% Impresin de resultados% --------------------------------fprintf(1,\n La suma es: %f,S);fprintf(1,\n El producto es: %f,P)%close all

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructuras selectivas

    Las estructuras selectivas se utilizan para que el programa

    tome decisiones a partir de la evaluacin de expresiones lgicas

    Las estructuras selectivas bsicas son:

    - Simples

    - Dobles

    - Mltiples

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: simple

    Expresinlgica

    Conjunto desentencias

    V

    F

    Diagrama de flujo

    % if (Expresin lgica) Conjunto de sentencias end %

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: simple

    Problema

    Desarrollar un algoritmo utilizando diagrama de flujo, que leaun nmero por consola.

    Si el nmero ingresado es positivo, se debe imprimir:Procesamiento positivo, si no, el programa debe

    terminar su ejecucin .

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: doble

    Expresinlgica

    Conjunto 2de sentencias

    V

    Diagrama de flujo

    % if (Expresin lgica) Conjunto 1 de sentencias else Conjunto 2 de sentencias end %

    Cdigo Matlab

    Conjunto 1 de sentencias

    F

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: doble

    Problema

    Desarrollar un algoritmo utilizando diagrama de flujo, que leatres nmeros por consola.

    Si el primer nmero ingresado es negativo, se debe imprimir el producto de los nmeros ingresados, si no lo es,

    se debe imprimir la suma.

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: mltiple

    Exp 1

    Exp n

    Exp 2

    Diagrama de flujo

    V

    V

    V

    F

    F

    F

    %if (Exp 1)

    Sentencias 1elseif (Exp 2)

    Sentencias 2elseif (Exp n)

    Sentencias nelse

    Sentencias mend%

    Cdigo Matlab

    Sentencias n Sentencias m

    Sentencias 1

    Sentencias 2

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: mltiple

    Disear un algoritmo que lea una calificacin en escalanumrica de 0 a 10 y la transforme al equivalente

    en escala conceptual.

    Tabla de equivalencia

    nteSobresalieNotaBuenoNotaSuficienteNota

    teInsuficienNota

    108866550

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: mltiple

    ExpresinAritmtica

    SentenciasV2

    Diagrama de flujo

    SentenciasV1

    SentenciasVn

    V1V2 Vn

    Otro

    SentenciasOtro

    % switch (Expr. arit.) case V1 Sentencias V1 case V2 Sentencias V2 case Vn Sentencias Vn otherwise Sentencias Otro end %

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: mltiple

    Problema

    Disear un algoritmo que escriba el nombre del da de la semana en funcin del

    valor ingresado por teclado.

    Valor = 1 corresponde al lunesValor = 2 corresponde al martes

    ..

    Valor = 7 corresponde al domingo

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: mltiple

    Expresinalfanumrica

    SentenciasV2

    Diagrama de flujo

    SentenciasV1

    SentenciasVn

    V1V2 Vn

    Otro

    SentenciasOtro

    % switch (Expr. alfanum.) case 'V1' Sentencias V1 case 'V2' Sentencias V2 case 'Vn' Sentencias Vn otherwise Sentencias Otro end %

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructuras selectivas: anidadas

    Exp. 1

    Sentencias 2 Sentencias 3

    Sentencias 4

    Exp. 2

    Exp. 3

    Diagrama de flujo

    V

    VV

    F

    F

    F

    %if (Exp. 1)

    Sentencias 1if (Exp. 2)

    if (Exp. 3) Sentencias 3

    else Sentencias 2

    endend Sentencias 4

    end%

    Cdigo Matlab

    Sentencias 1

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: Anidadas

    Problema

    Desarrollar un algoritmo utilizando diagrama de flujo, que leaLas notas del Test1, Test2, Certamen1 y Certamen2 y

    determine el promedio sabiendo que la ponderacin de losTests es 15% y los Certmenes 35%.

    El algoritmo debe verificar que las notas ingresadas estn dentro del rango admisible (1-7).

    En caso que una nota est fuera de rango el programadebe terminar su ejecucin.

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura selectiva: Anidadas

    Problema

    Desarrollar un algoritmo utilizando diagrama de flujo, que lea la horaen formato HH MM SS y calcule la hora correspondiente a

    un segundo despus (SS+1).

    La hora, los minutos y los segundos se ingresancomo nmero enteros.

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructuras repetitivas

    Los computadores estn especialmente diseados para realizar aplicaciones en que una operacin debe repetirse muchas veces.

    Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se denominan bucles.

    La repeticin de una secuencia de acciones se llama ITERACIN

    Las estructuras repetitivas bsicas son:

    - Mientras- Repetir- Para

    La estructura de repeticin requiere de una CONDICIN DE SALIDA

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura repetitiva: Repetir

    V

    F ExpresinLgica

    Conjunto desentencias

    Diagrama de flujo

    La secuencia se repite mientras la expresin lgica sea FALSA

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura repetitiva: Mientras

    La secuencia se repite mientras la expresin lgica sea VERDADERA

    V

    FExpresinLgica

    Conjunto desentencias

    Diagrama de flujo

    %while (Expresin Lgica)

    Conjunto de sentencias

    end%

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura repetitiva: Mientras

    Problema

    Disear un algoritmo que encuentre el entero positivomayor (num) para el cual la suma 1 + 2 + 3 +.+ num sea menor

    que un valor ingresado por teclado (limit)

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura repetitiva: Para

    La secuencia se repite un nmero predeterminado de veces

    Conjunto desentencias

    Diagrama de flujo

    a=Vi, Inc, Vf a > Vf

    %for a=Vi:Inc:Vf

    Conjunto de sentencias

    end%

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructura repetitiva: Para

    Problema

    Disear un algoritmo que permita determinar la suma de los 20 nmeros enteros siguientes a un valor

    ingresado por teclado (kp5)

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Estructuras repetitivas: anidadas

    Sentencias 1

    a=Vi, Inc, Vf a > Vf

    Sentencias 2

    Exp. Lg.

    V

    F

    Diagrama de flujo

    %for a=Vi:Inc:Vf

    Sentencias 1

    while (Exp. Lg)

    Sentencias 2

    endend%

    Cdigo Matlab

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Elemento Contador

    Diagrama de flujo

    %Cont=0while (Expr. Log.)

    Sentencias

    Cont=Cont+pend%

    Cdigo Matlab

    Variable cuyo valor se incrementa o decrementauna cantidad constante en cada iteracin

    Cont 0

    V

    FExpr. Log.

    Sentencias

    Cont Cont + p

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Elemento Acumulador

    Diagrama de flujo

    %S=0while (Expr. Log.)

    Sentencias

    S=S+Rend%

    Cdigo Matlab

    Variable que totaliza el resultadode sumas sucesivas

    S 0

    V

    FExpr. Log.

    Sentencias

    S S + R

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Elemento interruptor

    Diagrama de flujo %for i=a:bif (Sw==1)

    Sw=0

    Sentencias 2

    elseSw=1

    Sentencias 1

    endend%

    Cdigo Matlab

    Variable que toma valores fijosEjemplo 0 y 1

    i=a,bi > b

    Sw=1

    Sentencias 2

    V

    Sentencias 1

    F

    Sw=0Sw=1

  • ESTRUCTURAS GENERALES DE PROGRAMACINLenguaje de Programacin

    Elemento interruptor

    Problema

    Disear un algoritmo que sume independientementelos pares e impares de los nmeros

    comprendidos entre 1 y 100

    Pgina 1Pgina 2Pgina 3Pgina 4Pgina 5Pgina 6Pgina 7Pgina 8Pgina 9Pgina 10Pgina 11Pgina 12Pgina 13Pgina 14Pgina 15Pgina 16Pgina 17Pgina 18Pgina 19Pgina 20Pgina 21Pgina 22Pgina 23Pgina 24Pgina 25Pgina 26Pgina 27Pgina 28Pgina 29Pgina 30