Sunteți pe pagina 1din 37

Tcnicas de Representacin de Algoritmos:

Pseudocdigo

Ing. Edwin Valencia

Informtica

ALGORITMO: Tcnicas de
Representacin
Est
tcnica
permite
representar el algoritmo
mediante un lenguaje
ms
estructurado,
facilitando su posterior
codificacin.

Pseudocdigo
Inicio
Instruccin 1
Instruccin 2
Si condicin entonces
.. Instruccin 3
.
Instruccin n
Fin

ALGORITMO: Tcnicas de
Representacin
Un pseudocdigo (falso lenguaje), es una serie de
normas lxicas y gramaticales parecidas a la mayora
de los lenguajes de programacin, pero sin llegar a la
rigidez de sintaxis de estos ni a la fluidez del lenguaje
coloquial
El pseudocdigo no est regido por ningn
estndar. pseudo viene de falso y por ende es un
cdigo al que aunque es entendible no se aplica
al proceso que debe realizar la maquina.

PSEUDOCDIGO:Cmo se Hace?
Cada instruccin que se va a realizar
debe comenzar por un verbo, ejemplo:
Leer, Escribir, Calcular, etc.

Se debe mantener una identacin o sangra


sobre el margen izquierdo para identificar
fcilmente el comienzo y final de las estructuras

La representacin de las estructuras son


similares u homnimas de los lenguajes de
programacin, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.

PSEUDOCDIGO:Cmo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Datos: Variables: variables a usar en el algoritmo
Constantes: constantes a usar en el algoritmo

Algoritmo
Leer : Denota la accin de introducir datos o variables
desde un dispositivo estndar de entrada.
Escribir: Representa la accin de enviar datos desde
variables a un dispositivo estndar de salida.
Calcular : Denota la realizacin de cualquier operacin
aritmtica que genere valores para ser
almacenados en una variable.

Fin: Denota el punto de finalizacin del algoritmo.

Un primer ejemplo de PSEUDOCODIGO


El siguiente algoritmo calcula el rea y el permetro de un rectngulo
Datos de entrada: base y altura
Datos de Salida: area y perimetro
Procesos: area = base*altura, perimetro= 2*(base + altura)
Inicio
Datos
base, altura, area, perimetro numrico entero
Algoritmo
Leer base ,altura
Calcular area = base * altura
Calcular perimetro =2*(base+ altura)
Escribir rea del rectngulo: , area
Escribir Permetro del rectngulo: , perimetro
Fin

Anlisis
resumido del
problema

Pedir al usuario la temperatura actual en grados centgrados y


mostrar en pantalla su equivalente a grados farenheit: Grados
centgrados: 30 Grados farenheit: 86
F = (9/5) x C + 32

Inicio
datos
cent, far numerico real
algoritmo
Escribir Ingrese la temperatura en centgrados:
Leer cent
Calcular far = (9/5) x cent + 32
Escribir La temperatura en Fahrenheit es: + far
Fin

Elementos de un Algoritmo - Pseudocdigo


El dato es una representacin simblica (numrica,
alfabtica, algortmica, entre otros.), un atributo o
caracterstica de una entidad.
Los datos describen hechos empricos, sucesos y entidades.
Los datos aisladamente pueden no contener informacin humanamente
relevante.
Los datos convenientemente agrupados, estructurados e interpretados
se consideran que son la base de la informacin

Dato
Entoces puede significar un numero, una letra, o cualquier
smbolo que representa una palabra, una cantidad, una
medida o una descripcin.
De ah que no debemos confundir entre el dato mismo y su
representacin. Por ejemplo:

Dato especfico
25 aos

informacin que representa


edad

Dato
Los algoritmos generalmente operan sobre datos, pero
estos no son masas de informacin simplemente, sino que
involucran importantes relaciones entre s.
Porejemplo:Dadostresnmeros,quese
suponenrepresentanlosladosdeun
tringulo,evaluarsuslongitudespara
indicarqutipodetringulopodemos
formar?

Tipos de datos
Los datos pueden clasificarse en tipos de datos.
Sirvenparaindicaralcomputador(y/oalprogramador)
algosobrelaclasededatossobrelosquesevaaprocesar.

