Está en la página 1de 18

Pseudocdigo

El pseudocdigo que a continuacin se define fue tomado de la gua EGEL lnfo Comp del CENEVAL. Sirve para escribir programas de computadora en lenguaje natural de tal manera que se facilite la comprensin, prueba y posterior codificacin en un lenguaje de programacin especfico.

1. Convenciones 2. Tipos de datos 3. Estructuras de datos 4. Operadores 5. Operaciones de cadenas 6. Comentarios 7. Estructuras de control 8. Funciones o procedimientos 9. Operaciones de entrada/salida Bibliografa

1. Convenciones
La relacin de convenciones empleadas en el pseudocdigo es la siguiente:
y y y y y

El pseudocdigo se escribe empleando la fuente Times New Roman Las palabras reservadas del pseudocdigo se muestran en negritas Los puntos "..." indican la posibilidad de repetir algn elemento del pseudocdigo Cuando exista la posibilidad de elegir algn elemento a partir de un conjunto de elementos, stos se listarn separados por el smbolo "|" Las diferentes opciones o posibilidades de uso del pseudocdigo se listan con vietas El pseudocdigo posee las caractersticas siguientes:
y o

Se emplean oraciones en lenguaje natural, donde cada una se refiere a una actividad general o especfica o Se utiliza un lenguaje comn, sin palabras rebuscadas o Se evitan errores gramaticales, abreviaciones y puntuaciones

Regresar

2. Tipos de datos
Los tipos de datos bsicos son:
y y y y

stringcadena de caracteres integernmero entero realnmero real booleanfalso o verdadero

Estos tipos de datos se declaran de acuerdo con las formas siguientes:


y y y

tipo variable1 tipo variable2, variable3 , ... , variablen tipo variablen1, variablen2, ... , variablenm = valor

donde: tipo puede ser string, integer, realo boolean.

Regresar

3. Estructuras de datos
Las estructuras de datos son:
y

arreglos

tipoarray1[rango1,...,rangon], ... , array2[rango1, ... , rangon] donde: rangon: nmero de localidades deseadas. La primera localidad se referencia con uno.
tipo: es alguno de los tipos de datos bsicos o alguna estructura de datos.
y

registros

Declaracin: recordnombre_registro tipo variable1


... ...

tipovariablen end Creacin de un registro: nombre_registro registro La referencia a un campo de un registro se efecta de la forma: registro.nombre_campo
y

archivos

Declaracin: filenombre_archivo
y

clases

Declaracin: classnombre_clase variables y funciones miembros end Instanciacin de un objeto: nombre_clase objeto La referencia a un campo de una clase se efecta de la forma: objeto.nombre_campo. El llamado a una funcin de una clase se efecta de la forma: objeto.nombre_funcin(lista_parmetros)

Regresar

4. Operadores
y

Aritmticos:

+ suma - resta * multiplicacin / divisin

mod mdulo div divisin entera


y

de comparacin:

= igual <>diferente <menor que >mayor que <= menor o igual que >= mayor o igual que
y

lgicos:

AND La expresin ser verdadera si y slo si ambas expresiones son verdaderas ORLa expresin ser verdadera si al menos una expresin es verdadera XOR La expresin ser verdadera si y slo si ambas expresiones son diferentes (verdadero y falso, o viceversa) NOT El valor de la expresin es la negacin de la expresin original
Nota: La precedencia de los operadores la establecern los parntesis

Regresar

5. Operaciones de cadenas
Las funciones para cadenas son las siguientes:
y

length (nombre_de_la_cadena)

Regresa un valor entero que "contiene" la longitud de la cadena nombre_de_la_cadena


y

substring(nombre_de_la_cadena,posicin_inicial,longitud)

Regresa una cadena, en donde:

posicin inicial es la posicin a partir de la cual se copiar el contenido de nombre_de_la_cadena longitud es el nmero de caracteres que se copiarn La forma para copiar el contenido de una cadena hacia otra es: cadena1=cadena2 La concatenacin de cadenas puede ser: cadena_1 =cadena_2 +cadena_3 cadena_1 =cadena_1 +cadena_2

Regresar

6. Comentarios
y y

-- comentario /* lnea1

lnea2 ... lnean */

Regresar

7. Estructuras de control
yAsignacin:

variable = valor 1 | expresin1 | variable


y

Secuenciacin:
y

e1

e2
.

en
y

o bien: e1, e2, ... ,en

Condicin:
y

if c1then

e1

if c1then

e1 else e2
y

case variable | expresin of

valor1: e1 valor2: e2 ... valorn: en otherwise: ex end donde: otherwisees opcional


y

lteraciones condicionales
y

whilec1

e1
y

do

e1 until c1
y

forvariable = valor_inicialtoc1, incremento | decremento

e1
Notas:
y y

y y

