You are on page 1of 31

ALGORITMICA

AlgoritmosbasadosenPseudocodigo
AlgoritmosbasadosenPseudocodigo
FundamentosI:Tiposdedatos,variables,
constantes,operadoresyexpresiones

Expositor:JorgeMedianeroA.
Autor:JosCarlos,GarcaLaRiva

QuesunALGORITMO?
Unalgoritmoeslasecuenciadepasos
ordenadosyfinitosconloscualesseda
solucinaundeterminadoproblema
informtico.
Ejemplo:
Comoelaborarunaboletadepago
Comoobtenerelimporteapagar
Comocrearelrecordacadmicodealumnos
Comocrearelrecordacadmicodealumnos

Qunecesitoparadisearun
Algoritmo?
DefinirelProblema:Establecerlosrequisitos
yestablecerlasespecificacionesdeEntraday
Salidadedatosaprocesar.Unabuena
comprensindeterminaralasolucin
satisfactoriadelproblemaplanteado.
Implementartcnicasdeprogramacin
estructuradaymodular.Estastcnicas
promuevenlasimplicidad,elencapsulamiento
ylareusabilidaddecdigo.
ylareusabilidaddecdigo.

Problema:Comocalcularelimportedeventa?
Anlisis: Loselementosdelimportesonlacantidadyel
preciodeventa,esteultimoenespecialesunvalorreal
(monetario),ysecalculamediantelasiguienteexpresin:
Importe=precioxcantidad
Comosededuceelimporteresultaserunvalorreal.

EspecificacionesdeE/S:
Entrada:
Salida:

cantidadypreciodetiporeal.
importeapagar.
importeapagar.

PASOS:
1.
2.
3.

Determinarelpreciodeventadelarticulo.
Solicitarcantidaddeartculos.
Calcularelimportedeventa.

Problema:Comocalcularlamedia
aritmticade3nmerosenteros?
Anlisis:

EspecificacionesE/S:
Entrada:
Salida:

PASOS:
1.

Elaborarsusolucin?
Elaborarsusolucin?

HerramientasdeunAlgoritmo
OPERADORESARITMETICOS
OPERADOR
+

*
*
DIV
DIV
/
MOD,%
,^,**

SIGNIFICADO
SUMAR
RESTAR
MULTIPLICAR
DIVISIONENTERA
DIVISIONREAL
RESTOARTIMETICO
POTENCIACION
POTENCIACION

HerramientasdeunAlgoritmo: Reglasdeprioridad
Lasexpresionesquetienendosomasoperandorequierendereglas
matemticasque determinanelordendelasoperaciones
operaciones.Aesta
normativasedenominaprecedenciaoreglasdeprioridad.

Reglas:
1. Lasoperacionesqueestnencerradasentreparntesis,seevalan
primero.Siexistenparntesisanidados,lasexpresionesinternasestas
seevalanprimero.
2. Lasoperacionesaritmticasdentrodeunaexpresinsiguenel
siguienteordendeprecedencia:
Operadorexponencial(^)

Operadorexponencial(^)
Operadores:*,/

Operadores:*,/
Operadores:

Operadores:div
divy
ymod
mod
Operadores:+y

Operadores:+y

Encasodecoincidirvariosoperadoresdeigualprioridadenuna
expresin,elordendeprioridadenestoscasosesdeizquierdaaderecha.
expresin,elordendeprioridadenestoscasosesdeizquierdaaderecha.

HerramientasdeunAlgoritmo
OPERADORESRELACIONALES
OPERADOR
>
<
>=
<=
=
<>

SIGNIFICADO
MAYOR
MENOR
MAYORoIGUAL
MENORoIGUAL
IGUAL
DIFERENTE
DIFERENTE

HerramientasdeunAlgoritmo
OPERADORESLOGICOS
OPERADOR
Y
O
NO

Tablasde
verdad

SIGNIFICADO
CONJUNCION
DISYUNCION
NEGACION
NEGACION

HerramientasdeunAlgoritmo
OPERADORESDEASIGNACIONY
AGRUPACION
OPERADOR

()

SIGNIFICADO
ASIGNAR
AGRUPAR
AGRUPAR

Herramientasdeunalgoritmo:Expresiones
ExpresionesAritmticas: Sonanlogasalasformulas
matemticas.Seformancombinando losoperadoresaritmticos
yelsmbolodeagrupacin.Lasreglasdeprioridaddefinenlas
yelsmbolodeagrupacin.Lasreglasdeprioridaddefinenlas
expresionesaritmticas.

