You are on page 1of 34

1

PSeInt, es la abreviatura de Pseudocode Interpreter,


Intrprete de Pseudocdigo. Este programa fue creado
como proyecto final de la asignatura Programacin I en la
Facultad de Ingeniera y Ciencias Hdricas de la Universidad
Nacional del Litoral en Argentina.
Actualmente incluye otras funcionalidades como editor y
ayuda integrada, generacin de diagramas de flujo o
exportacin a cdigo C, C++, C#, Java, HTML y muchos
otros mas.

El proyecto se distribuye como software libre bajo licencia


GPL.
Para descargarlo o conseguir actualizaciones visite
http://pseint.sourceforge.net

Todo algoritmo en pseudocdigo de Pseint tiene la siguiente


estructura general:

Accin 1;
Accin 2;
Accin n;

Comienza con la palabra clave Proceso seguida del nombre


del seudocodigo, luego le sigue una secuencia de
instrucciones y finaliza con la palabra FinProceso. Una
secuencia de instrucciones es una lista de una o ms
instrucciones, cada una terminada en punto y coma.
Las acciones incluyen operaciones de entrada y salida,
asignaciones de variables, condicionales si-entonces o de
seleccin mltiple y/o lazos mientras, repetir o para y
subprocesos.
5

Tipos de Datos Simples: Nmeros, Lgicos y Carcter


Estructuras de Datos: Vectores y Matrices

Nmeros
Enteros

Reales

Existen tres tipos de datos bsicos:


Numrico: nmeros, tanto enteros como decimales. Para
separar decimales se utiliza el punto, Ejemplos: 12, 23, 0,
-2.3, 3.14
Lgico: solo puede tomar dos valores: VERDADERO o
FALSO.
Carcter: caracteres o cadenas de caracteres encerrados
entre comillas. Ejemplos hola, "hola mundo" , 123 ,
FALSO, etc
6

Qu es un Operador?
Smbolo que indica que se ejecute determinadas
operaciones con los elementos sobre los que opera.

Qu es una Funcin?
Es un conjunto de lneas de cdigo que realizan una tarea
especfica y pueden retornar un valor.

Funcin

Significado

RC(X) o RAIZ(X)

Raz Cuadrada de X

ABS(X)

Valor Absoluto de X

LN(X)

Logaritmo Natural de X

EXP(X)

Funcin Exponencial de X

SEN(X)

Seno de X

COS(X)

Coseno de X

TAN(X)

Tangente de X

ASEN(X)

Arcoseno de X

ACOS(X)

Arcocoseno de X

ATAN(X)

Arcotangente de X

TRUNC(X)

Parte entera de X

Funcin

Significado

REDON(X)

Entero ms cercano a X

AZAR(X)

Entero aleatorio en el rango [0;x-1]

ALEATORIO(A,B)

Entero aleatorio en el rango [A;B]

LONGITUD(S)

Cantidad de caracteres de la
cadena S

MAYUSCULAS(S)

Retorna una copia de la cadena S


con todos sus caracteres en
maysculas

MINUSCULAS(S)

Retorna una copia de la cadena S


con todos sus caracteres en
maysculas

CONCATENAR(S1,S2)

Retorna una nueva cadena que


resulta de unir las cadenas S1 y S2.

CONVERTIRANUMERO(X) Recibe una cadena de caracteres


que contiene un nmero y
devuelve una variable numrica
con el mismo.

CONVERTIRATEXTO(S)

Recibe un real y devuelve una


variable
numrica
con
la
representacin como cadena de
caracteres de dicho real.
9

Escribir:

Nos permite mostrar en pantalla algn tipo de dato, o varios


(separados por una coma (,)) y esos datos deben estar entre
comillas cuando son leyendas o cadenas de carcter. Al
escribir variables, estas se escriben sin comillas.
Ejemplo: Escribir "hola mundo";
Ejemplo: Escribir La suma es: ,s;
Leer:

Nos permite recibir valores por teclado y guardarlos en


variables.
Ejemplo: Leer a;
Ejemplo: Leer a,b,c;
Asignar:

Nos permite guardar un valor dentro de una variable


Ejemplo: a <- 2; Esta instruccin guarda el numero entero 2
dentro de la variable llamada a.

10