Es posible efectuar combinaciones de las estructuras de control de secuenciacin, condicin e iteracin condicional en puede ser una asignacin, alguna estructura de control, combinacin de estas ltimas o una secuenciacin delimitada por las palabras reservadas de: beginy end cn es una condicin Se recomienda que los pseudocdigos posean una indentacin o sangra consistente

Regresa

8. Funciones o procedimientos
funcnombre_funcin (lista_parmetros): tipo begin e1 ... en returnvariable | expresin | valor end donde: lista_parmetros, : tipo y returnson opcionales Para llamar a una funcin o procedimiento se escribe: nombre_funcin(lista_parmetros) lista_parmetros en la definicin de la funcin es de la forma: tipo variable1, tipo variable2, ..., tipo variablen lista_parmetros en el llamado a la funcin es de la forma: variable1, variable2, ..., variablen

Regresar

9. Operaciones de entrada/salida
y

read(variable1, variable2, ..., variablen)

Lee una(s) variable(s) del teclado


y

write("texto1", ... , "texton", variable1, ... , variablen)

Despliega texto(s) o el valor de una(s) variable(s) en el monitor


y

open(archivo, read | write | append | read/write)

Abre un archivo en algn modo (escritura, lectura, adicin o lectura/escritura, respectivamente)


y

close(archivo)

Cierra un archivo previamente abierto


y

readfile(archivo, nombreRegistro)

Lee un registro de archivo dejando la informacin leda en nombreRegistro


y

writefile(archivo, nombreRegistro)

Escribe o sobreescribe el contenido de nombreRegistro en el registro actual de archivo


y

EOF(archivo)

Regresa verdadero si es el fin de archivo y falso en caso contrario


y

ERROR(archivo)

Regresa verdadero si se present un error en la ltima instruccin ejecutada en un archivo y falso en caso contrario
y

seek(archivo, inicio | final | registron)

Se posiciona al inicio, al final o en un registro x de archivo


y

position(archivo)

Regresa el nmero de registro actual en archivo

Ejercicios con Pseudocdigos Ejercicios de Pseudocdigos, esto ayudar al estudiante a llegar a una solucin, de una manera fcil y practica; estos son Pseudocdigos que yo hice llevando una lgica propia, es indispensable que el alumno defina y trabaje arduamente en la lgica, pues esto les llevar a ser un buen programador y definir un estilo de programacin propio. Es importante hacer notar que estos ejercicios son los que se ven en clase, pero los alumnos pueden dar solucin a otros problemas, yo sugiero que en casa ejerciten la lgica de solucin a problemas sencillos y despus darle solucin a problemas ms complejos. Ejercicio 1. Ejercicio 2. Ejercicio 3. Ejercicio 4. Ejercicio 5. Ejercicio 6. Ejercicio 7. Ejercicio 8. Ejercicio 9. Ejercicio 10. Ejercicio 11.

Atrs 1.- Escribir un Pseudocdigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio Variables edad, peso. Imprimir "Escribir los datos (Edad, Peso):"

Leer Edad, Leer Peso. Visualizar "Tu peso es: ", peso, " y tu edad es: ", edad. Fin.

Inicio 2.- Escribir un Pseudocdigo que calcule el rea de un tringulo recibiendo como entrada el valor de base y altura. Inicio Variables Altura, Base, Area. Imprimir "Introduce la base y la altura: " Leer base y peso. area= (base*altura)/2. Imprimir "El area es: ", base. Fin.

Inicio 3.- Escribir Pseudocdigo que calcule el rea de un crculo. Inicio Constantes Pi= 3.1416 Variables Radio, area = real

Imprime "Introduce el radio: " Leer radio. area= radio*radio*Pi Imprimir "El rea del circulo es: ", area. Fin.

Inicio 4.- Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la divisin del mayor entre el menor. Inicio Variables num1, num2=entero. Variables R=real. Imprimir "Introduce los nmeros:" Leer num1, Leer num2. Si a>b entonces R= a/b Sino R= b/a Fin.

Inicio 5.- Escribir Pseudocdigo que lea de entrada 3 nmeros y que indique cual es el mayor de ellos. Inicio Variables a, b,c = enteros.

Imprimir "Introduce los datos a comparar: " Leer a,b,c Si a<b y a<c entonces Imprime "El mayor es: ", a

Sino Si b<a y b<c entonces Imprime "El mayor es: ",b sino Imprime "El mayor es: ", c Fin.

