
PSEINT

PSeInt le ayuda a escribir algoritmos utilizando un pseudo-lenguaje simple, intuitivo y en español.
El objetivo es permitir al estudiante centrar la atención en los conceptos fundamentales que debe aprender, sin perder tiempo en los detalles de un lenguaje o del uso de un intérprete o compilador.
A continuación veras los programas realizados durante en primer trimestre de Pseint. Y también encontraras el documento con el cual podrás descargar tu programa de Pseint portable para que elabores las ejecuciones o programas que desees.
Y en el siguiente botón encontraras todas las instrucciones para descargar pseint en tu computador y empezar a practicar:
MAYOR,MENOR O IGUALES
1Proceso ejercicio_3
2 Escribir "Intoduce el primer numero"
3 Leer numero1
4 Escribir "Introduce el segundo numero"
5 Leer numero2
6 //comparamos los dos numeros,
7 //si el primero es mayor o igual que el segundo entra
8 Si (numero1>=numero2) Entonces
9 //Si el numero1 y numero2 son iguales entra y escribe que son iguales
10 //Sino lo son escribe que el numero1 es el mayor
11 Si (numero1=numero2) Entonces
12 escribir "los numeros " numero1 " " numero2 " son iguales"
13 Sino
14 Escribir numero1 " es el mayor de los dos"
15 FinSi
16 //Si el primer Si es falso, escribe que el numero2 es mayor
17 Sino
18 Escribir numero2 " es el mayor de los dos"
19 FinSi
20FinProceso
HALLAR EL MAYOR NUMERO DE 3
1Proceso mayor
2 a<-0;
3 b<-0;
4 c<-0;
5 rpta<-0;
6 Escribir " ";
7 Escribir "Bienvenido al programa que calcula el mayor de 3 numeros";
8 Escribir "Digite 3 numeros";
9 Escribir "Digite el 1 Numero";Leer a;
10 Escribir "Digite el 2 Numero";Leer b;
11 Escribir "Digite el 3 Numero";Leer c;
12 Si a<b Entonces
13 Si b<c Entonces
14 Escribir "El mayor es" c;
15 Sino
16 Escribir "El mayor es" b;
17 FinSi
18 Sino
19 Si a<c Entonces
20 Escribir "El mayor es" c;
21 Sino
22 Escribir " El mayor es" a;
23 FinSi
24 FinSi
25FinProceso
ADVIVINAR EL NÚMERO
1// Juego simple que pide al usuario que adivine un numero en 10 intentos
2Proceso Adivina_Numero
3
4 intentos<-10
5 num_secreto <- azar(100)+1
6
7 Escribir "Adivine el numero (de 1 a 100):"
8 Leer num_ingresado
9 Mientras num_secreto<>num_ingresado Y intentos>1 Hacer
10 Si num_secreto>num_ingresado Entonces
11 Escribir "Muy bajo"
12 Sino
13 Escribir "Muy alto"
14 FinSi
15 intentos <- intentos-1
16 Escribir "Le quedan ",intentos," intentos:"
17 Leer num_ingresado
18 FinMientras
19
20 Si num_secreto=num_ingresado Entonces
21 Escribir "Exacto! Usted adivino en ",11-intentos," intentos."
22 Sino
23 Escribir "El numero era: ",num_secreto
24 FinSi
25
26 FinProceso
COLOQUIAL
1// Este ejemplo muestra algunas de las variaciones posibles cuando se utiliza
2// syntaxis flexible, instrucciones adicionales, y expresiones en lenguaje
3// coloquial para las condiciones.
4Proceso sin_titulo
5
6 Definir a, b Como Entero
7
8 Imprimir "Ingrese 3 numeros (los dos primeros deben ser enteros):"
9 Leer a b c
10
11 Si a Es Mayor Que b Y a Es Mayor Que c Entonces
12 Escribir a " es el mayor"
13 sino
14 Si b Es Mayor Que c Entonces
15 Escribir b " es el mayor"
16 Sino
17 Escribir c " es el mayor"
18 FinSi
19 FinSi
20
21
22 Mostrar "Pulse una tecla para continuar"
23 Esperar Tecla
24 Limpiar Pantalla
25
26 Si a Es Par
27 Escribir a " es par"
28 Sino
29 Escribir a " es impar"
30 FinSi
31
32 Escribir Sin Bajar "Los divisores de " b " son: "
33 Para i Desde 1 Hasta b-1
34 Si b Es Multiplo De i
35 Escribir sin bajar i " "
36 Fin Si
37 Fin Para
38 Escribir b
39
40 Si c Es Entero
41 Mostrar C " es entero"
42 Sino
43 Mostrar C " es real"
44 FinSi
45
46FinProceso
ORDENAR
1
2// Se ingresa una lista de nombres (la lista termina
3// cuando se ingresa un nombre en blanco) no permitiendo
4// ingresar repetidos y luego se ordena y muestra
5Proceso OrdenaLista
6
7 Dimension lista[200]
8
9 Escribir "Ingrese los nombres (enter en blanco para terminar):"
10
11 // leer la lista
12 cant<-0
13 Leer nombre
14 Mientras nombre<>"" Hacer
15 cant<-cant+1
16 lista[cant]<-nombre
17 Repetir // leer un nombre y ver que no este ya en la lista
18 Leer nombre
19 se_repite<-Falso
20 Para i<-1 Hasta cant Hacer
21 Si nombre=lista[i] Entonces
22 se_repite<-Verdadero
23 FinSi
24 FinPara
25 Hasta Que NO se_repite
26 FinMientras
27
28 // ordenar
29 Para i<-1 Hasta cant-1 Hacer
30 // busca el menor entre i y cant
31 pos_menor<-i
32 Para j<-i+1 Hasta cant Hacer
33 Si lista[j]<lista[pos_menor] Entonces
34 pos_menor<-j
35 FinSi
36 FinPara
37 // intercambia el que estaba en i con el menor que encontro
38 aux<-lista[i]
39 lista[i]<-lista[pos_menor]
40 lista[pos_menor]<-aux
41 FinPara
42
43 // mostrar como queda la lista
44 Escribir "La lista ordenada es:"
45 Para i<-1 Hasta cant Hacer
46 Escribir " ",lista[i]
47 FinPara
48
49FinProceso
DIVISIÓN
1Proceso factorial
2 resp<-"s"
3 mientras resp="S" O resp="s" Hacer
4 Escribir "CALCULAR FACTORALES'
5 Escribir "Digite el numero:'
6 Leer N
7 fact<-1
8 Para I<-1 hasta N Hacer
9 fact<-fact*I
10 FinPara
11 Escribir "El factorial de ',N,' es: ',fact
12 Escribir "Desea calcular otro factorial? (S/N)'
13 Leer resp
14 FinMientras
15FinProceso
FACTORIZACION
1Proceso Factorizacion
2
3 Escribir "Ingrese el numero: "
4 Leer num
5
6 Escribir "Factorizacion: "
7
8 factorizar<-verdadero
9
10 Mientras factorizar Y num>1 hacer
11 div<-0
12 Si num/2 = trunc(num/2) Entonces
13 Escribir 2
14 num<-num/2
15 Sino
16 div<-1; factor_primo<-Verdadero
17 Mientras div<=rc(num) Y factor_primo Hacer
18 div <- div+2
19 Si num/div = trunc(num/div) Entonces
20 factor_primo <- Falso
21 FinSi
22 FinMientras
23 Si factor_primo Entonces
24 escribir num
25 factorizar<-falso
26 sino
27 escribir div
28 num<-num/div
29 factor_primo<-verdadero
30 FinSi
31 FinSi
32 FinMientras
33
34FinProceso
MAYOR
1// Busca los dos mayores de una lista de N datos
2Proceso Mayores
3
4 // primero se declara un arreglo de 200 elementos
5 Dimension datos[200]
6
7 // luego se pide al usuario ingresar la cantidad de datos,
8 // que no debera ser mayor a 200
9 Escribir "Ingrese la cantidad de datos (de 2 a 200):"
10 Leer n
11
12 // se leen uno por uno los 200 datos y se los guarda en el arreglo
13 Para i<-1 Hasta n Hacer
14 Escribir "Ingrese el dato ",i,":"
15 Leer datos[i]
16 FinPara
17
18 // se comparan los dos primeros y se toman como may1 (el mayor de los
19 // dos) y may2 (el segundo mayor).
20 Si datos[1]>datos[2] Entonces
21 may1<-datos[1]
22 may2<-datos[2]
23 Sino
24 may1<-datos[2]
25 may2<-datos[1]
26 FinSi
27 // se recorren los demas elementos buscan si hay alguno mayor que may1 o may2
28 Para i<-3 Hasta n Hacer
29 Si datos[i]>may1 Entonces // si hay un valor mayor que may1
30 may2<-may1 // como may1 era el más grande, pasa a estar en segundo lugar
31 may1<-datos[i] // y el nuevo dato toma el primer puesto (mayor de todos)
32 Sino // si no era mas grande que may1, todavia puede ser mas grande que may2
33 Si datos[i]>may2 Entonces // si supera al segundo mayor que teniamos
34 may2<-datos[i] // se lo guarda como segundo mayor
35 FinSi
36 FinSi
37 FinPara
38
39 // se muestran los resultados
40 Escribir "El mayor es: ",may1
41 Escribir "El segundo mayor es: ",may2
42
43 FinProceso2
VOCALES DE UNA FRASE
1// Este ejemplo muestra como utilizar las funciones para manejo
2// de cadenas de caracteres. Requiere que el perfil de lenguaje
3// habilite estas funciones. Si al intentar ejecutar obtiene
4// errores en las funciones, revise su configuración en el
5// item "Opciones del lenguaje" del menú "Configurar".
6Proceso sin_titulo
7
8
9 // el usuario ingresa una frase, vamos a contar cuantas vocales tiene
10 Escribir "Ingrese una frase"
11 Leer frase
12 // pasamos toda la frase a minusculas para no tener que preguntar 2 veces por cada vocal
13 frase<-Minusculas(frase)
14
15 // lista de letras que vamos a buscar
16 Vocales<-"aeiouáéíóúü"
17 cantvocales<-0
18
19 // comparar todas las letras de frase con las de vocales y contar coincidencias
20 Para i<-1 hasta Longitud(frase) Hacer
21 Para j<-1 hasta Longitud(vocales) Hacer
22 Si Subcadena(frase,i,i)=Subcadena(vocales,j,j) Entonces
23 cantVocales<-cantVocales+1
24 FinSi
25 FinPara
26 FinPara
27
28 Escribir "La frase contiene ",cantVocales," vocales."
NÚMEROS PRIMOS
1// Encuentra los primeros N numeros primos
2Proceso Primos
3
4 Escribir "Ingrese la cantidad de numeros primos a mostrar:"
5 Leer cant_a_mostrar
6
7 Escribir "1: 2" // el primer primo es 2, los otros son todos impares...
8 cant_mostrados <- 1
9 n<-3 // ...a partir de 3
10
11 Mientras cant_mostrados<cant_a_mostrar Hacer
12
13 es_primo <- Verdadero // pienso que es primo hasta que encuentre con que dividirlo
14
15 Para i<-3 hasta rc(n) con paso 2 Hacer // ya sabemos que es impar
16 Si n MOD i = 0 entonces // si la division da exacta...
17 es_primo <- Falso // ...ya no es primo
18 FinSi
19 FinPara
20
21 Si es_primo Entonces
22 cant_mostrados <- cant_mostrados + 1
23 Escribir cant_mostrados, ": ",n
24 FinSi
25
26 n <- n + 2
27
28 FinMientras
29
30FinProceso
SUELDO MÁS AUMENTO
1// Lee los tres lados de un triangulo rectangulo, determina
2// si corresponden (por Pitargoras) y en caso afirmativo
3// calcula el area
4Proceso TrianguloRectangulo
5
6
7 // cargar datos
8 Escribir "Ingrese el lado 1:"
9 Leer l1
10 Escribir "Ingrese el lado 2:"
11 Leer l2
12 Escribir "Ingrese el lado 3:"
13 Leer l3
14
15 // encontrar la hipotenusa (mayor lado)
16 Si l1>l2 Entonces
17 cat1<-l2
18 Si l1>l3 Entonces
19 hip<-l1
20 cat2<-l3
21 Sino
22 hip<-l3
23 cat2<-l1
24 FinSi
25 Sino
26 cat1<-l1
27 Si l2>l3 Entonces
28 hip<-l2
29 cat2<-l3
30 Sino
31 hip<-l3
32 cat2<-l2
33 FinSi
34 FinSi
35
36 // ver si cumple con Pitagoras
37 Si hip^2 = cat1^2 + cat2^2 Entonces
38 // calcualar area
39 area<-(cat1*cat2)/2
40 Escribir "El area es: ",area
41 Sino
42 Escribir "No es un triangulo rectangulo."
43 FinSi
44
45FinProceso