Estoincluyeimponerrestriccionesenlosdatos,como:
quvalorespuedentomary
quoperacionessepuedenrealizar.
Tiposdedatoscomunesson:enteros,nmerosdecimales,cadenas
alfanumricas(usadosenprogramcin),fechas,horas,colores,
cochesocualquiercosaquesenosocurra.

ALGORITMO: Tipos de Datos


Boleano
Real
Entero

cadena
Lgicos
Numricos

Caracter
Carcter

Tipos
de
Datos

Tipos de Datos
Por ejemplo, en el tipo "int" representa un conjunto de
enteros de 32 bits cuyo rango va desde el -2.147.483.648 al
2.147.483.647, as como las operaciones que se pueden
realizar con los enteros, como la suma, resta, multiplicacin
y divisin.

Tipos de Datos
Cualquierprograma,independientedellenguajeusado,se
puedeentendercomounconjuntodeoperacionesquese
aplicanaciertosdatosenunaciertasecuencia(Pratty
Zelkowitz,1996)
Ladiferenciabsicaentreloslenguajesserefierealostipos
dedatospermitidos,alostiposdeoperacionesdisponiblesy
alosmecanismosdecontrolenlaqueseaplicanlas
operacionesalosdatos

Tipos de Datos Simples


Sedividenen:
1. Numricos(enteros,reales)
2. Lgicos(falso,verdadero)
3. Caracter(alfabticosa,b,c,especiales+<
)

Variable
Aquel que permite representar la informacin a la
que se refiere el dato. Tambin conocido en
matemticas como variable (es un smbolo que
representa un elemento o cosa no especificada de
un conjunto dado)
En el ejemplo: con edad podemos representar a un conjunto
universal de edades, donde cada elemento del conjunto es un valor
de la variable
{25, 3, 14, 89, 32}
edad = 3

Variable
En programacin, las variables son espacios reservados
en la memoria que, como su nombre indica, pueden
cambiar de contenido a lo largo de la ejecucin de un
programa.

Constante
En programacin, una constante es un valor que no puede
ser alterado durante la ejecucin de un programa.
Una constante corresponde a una longitud fija de un rea
reservada en la memoria principal del ordenador, donde
el programa almacena valores fijos.
Porejemplo:

Elvalordepi=3.1416

Constantes y Variables
Losprogramasdecomputadoracontienenciertosvalores
(contenedores)quedependendelacaractersticasdel
problema,esdecir:
1.NOCAMBIANdevalor(es)durantelaejecucindel
programa,poresoseconocencomoCONSTANTES
2.PuedenCAMBIARdevalor(es)durantelaejecucindel
programa,poresoseconocencomoVARIABLES,
tomandocualquiervalordeltipoconelquehasidodeclarado

ALGORITMO: Operadores

>
<
>=
=
<=
Relacionales
!=
<>

+ Aritmticos
/ %
^
No
Y &&
O ||

Lgicos

Expresiones
En programacin, una expresin es una combinacin de
constantes o variables que es interpretada (evaluada) de
acuerdo a las normas particulares de precedencia y
asociacin para un lenguaje de programacin en
particular
Permiten describir relaciones entre variables y establecer
operaciones o calculos sobre stas.
Por ejemplo: Si edad de Pedro es mayor que la de Jun
{25, 3}
25 > 3

Expresiones
Combinacindeconstantes,variables,smbolosde
operacin,parntesisynombresdefunciones
Cadaexpresintomaunvalorquesedeterminatomando

losvaloresdelasvariablesyconstanteimplicadasyla
ejecucindelasoperaciones
Unaexpresinconstadeoperandosyoperadores:
aritmticos
lgicos
relacionales
caracter

Pseudocdigo: Diseo
Pseudocdigo

Definicin del problema


Anlisis del problema
Seleccin de la mejor alternativa
Algoritmo
Diagramacin

Pseudocdigo: Definicin del