Construya un seudocdigo que, dados los dos lados


diferentes de un rectngulo, encuentre el permetro y
el rea del mismo.

11

Un Empleado trabaja 44 horas por semana a razn de


$5.00 la hora. El porcentaje de retencin por renta es
del 10% del salario bruto. Se desea conocer cuanto es
el total a pagar por la renta y el salario neto del
trabajador.

12

Como primer desafo resuelve los siguientes ejercicios


propuestos:
1. Escriba un seudocdigo que datos los valores
enteros A y B encuentre y muestre los siguientes
resultados:
A-B
A+B
A*B
A/B
2. Elabore un seudocdigo que lea un numero
entero y muestre el cuadrado y cubo de dicho
numero.
3. Elabore un seudocdigo que lea un numero
entero negativo e imprima este numero y tambin
el positivo del mismo.
4. Elabore un seudocdigo que lea los valores
enteros A y B, luego que pase el valor de A a B y
de B a A y los imprima en pantalla.
5. A la mam de Juan le preguntan la edad y ella
responde con el siguiente acertijo: Tengo 3 hijos,
pregunte la edad a Juan. Alberto tiene 2/3 de la
edad de Juan, Ana tiene 4/3 de la edad de Juan y
mi edad es la suma de las 3 edades de mis hijos.
Elabore un seudocdigo que resuelva el acertijo.
13

Una accin selectiva, interrogativa o condicional es una


instruccin o grupo de instrucciones que se pueden
ejecutar o no en funcin del resultado de la evaluacin
de una condicin. En programacin se usan para tomar
desiciones.
Dicha condicin ser siempre una expresin de tipo
lgico, es decir una expresin formada por operandos
(son los distintos valores que se utilizan para realizar
las operaciones especificadas por los distintos
operadores.) y operadores, donde los operadores son
lgicos o de relacin y cuyo resultado ser siempre
verdadero o falso.
Si:
Ejecuta una determinada accin cuando se cumple una
determinada condicin. S la accin es verdadera, entonces
se ejecuta las instrucciones que dependan de la misma, en
caso de ser falsa, se ejecutan las instrucciones asociadas al
valor falso. Puede existir la ocasin en que el lado falso no
ejecute ninguna instruccin, si este fuese el caso podemos
obviar la rama del No, es decir no se pone.
Ejemplo: Si cant_numeros != 0 entonces
Escribir La cantidad de nmeros es diferente de 0
Sino
Escribir La cantidad de nmeros es igual a 0

FinSi
14

Despus de haber tomado ya una decisin, dentro de la


misma podemos tomar otra decisin. A esto se le
conoce como Anidamiento, que no es otra cosa mas
que, colocar una instruccin dentro de otra instruccin,
en este caso significa insertar una decisin dentro de
otra decisin

15

Tablas de Verdad:

16

Elabore un seudocdigo que lea la edad en aos de


una persona y determine si est es menor o mayor de
edad.

17

Elabore un seudocdigo que lea tres nmeros enteros


y muestre el mayor de ellos. Si los tres nmeros
fueran iguales el seudocdigo debe advertirlo.

18

Como segundo desafo resuelve los siguientes ejercicios


propuestos:
1.
2.

3.

4.

5.

Escriba un seudocdigo que diga si un numero es


positivo o negativo o cero.
Elabore un seudocdigo que lea 2 nmeros y
deduzca si estn en orden ascendente o
descendente.
A un trabajador le descuentan de su sueldo el 10% si
su sueldo es menor o igual a $1000, por encima de
$1000 y hasta $2000 el 5% adicional al 10% es decir
15%, y por encima de $2000 el 3% adicional es decir
18%. Calcular el descuento y el sueldo neto que
recibe el trabajador despus del descuento.
Una tienda ofrece el 15% de descuento de la venta
total si esta es mayor a $500 y solo un 10% de
descuento si la venta es igual o menor a $500.
Elabore un seudocdigo que permita obtener cuanto
deber pagar finalmente por su compra un cliente.
Elabore un seudocdigo tal que dato un par
ordenado (X,Y), calcule e imprima en que cuadrante
esta ubicado dicho punto. Nota: El par ordenado
(0,0) no esta en ningn cuadrante sino que es el
origen del plano y su seudocdigo as debe
indicarlo.

