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