ExpresinMatemtica ExpresinAlgortmica
2A
2A+3B
(2A+3B)2C
[(5Cx6D)+(3E)]x5
[(2X+3Y)x(5Y
[(2X+3Y)x(5Y
2X)]x2A
2X)]x2A
2A+3B
2A
3[(2X+3Y)(5Y2X)]
3[(2X+3Y)(5Y
2X)]
2A

Herramientasdeunalgoritmo:Expresiones
ExpresionesLgicas: Sedenominanexpresiones
booleanasenhonoralmatemticobritnicoGeorgeBoole,
booleanasenhonoralmatemticobritnicoGeorgeBoole
,
quedesarrolloelAlgebralgica.Lasexpresiones,lgicasse
formancombinandolosoperadoreslgicosand,or
formancombinandolosoperadoreslgicosand,
ory
ynot
noty
y
losoperadoresrelacionales.Esencialmenteunaexpresin
lgicasolopuedetomarelvalordeverdadofalso.
lgicasolopuedetomarelvalordeverdadofalso.

Expresin Logica
Sea:A=
Sea:
A=2
2,B=
,B=7
7,C=
,C=0
0
not[(3C+BMOD2)>0]
not
[(3C+BMOD2)>0]
(CDIVA) or
or(5C)
(5C)
not(3BMODB)
not
(3BMODB)
(2B/A>=B)and(not
(2B/A>=B)and(
notC)
C)

ExpresinAlgortmica

TiposdeDatos
NUMERICOS
Entero
Real

ALFANUMERICOS
Carcter
Cadena

LOGICOS(VerdadoFalso)
LOGICOS
(VerdadoFalso)
(VerdadoFalso)

Quesunavariable?
Esunaentidadconnombrenicoenunalgoritmo
yalaqueselepuedeasignarunvaloryluego
realizaralgntipodecalculoocomparacin.
Lasvariablespuedenasumirvaloresnumricos,
alfanumricosylgicos(tiposdedatosprimitivos).

QuesAmbito
Ques
Ambito?
?
Existen2tiposdeduracinombitodelasvariables,
estasson(GLOBALYLOCAL).Lasvariables
globalessepuedenutilizarencualquierpartedel
Algoritmoylasvariableslocalessonusadasdentro
deunsub
deunsub
programa(Procedimientoo,Funcin).
programa(Procedimientoo,Funcin).
programa(Procedimientoo,Funcin).