19

Es muy comn encontrarse en la programacin


algoritmos cuyas operaciones se deben ejecutar un
nmero repetido de veces. Si bien las operaciones son
las mismas, los datos sobre los que se opera varan. Al
conjunto
de
instrucciones
que
se
ejecutan
repetidamente se le denomina ciclo, bucle o lazo.

Todo ciclo debe terminar de ejecutarse luego de un


nmero finito de veces, por lo que se vuelve necesario
en cada iteracin del mismo, evaluar las condiciones
necesarias para decidir si se debe seguir ejecutando o
no este ciclo. En todo ciclo siempre debe existir una
condicin de parada o fin de ciclo.
Para:

La estructura repetitiva FOR o Para, es la estructura


algortmica adecuada para utilizar en un ciclo que se
ejecutara un numero definido de veces, es decir que se
sabe exactamente cuntas iteraciones se necesitan en el
ciclo.
Ejemplo:
Para i <- 1 Hasta 10 Con Paso 1 Hacer
Escribir i;
FinPara
// La instruccin Escribir i se repite 10 veces, desde 1 hasta 10
20

Elabore un seudocdigo utilizando la estructura de


repeticin Para que permita imprimir los nmeros
impares en el rango entre 1 y 100.

21

Elabore un seudocdigo que lea un numero entero N


y que calcule e imprima el resultado de la siguiente
serie.

22

Como segundo desafo resuelve los siguientes


ejercicios propuestos:
1. Escriba un seudocdigo que lea un numero
entero N y determine la suma de la serie:

2. Elabore un seudocdigo que calcule e


imprima el factorial de un nmero entero.
3. Elabore un seudocdigo para Imprimir el
termino N solicitado por el usuario de la serie
Fibonacci.
Recuerde
la
serie:
0,1,1,2,3,5,8,13,21,34,55Recuerde que los
2 primeros nmeros de la serie son siempre 0
y 1 y los dems trminos son la suma de los
2 anteriores.
4. Elabore un seudocdigo para mostrar las 10
primeras potencias de 3 (empezando por la
potencia cero) y adems presentar la suma
de ellas.
5. Elabore un seudocdigo que solicitando un
entero N, presente los N trminos de la
siguiente serie {4, 2, 1, 0.5, 0.25,..}
23

La estructura algortmica MIENTRAS comnmente


conocida como while es la estructura adecuada
cuando no conocemos el nmero de veces que se va a
repetir el ciclo. Dicho nmero de iteraciones o
repeticiones depende de las acciones o instrucciones
que se estn ejecutando dentro del ciclo.

Mientras:

La estructura repetitiva while funciona en verdadero. Es


decir que el bloque de sentencias dentro del cuerpo de la
estructura se ejecuta siempre que la condicin sea
verdadera, cuando cambia o pasa de verdadero a falso el
ciclo termina. Si el programador no logra hacer que la
evaluacin cambie de verdadero a falso en alguna iteracin
(la ultima) estara cometiendo un gravsimo error de lgica
que se conoce como Ciclo Infinito.
Ejemplo:
Mientras num != 0 Hacer
Leer num;
FinMientras
// La instruccin Leer num se repite mientras num sea
diferente de cero. Si num es cero la evaluacin da falso y
nos salimos.
24

Elabore un seudocdigo para imprimir en pantalla la


palabra Hola, mientras se ingrese o presione el
nmero 1..

25

Calcular el promedio de los nmeros positivos que


ingrese el usuario desde el teclado. Se saldr del ciclo
cuando se ingrese -99 (o cualquier numero negativo)
es decir que -99 es el numero que indica salir.

26

Como segundo desafo resuelve los siguientes


ejercicios propuestos:
1. Escriba un seudocdigo usando la estructura
repetitiva mientras que encuentre la suma de
los primeros 5 nmeros naturales.
2. Elabore un seudocdigo tal que dado como
datos un grupo de nmeros naturales
positivos, calcule e imprima el cubo de estos
nmeros.
3. Elabore un seudocdigo que lea un numero
entero N y que calcule e imprima el resultado
de la siguiente serie.
4. Elabore un seudocdigo para imprimir y
contar los mltiplos de 3 desde la unidad
hasta un numero N que introducimos por
teclado.
5. Elabore un seudocdigo que genere e
imprima los N trminos de la siguiente serie:
6. 17, 15, 18,16,19,17,20,18,21.