Problema
Est
Estdada
dadapor
porelelenunciado
enunciado
del
delproblema,
problema,elelcul
culdebe
debeser
ser
claro
claroyycompleto
completo
Esimportante
importanteque
que
Es
conozcamosexactamente
exactamente
conozcamos
quese
sedesea.
desea.
que
Mientras
Mientrasqu
questo
estono
nose
se
comprenda,
comprenda,no
notiene
tienecaso
caso
pasar
pasaraalalasiguiente
siguienteetapa.
etapa.

Pseudicdigo: Definicin del


Problema
Ejemplo

Capturar
Capturarun
ungrupo
grupode
denmeros
nmeroshasta
hasta
que
quese
sedigite
digite0,0,eeindicar
indicarcuales
cualesde
de
ellos
ellosson
sonpunto
puntosilla.
silla.
Un
Unnmero
nmeropunto
puntosilla
sillaes
esaquel
aquel
que
quedado
dadotres
tresvalores,
valores,elelvalor
valor
central
centrales,
es,es
esmayor
mayorque
queelelde
desu
su
izquierda
izquierdayymenor
menorque
queelelde
desu
su
derecha.
derecha.

Pseudicdigo: Definicin del


Problema
Ejemplo

Si
Silos
losnmeros
nmerosdigitados
digitadospor
porelel
usuario
usuarioson:
son:
5,4,12,15,6,20,32
5,4,12,15,6,20,32

Los
Losnmeros
nmerospunto
puntosilla
sillasern:
sern:
12
12yy20
20

Pseudocdigo: Anlisis del


Problema
Los datos de
entrada que nos
suministran
El proceso que
debe realizarse
Los datos de
salida o
resultados que se
esperan

Las operaciones que es necesario


Los nmeros
el para
usuario
va ael
hacer,
en esteque
caso,
hallar
digitar,
es necesario
que
punto
silla
se deber
deberentender
compararlos
el
El programa
mostrar
segundo
numero
digitado
con
el
estos
no
se
van
a
ingresar
al
nmeros punto silla, por lo tanto
primero
y el tercero,
estosehace
mismo
tiempo,
por
tanto
debe
es
mejor
ir
evaluando
cada
que un
se solo
generen
tres de
trminos
:
usar
espacio
memoria
nmero. num_sig y
num_ant
,
num_m,
por ejemplo: num
nroT(para saber cuantos nmeros
se han digitado)

Diseo del Pseudocdigo: Ejemplo


Definicin del problema
Calcular los porcentajes de hombres y mujeres en un grupo de N
deportistas
Anlisis del problema
Datos a considerar:

Sexo de la persona (S)


Nmero de personas del sexo masculino (CM)
Nmero de personas del sexo femenino (CF)
Total de deportistas (N)
Porcentaje de hombres (PM)
Porcentaje de mujeres (PF)

Ejemplos de algoritmos (I.b.)


Datos de entrada:

Total de deportistas (N)


Sexo de la persona (S)

Datos de salida:

Continuamos con el
anlisis del problema

Porcentaje de hombres (PM)


Porcentaje de mujeres (PF)

Procesos:

Contar la cantidad de personas del sexo masculino (CM = CM + 1)


Contar la cantidad de personas del sexo femenino (CF = CF + 1)
Calcular el porcentaje de hombres en el grupo (PM = CM/N*100)
Calcular el porcentaje de mujeres en el grupo (PF = CF/N*100)

Ejemplos de algoritmos
1. INICIO
2. DATOS
2.1 N,S,CM,CF,TP numericos enteros
3. ALGORITMO
3.1 Inicializar [en cero el total de personas del sexo masculino:] CM = 0
3.2 Inicializar [en cero el total de personas del sexo femenino:] CF = 0
3.3 Inicializar [en cero el total de personas procesadas:] TP = 0
3.4 Leer [total de deportistas] N
3.5 MIENTRAS TP < N
3.5.1
Leer [sexo de la persona] S
3.5.2
SI S =M, entonces CM = CM + 1
3.5.3
SI S = F, entonces CF = CF + 1
3.5.4
Incrementar [en 1 el contador:] TP = TP + 1
3.6 Fin MIENTRAS
3.7 Calcular [porcentaje de hombres en el grupo:] PM = CM/N*100
3.8 Calcular [porcentaje de mujeres en el grupo:] PF = CF/N*100
3.9 Escribir Porcentaje de hombres en el grupo: , PM
3.10 Escribir Porcentaje de mujeres en el grupo: , PF
4. FIN