Inicio 6.- Escribir un Pseudocdigo que lea 3 nmeros los cuales significan una fecha (da, mes, ao). Comprobar que sea vlida la fecha, si no es valido que imprima un mensaje de error, y si es vlida imprimir el mes con su nombre. Inicio Variables dia, mes, ao =entero. Imprimir "Introduce la fecha (Dia,mes,ao): " Leer dia, mes, ao. Si dia>31 o mes >12 o ao<0 entonces Imprimir "Error la fecha no es correcta" Sino si mes=1 o mes=3 o mes=5 o mes=7 o mes=8 o mes=10 o mes=12 entonces sidia>31 y dia<1 entonces Imprimir "Error de Dia" sino si mes=1 entonces imprimir dia,"/ Enero /",ao si mes=3 entonces imprimir dia,"/ Marzo /",ao si mes=5 entonces imprimir dia,"/ Mayo /",ao si mes=7 entonces imprimir dia,"/ Julio /",ao

si mes=8 entonces imprimir dia,"/ Agosto /",ao si mes=10 entonces imprimir dia,"/ Octubre /",ao si mes=12 entonces imprimir dia,"/ Diciembre /",ao

Si mes=2 entonces sidia>28 o dia<0 entonces Imprimir "Error de Dia" sino Imprimir dia,"/ Febrero /",ao Si mes=4 o mes=6 o mes=9 o mes=11 Si dia>30 o dia<1 entonces Imprimir "Error de Dia" Sino Si mes=4 entonces Imprimir dia,"/ Abril /",ao Si mes=6 entonces Imprimir dia,"/ Junio /",ao Si mes=9 entonces Imprimir dia,"/ Septiembre /",ao Si mes=11 entonces Imprimir dia,"/ Noviembre /",ao Fin.

Inicio 7.- Escribir un Pseudocodigo que pida la edad y el sexo y dependiendo si es hombre o mujer y si puede votar o no.

Inicio variables edad=entero, sexo=caracter.

repetir Imprimir "Introduce Tu edad:" Leer edad. Hasta que (edad >0)

Hacer Imprimir "Introduce tu sexo (M/H):" leer sexo hasta que (sexo='H' o sexo = 'M') Si sexo= 'M' entonces si edad > 18 entonces Imprimir "Eres Mujer y puedes votar" sino Imprimir "Eres Mujer y no puedes votar" Sino si edad >18 entonces Imprimir "Eres Hombre y puedes votar" sino Imprimir "Eres Hombre y no puedes votar" Fin.

Inicio

8.- Realice un Pseudocdigo que calcule la nmina salarial neto, de unos obreros cuyo trabajo se paga en horas. El clculo se realiza de la siguiente forma: - Las primeras 35 horas a una tarifa fija. - Las horas extras se pagan a 1.5 ms de la tarifa fija. - Los impuestos a deducir de los trabajadores varian, segun el sueldo mensual si el sueldo es menos a $20,000.00 e l sueldo es libre de impuesto y si es al contrario se cobrar un 20% de impuesto. Inicio Canstante Tarifa= 50. Variables Horas, Sueldo, dif_horas, tarifa_extra, Salario_extra, Sueldo_mes, Impuesto, Sueldo_total. Imprimir "Introduce las Horas de Trabajo ==> " Leer Horas.

Si Horas <= 35 entonces Sueldo= horas * tarifa. Sino Dif_horas= Horas - 35 tarifa_extra=(tarifa * 1.5) Salario_exta= tarifa_extra * Dif_horas Sueldo=(35*tarifa)+ salario_extra. Sueldo_mes = sueldo * 4 Impuesto=0

Si sueldo_mes> 20000 entonces Impuesto = (Sueldo_mes* 0.20) Salario_total = Sueldo_mes - Impuesto

Imprimir "Tu sueldo al mes es: ", sueldo_mes,"Valor de Impuesto: ", Impuesto, " El salario Neto es: ",Salario_total. sino Imprimir "Tu sueldo Neto es: ", sueldo_mes. Fin.

Inicio 9.- Hacer un Pseudocdigo que calcule el factorial de un nmero. Inicio Variables N,Fact,aux.

Imprimir "Introduce el nmero: " Leer N

aux= n-1. fact=n

Hacer fact=fact * aux. Hasta que aux=1

Imprimir "El factorial de ", n, "es:", fact Fin.

Inicio

10.- Hacer un Pseudocodigo que despliegue las tablas de multiplicar. Inicio Variables i,k,r.

para i=1 hasta 10. para k=1 hasta 10. r:=i*k. Imprimir i," por ",k," = ",r. k=k+1. i=i+1. Fin.

Inicio 11.- Escribir un Pseudocdigo que encuentre y despliegue los nmeros primos entre uno y cien. Un nmero primo es divisible entre el mismo y la unidad por lo tanto un numero primo no puede ser par excepto el dos (2). Inicio Variables primo, cont, div, res.

Primo = 1. Hacer mientras primo<=100 Div =0. Cont =1. Hacer Mientras cont<= primo Res = contmod primo si res = 0 entonces

Div = div +1. Fin si Cont = cont +1. Fin de Hacer mientras si div<=2 entonces imprimir primo Fin si. Primo = primo + 1. Fin de Hacer mientras Fin.

También podría gustarte