27

Un subproceso o una subrutina no es ms que un


bloque de cdigo con un determinado fin o propsito,
podemos definir ms de uno y nos permiten ahorrar
lneas cdigo si nuestros programas son muy extensos
o hay codificacin redundante.
Las funciones en PSeInt se identifican por un nombre,
comienzan con la palabra reservada SubProceso y
finalizan con FinSubProceso. Siempre se declaran
afuera del proceso principal casi siempre al inicio, para
ser llamados o invocados desde dentro del proceso
principal. Tambin opcionalmente pueden retornar un
valor o recibir cierta cantidad de parmetros o
argumentos.

28

En Pseint existen varios tipos de Subprocesos, uno de


estos tipos es:
Subproceso sin parmetros y con retorno
Esto significa que cuando se invoca el Subproceso no
es obligatorio pasarle ningn valor como parmetro para
que retorne el valor que tiene que retornar.

29

Otro tipo de Subproceso existente en Pseint es el


siguiente:
Subproceso con parmetros y con retorno
Esto significa que cuando se invoca el Subproceso es
obligatorio pasarle los valores como parmetros para que
retorne el valor que tiene que retornar.

30

El ultimo Subproceso de Pseint que estudiaremos en


este campamento es el siguiente:
Subproceso sin parmetros y sin retorno
Esto significa que cuando se invoca el Subproceso no
es obligatorio pasarle ningn valor como parmetro para
que funcione pero tambin no existe un valor que retornar.

31

Resuelve los siguientes ejercicios haciendo uso de


cualquiera de las estructuras algortmicas vistas en
nuestro campamento:
1. Una fbrica de pizarras hace los siguientes
descuentos: si el cliente compra menos de cinco
unidades se le hace un descuento del 10% sobre
la compra; si el nmero de unidades es mayor o
igual a 5 pero menos de 10 se le otorga un 20 %
de descuento y si son 10 o ms pizarras se le da
un 40%. Hacer un seudocdigo que determine el
valor a pagar por un cliente si cada pizarra cuesta
$20.
2. En un juego de preguntas que se responde SI o
NO gana quien responda correctamente las tres
preguntas. Si se responde mal cualquiera de ellas
ya no se pregunta la siguiente y termina el juego.
Las preguntas son:
Cristbal Colon es el descubridor de Amrica?
La orquesta Hermanos Flores es Salvadorea?
Es el Real Madrid un equipo de la Liga Mayor de
Futbol de El Salvador?
Elabore un diagrama de fulo en Pseint para
emular el juego.

32

3. Cree un seudocdigo para resolver ecuaciones de


la forma ax+b = c, pidiendo a y b que son datos
enteros y las posibles soluciones son:

4.

5.

6.

7.

a <> 0 x = b/a
a = 0 y b <> 0 Solucin Imposible
a=0yb=0
Solucin Indeterminada
Datos tres nmeros ordenarlos ya sea ascendente
o descendente y deducir cual es el nmero del
centro esto con la ayuda de un seudocdigo.
En un estacionamiento cobran $0. 50 por hora o
por fraccin. Disee un seudocdigo que
determine cuanto debe pagar un cliente por el
estacionamiento de su vehculo, conociendo el
tiempo en horas (h) y minutos (m) de
estacionamiento (las fracciones de minutos se
cobran como horas completas).
Elabore un seudocdigo que solicitando un entero
N, presente los N trminos de la siguiente
sucesin {1, 4, 9, 16, 25, 36, 49,...}
Elabore un seudocdigo que solicitando un entero
N, presente los N trminos de la siguiente
sucesin {1, 8, 27, 64, 125, 216, 343..}

33

8. Elabore un seudocdigo que imprima la sumatoria


de las potencias de 4 comprendidas entre 0 y N.
9. Elabore un seudocdigo que permita leer una lista
de nmeros enteros positivos que finaliza con
cualquier nmero negativo y que imprima el
nmero mayor de la lista.
10. Elabore un seudocdigo que permita leer una lista
de nmeros enteros positivos que finaliza con
cualquier nmero negativo y que imprima el
nmero menor de la lista.

34

You might also like