Ejemplos de algoritmos (I.d.)


Algoritmo (continuacin):

En este algoritmo se puede apreciar el uso de las tres


estructuras de control de la programacin estructurada:

Estructura secuencial

Estructura selectiva

Estructura iterativa

Ejemplos de algoritmos (II)

1.
2.
3.
4.
5.

Clculo de la media de N observaciones numricas


Determinar si un nmero es primo dada una lista de N
nmeros enteros
Clculo del factorial de un nmero N
Retiro de efectivo en un cajero automtico
Receta para preparar spaghetti alla napoletana

Definir en cada caso: entrada, procesos/operaciones y salida.


Escribir el algoritmo completo para todos los casos.

Diseo de algoritmos (VII)


Refinamiento del algoritmo (II)
Algoritmo para el clculo de la media de la edad y peso de un grupo de
estudiantes (primer esbozo)
1. Inicio
2. Leer cantidad de estudiantes
3. Leer edad y peso de los estudiantes
4. Calcular las medias de la edad y del peso
5. Escribir resultados

Algoritmo para el clculo de la media de la edad y peso de un grupo de


estudiantes (versin refinada)
INICIO
VARIABLES
N,NE,SE,SP,ME,MP numerico entero
ALGORTIMO
Leer [cantidad de estudiantes], N
NE 0, SE 0, SP 0
MIENTRAS NE < N
Leer [edad y peso del estudiante] E, P
SE SE + E
SP SP + P
Incrementar [el contador:] NE NE + 1
FIN-MIENTRAS
Calcular [la media de la edad:] ME SE/N
Calcular [la media del peso:] MP SP/N
Escribir La edad promedio es: , ME
Escribir El peso promedio es: , MP
FIN

Diseo de algoritmos (X)


Especificacin y representacin grfica del
algoritmo
Pseudocdigo
Diagramas de flujo
Diagramas de Nassi-Schneiderman (N-S)

PSEUDOCDIGO:Ejemplo
Inicio
Haga num=0, num_ant=0, num_sig=0, nroT=0
Mostrar Digite nmero
Capture num
Mientras que (num != 0)
Haga
nroT =nroT+1
caso(nroT)
caso 1:
Haga num_ant=num
caso 2:
Haga num_m=num
caso 3:
Haga num_sig=num
Si ((num_m>num_ant) y (num_m<num_sig))
MuestreEs punto silla", num_m
Otro caso
Haga num_ant=num_m;
num_m=num_sig;
num_sig=num;
Si ((num_m>num_ant) y (num_m<num_sig))
MuestreEs punto silla", num_m
Fin Caso
Muestre"Escriba un Numero para salir 0"
Capture num
Fin Mientras
Si (nroT<3)
Muestre "Debe digitar por lo menos tres numeros"
Fin

Para evitar que el


programa ejecute
instrucciones con
valores no requeridos,
se captura antes de
comenzar el ciclo

PSEUDOCDIGO:Cdigo en Lenguaje
C
#include <stdio.h>
#include <conio.h>
void main()
{ int num,num_m,num_ant,num_sig,nroT=0;
clrscr();
printf("Escriba un Numero para salir 0"); scanf("%d",&num);
while(num!=0)
{ nroT++;
switch(nroT)
{ case 1: { num_ant=num; break;}
case 2:
{ num_m=num; break;}
case 3:
{ num_sig=num;
if ((num_m>num_ant) &&(num_m<num_sig))
printf ("%d es punto silla", num_m);
break;}
default:
{ num_ant=num_m; num_m=num_sig;
num_sig=num;
if ((num_m>num_ant) &&(num_m<num_sig))
printf ("%d es punto silla", num_m); break; }
}
printf("Escriba un Numero para salir 0"); scanf("%d",&num);
}
if (nroT<3)
{ printf ("Debe digitar por lo menos tres numeros"); }
getch();
}

S-ar putea să vă placă și