FormacindelnombredeVariables
Elnombredeunavariableestaformadaporuna
coleccindecaracteresalfabticos(A..Z,a..z),
dgitos(0..9)yporelcarctersubrayado(_).
Elnombredeunavariablesiempredebecomenzarpor
uncarcteralfabticooporelcarctersubrayado.
ElnombredeunavariableNODEBEcomenzarconun
digito.
Elnombredeunavariablenodebecontenerespaciosen
blancoocaracteresespecialestalescomo(,#,.,:,,%,
&,@,etc).
Asi:
sueldo
sueldoBasico
sueldo_basico
Elnombredeunavariablenodebecoincidirconuna
palabraclavedeunalgoritmo(SI,SINO,MIENTRAS,
palabraclavedeunalgoritmo(SI,SINO,MIENTRAS,
PARA,REPETIR,etc)

Ejemplos
DECLARACION
abc
a123
1a2b
_miVariable
_
miVariable
mi_Variable
mi_123456
_1_2_3
Mi@Variable

VALIDEZ
VALIDO
VALIDO
NOVALIDO
VALIDO
VALIDO
VALIDO
VALIDO
NOVALIDO
NOVALIDO

Comosedeclaranlasvariables
Paradeclararvariablesenunalgoritmosehace
usodelasiguientesintaxis:
var
Tipo_Dato:
Tipo_Dato
: <
<Lista_variables
Lista_variables>
>
Ejemplo:
var
entero:
a,b,c
real:
x,y,z
caracter:
caracter
:
car1,car2
cadena:
texto1,texto2
logico:
logico
:
estado,ok,done
estado,ok,done

EvaluacindeExpresiones
Silasvariables:a,b,cydcontienenlosvalores:10,20,30y5
respectivamente,evaluar:

EXPRESION
(a+b)DIVd
(a+b)MODd
(a>b)Y(c<d)
NO(a>b)O(c<>d)

RESULTADO
RESULTADO

Quesunaconstante?
Esunaentidadconnombrenicoenunalgoritmo
yalaqueseleasignaunvalorinicial,elcualno
puedeseralteradoluegodentrodeunprograma.
Lasconstantespuedenasumirvaloresnumricos,
alfanumricosylgicos(tiposdedatosprimitivos).
Lasconstantesaligualquelasvarables
Lasconstantesaligualquelas
varablestienen2
tienen2
tiposdeduracinombito(GLOBALYLOCAL).
tiposdeduracinombito(GLOBALYLOCAL).

IdentificadoresonombredeConstantes
Elnombredeunaconstanteestaformada
porcaracteresalfabticosen
MAYUSCULAS(A..Z,),dgitos(0..9)y
porelcarctersubrayado(_).
Elidentificadordeunaconstante,tambin
cumpleconlasreglasqueseaplicanalas
variables
Asi: PI
PI
TASA_DESCUENTO
TASA_DESCUENTO
ROTULO_1

Declaracindeconstantes
Paradeclararconstantesenunalgoritmo
sehaceusodelasiguientesintaxis:
const
const
IDENTIFICADOR= valor,
Ejemplo:
const
PI=3.1415632,
PI=
3.1415632, IGV= 0.19
INICIAL=a
INICIAL=
a
RAZON_SOCIAL=ImportadoraS.A.C.
RAZON_SOCIAL=
ImportadoraS.A.C.
ESTADO= verdadero
verdadero

InstruccionesdeEntradaySalida
deInformacin
InstruccinLEER
Instruccin
LEER:Seutilizaparaingresarun
:Seutilizaparaingresarun
valorpordispositivodeentrada.Elvalorse
asignaaunavariabledefinidaenelalgoritmo.
Sintaxis:
Sintaxis
: leer
leer(lista_variables
(lista_variables)
)
InstruccinESCRIBIR
Instruccin
ESCRIBIR:Seutilizaparaexibirel
:Seutilizaparaexibirel
valordeunavariable,constante,textoouna
combinacindelosmismos,pordispositivosde
salida.
Sintaxis:escribir
Sintaxis:
escribir(lista_variables)
escribir
(lista_variables)

EstructuradeunALGORITMO
AlgoritmoNombre_Descriptivo
AlgoritmoNombre_Descriptivo
Variables|constantes
<tipo>: nom_var,
Instrucciones
:
y/o
INICIO
Sentencias
Sentencias
//bloquedeacciones
:
FIN

Ejemplo1:Ingreseunnmeroentero,smele
2unidadesyluegovisualcelo.
2unidadesyluegovisualcelo
Algoritmosumar2anumero
Algoritmosumar2anumero
var
entero: num
INICIO
leer(
leer
(num
num)
)
num
num
num
num+2
+2
//lesuma2unidades
//lesuma2unidades
escribir(
escribir
(num
num)
)
FIN

Problema2:Ingreseunnmeroentero,
calculesumitadyluegovisualcelo.
Algoritmomitaddenumero
Algoritmomitaddenumero
var
entero: n
INICIO
leer(n
leer(
n)
)
nnDIV2 //
//division
divisionentera
division
entera
escribir(n)
escribir
(n)
FIN

Problema3:Ingrese2nmerosenterosyluego
calculeyvisualicelasuma,diferenciayproductode
losnmerosingresados.
Algoritmooperacionesaritmticas
Algoritmooperacionesaritmticas
var
entero: a,b,suma,resta,producto
INICIO
leer(a,b)
leer
(a,b)
sumaa+b
restaa
restaa
b
b
productoa*b
escribir(LaSumaes:,suma)
escribir
(LaSumaes:,suma)
escribir(Resta:,resta,Producto:,producto)
escribir
(Resta:,resta,Producto:,producto)
(Resta:,resta,Producto:,producto)
FIN

Problema4:Ingresarunnmeroentero
yluegocalcularyvisualizarsu5%.
Algoritmocalcularporcentaje
Algoritmocalcularporcentaje
var
entero:
n
real:
porcentaje
INICIO
leer(n)
leer
(n)
//apliqueconversion
//aplique
conversionexplicitaoreemplacepor0.05
explicitaoreemplacepor0.05

porcentajen*(5/100)
escribir(porcentaje)
escribir
(porcentaje)
(porcentaje)
FIN

EJERCICIOS
DE
REPASO
REPASO

Problema1:Ingreseunnmeroenteroy
visualicesucuadrado.
Algoritmoproblema1
Algoritmoproblema1
var
entero:
n,a
INICIO
leer(n)
leer(n)
acuadrado(n)//
acuadrado(n)
//funcion
funcioninterna
interna
escribir(Elcuadradode,n,es,a)
escribir
(Elcuadradode,n,es,a)
(Elcuadradode,n,es,a)
FIN

Problema2:Ingrese2nmerosenterosy
luegointercambieyvisualicesusnuevos
valores.
Algoritmoproblema2
Algoritmo
var
entero:
a,b,AUX
a,b,AUX
INICIO
leer(a,b)
leer
(a,b)
AUXa
ab
bAUX
escribir(a,b)
escribir
(a,b)
FIN

PREGUNTAS?
PREGUNTAS?

You might also like