You are on page 1of 9

Colegio Privado Leonardo Da Vinci

Curso Computación 2º Año de Secundaria


4to Bimestre

ALGORITMOS Y DIAGRAMAS DE FLUJO


ALGORITMO
PSEINT (CONCEPTOS Y CARACTERÍSTICAS)
Es un intérprete de pseudocódigo. Con esta aplicación el estudiante de programación puede crear algoritmos usando el
lenguaje español de una forma fácil y sencilla y luego ver el resultado del algoritmo en una ventana de DOS, igual que si lo
hiciera en un lenguaje de programación como C o Pascal, por decir un par de ellos.

Es un programa que se utiliza para hacer distintos procesos lógicos utilizando diversos lenguajes de programación, este
programa es muy útil a la hora de aprender a programar, debido a su sencillez en la interfaz de su lenguaje de programación.

Pseint funciona con una serie de comandos muy específicos para su entendimiento, desde un "Escribir", y en el mismo
programa se puede encontrar la función de cada una de sus herramientas.

1. Presenta herramientas de edición para


escribir algoritmos en pseudocodigo en
español
 Autocompletado.
 Ayudas Emergentes.
 Plantillas de Comandos.
 Coloreado de Sintaxis.
 Indentado Inteligente.
2. Permite generar y editar el diagrama de flujo
del algoritmo.
3. Permite la edición simultánea de múltiple
algoritmos.
4. El lenguaje pseudocódigo utilizado es
configurable.
5. Ofrece perfiles de configuración
predefinidos para numerosas instituciones.
6. Puede interpretar (ejecutar) los algoritmos
escritos.

Comandos básicos de Pseint.


¿Qué es un comando?
Un comando es una orden que se le da a un programa de computadora que actúa como intérprete del mismo, para así realizar
una tarea específica.
Declaración de variables
En todo Pseudocódigo partimos declarando el tipo de variable que vamos a utilizar.

Definir:
Una variable debe definirse antes de ser utilizada por primera vez.

 Los tipos posibles son NUMERO, NUMÉRICO, REAL, ENTERO, LÓGICO, CARÁCTER, TEXTO, CADENA.
 NUMERO, NUMÉRICO y REAL son sinónimos para el tipo de datos numérico básico, que puede almacenar tanto números reales
como enteros. El tipo ENTERO es una especialización que sólo permite almacenar valores enteros; cualquier valor no entero que se lea
o asigne en una variable de este tipo será truncado.
 Una variable de tipo LOGICO sólo puede tomar los valores VERDADERO y FALSO, pero cuando se lee una variable ya definida
como lógica, el usuario puede ingresar también las abreviaciones V y F, o
0 y 1.
 CARACTER, TEXTO y CADENA son sinónimos para definir
variables de tipo carácter. Estas pueden contener cero, uno o más
caracteres arbitrarios y no tienen una longitud máxima. Si se declara una
variable de este tipo y en una lectura el usuario ingresa un número o un
valor lógico, se asignará una cadena que contiene el texto ingresado
(ejemplo: "1", "VERDADERO", etc).
Escribir:
La instrucción Escribir permite mostrar valores al ambiente.

Escribir <exprl> , <expr2> , ... , <exprN> ;

Leer:
La instrucción leer permite ingresar información desde el ambiente.

Leer <variable1> , <variable2> , ... ,<variableN> ;

Ejercicios.
SINTAXIS PSEINT (PARTE 2): CAPTURAR Y ESCRIBIR INFORMACION EN
PANTALLA
PALABRAS CLAVE: Escribir, Leer, Proceso, FinProceso
Iniciaremos con la forma en la que podemos escribir información en pantalla con Pseint.
Vamos a escribir: “HoLa MuNdO”.

Proceso: Esta palabra indica al compilador el inicio de un código a ejecutarse, el uso de esta es el siguiente:

FinProceso: el uso de esta expresión informa al compilador que el código ha llegado a su


fin.

Escribir: al escribir esta palabra el compilador escribirá en pantalla lo que se encuentre entre en comillas (“”).

El ejemplo completo quedara así:

Ahora capturaremos información de pantalla:


Leer: Indica al compilador que debe tomar la información
que el usuario escribe en pantalla. Para este ejemplo
capturaremos nuestro nombre. Esta palabra siempre va
acompañada de un nombre que especifique al compilador
que lo que debe capturar se almacena en esa variable.

El ejemplo completo quedara así:


Colegio Privado Leonardo Da Vinci
Curso Computación 3º Año de Secundaria
3er Bimestre

ALGORITMOS Y DIAGRAMAS DE FLUJO


PSEINT
Condicional Si-Entonces

La secuencia de instrucciones ejecutadas por la instrucción Si-Entonces-Sino depende del valor de una condición lógica.

Si <condición>
Entonces
<instrucciones>
Sino
<instrucciones>
FinSi

Al ejecutarse esta instrucción, se evalúa la condición y se ejecutan las instrucciones que correspondan: las instrucciones que le
siguen al Entonces si la condición es verdadera, o las instrucciones que le siguen al Sino si la condición es falsa. La condición
debe ser una expresión lógica, que al ser evaluada retorna Verdadero o Falso.

La cláusula Entonces debe aparecer siempre, pero la cláusla Sino puede no estar. En ese caso, si la condición es falsa no se
ejecuta ninguna instrucción y la ejecución del programa continúa con la instrucción siguiente.

Operadores y Funciones
Este pseudolenguaje dispone de un conjunto básico de operadores y funciones que pueden ser utilizados para la construcción
de expresiones más o menos complejas.

Las siguientes tablas exhiben la totalidad de los operadores de este lenguaje reducido:

Operador relacional Significado Ejemplo


> Mayor que 3>2
< Menor que 2<3
= Igual que 3=3
<= Menor o igual que 5<=5
>= Mayor o igual que 6>=5

También es posible comprobar varias condiciones a la vez, para hacer construcciones más complejas, como:
"si a es mayor que b y b es mayor que c", o como "si a es igual a 1 o b es igual a 1 ". Los operadores lógicos
que de los que disponemos son:
Operador lógico Significado Ejemplo
&óY Conjunción (y). (7>4) & (2=1) //falso
|óO Disyunción (o). (1=1 | 2=1) //verdadero
~ ó NO Negación (no). ~(2<5) //falso
Ejercicios

Algoritmo Ejemplo004
Definir N1, N2 como entero
Escribir "Dime un numero"
Leer N1
Escribir "Dime otro numero"
Leer N2

Si N1 > N2 Entonces
Escribir "El primero es mayor"
Sino
Escribir "El segundo es mayor"
FinSi

FinAlgoritmo

Algoritmo Ejemplo004b

Definir N1 como entero

Escribir "Dime un numero"


Leer N1

Si N1 > 0 o N1 = 0 Entonces
Escribir "Es mayor o igual que cero"
Sino
Escribir "Es negativo"
FinSi

FinAlgoritmo

Además, podemos encadenar varias condiciones una detrás de otra. Como hemos comentado, el ejemplo 4 fallaba si los dos
números son iguales. Por eso, un planteamiento más detallado (y más correcto) sería emplear dos comprobaciones "si", de la
siguiente manera:

Algoritmo Ejemplo004c

Definir N1, N2 como entero

Escribir "Dime un numero"


Leer N1
Escribir "Dime otro numero"
Leer N2

Si N1 > N2 Entonces
Escribir "El primero es mayor"
Sino
Si N1 < N2 Entonces
Escribir "El segundo es mayor"
Sino
Escribir "Son iguales"
FinSi
FinSi

FinAlgoritmo

Ejercicio de repaso propuesto 1: Crea un programa que pida dos números al usuario y responda si son iguales o no lo son.
Ejercicio de repaso propuesto 2: Haz una variante del ejemplo 1, usando el operador ">=".

Ejercicio de repaso propuesto 3: Crea un programa que pida un número al usuario y diga si es positivo, negativo o cero.
Ejercicio de repaso propuesto 4: Haz un programa que pida al usuario dos números y diga cuántos de ellos son positivos.
Ejercicio de repaso propuesto 5: Crea un programa que pida al usuario dos números y muestre su división si el segundo no es cero, o un
mensaje de aviso en caso contrario.
Ejercicio de repaso propuesto 6: Prepara un programa que pida al usuario tres números y diga cuál es el mayor de los tres.
Colegio Privado Leonardo Da Vinci
Curso Computación 3º Año de Secundaria
3er Bimestre

ALGORITMOS Y DIAGRAMAS DE FLUJO


PSEINT
Ejercicios
1. Dadas dos variables numéricas A y B, que el usuario debe teclear, se pide realizar un 5. Diseñar un algoritmo que pida por teclado tres números; si el primero es negativo, debe
algoritmo que intercambie los valores de ambas variables y muestre cuánto valen al final las imprimir el producto de los tres y si no lo es, imprimirá la suma.
dos variables (recuerda la asignación). Definir A, B, C, resultado como entero
Escribir "Introduce el valor de A"
definir A, B Como Entero Leer A
Escribir "Introduce el valor de B"
Escribir "Introduce el valor de A" Leer B
Leer A Escribir "Introduce el valor de C"
Escribir "Introduce el valor de B" Leer C
Leer B //si A es menor que 0,
C<-A //multiplicara los numero y sino los sumara
A<-B Si (A<0) Entonces
B<-C resultado = A*B*C
Escribir "A vale " A " y B vale " B Sino
resultado = A+B+C
2. Realizar un algoritmo que lea dos números, calculando y escribiendo el valor de su suma, FinSi
resta, producto y división. Escribir resultado
6. Realizar un algoritmo que lea un número por teclado. En caso de que ese número sea 0 o
definir numero1, numero2 como entero menor que 0, se saldrá del programa imprimiendo antes un mensaje de error. Si es mayor
que 0, se deberá calcular su cuadrado y la raíz cuadrada del mismo, visualizando el número
Escribir "Introduce el primer numero" que ha tecleado el usuario y su resultado (“Del numero X, su potencia es X y su raíz X” ).
Leer numero1 Para calcular la raíz cuadrada se puede usar la función interna RAIZ(X) o con una
Escribir "Introduce el segundo numero" potencia de 0,5.
Leer numero2
//inicializamos la variable resultado a 0 (recomendable) definir numero, potencia, raiz_cuadrada como entero
resultado<-0 Escribir "Introduce un numero"
//sumamos los numeros y escribimos su resultado Leer numero
resultado<-numero1+numero2 //si el numero es mayor que 0, calcula la potencia y la raiz
Escribir resultado //sino muestra un mensaje de error y sale del programa
//restamos los numeros y escribimos su resultado Si (numero>0) Entonces
resultado<-numero1-numero2 potencia<-numero^2
Escribir resultado raiz_cuadrada<-RAIZ(numero)
//multiplicamos los numeros y escribimos su resultado Escribir "Su potencia es " potencia
resultado<-numero1*numero2 Escribir "Su raiz es " raiz_cuadrada
Escribir resultado Sino
//dividimos los numeros y escribimos su resultado Escribir "Error, introduce un numero mayor que 0"
resultado<-numero1/numero2 FinSi
Escribir resultado
7. Un colegio desea saber qué porcentaje de niños y qué porcentaje de niñas hay en el curso
3. Realizar Algoritmo que lea dos números y nos diga cuál de ellos es mayor o bien si son iguales actual. Diseñar un algoritmo para este propósito (recuerda que para calcular el porcentaje
(recuerda usar la estructura condicional SI) puedes hacer una regla de 3).
Definir numero_niños, numero_niñas, porcentaje_niños, porcentaje_niñas como
definir A, B como entero entero
Escribir "Introduce el valor de A"
Leer A Escribir "Introduce el numero de niños"
Escribir "Introduce el valor de B" Leer numero_niños
Leer B Escribir "Introduce el numero de niñas"
//comparamos los dos numeros, Leer numero_niñas
//si el primero es mayor o igual que el segundo entra //calculamos el porcentaje
Si (A>=B) Entonces porcentaje_niños = numero_niños*100/(numero_niños+numero_niñas)
//Si A y B son iguales entra y escribe que son iguales porcentaje_niñas = 100-porcentaje_niños
//Sino lo son escribe que el A es el mayor Escribir "Hay un " porcentaje_niños " % de niños"
Si (A=B) Entonces Escribir "Hay un " porcentaje_niñas " % de niñas"
escribir "los numeros A= " A " y B= " B " son iguales"
Sino 8. Una tienda ofrece un descuento del 15% sobre el total de la compra durante el mes de
Escribir " A es el mayor que B" octubre. Dado un mes y un importe, calcular cuál es la cantidad que se debe cobrar al
FinSi cliente.
//Si el primer Si es falso, escribe que el numero2 es mayor Definir importe, total como entero
Sino Definir mes como caracter
Escribir " B es el mayor que A"
FinSi Escribir "escribe el importe de la compra"
Leer importe
4. Realizar un Algoritmo que lea tres números distintos y nos diga cuál de ellos es el mayor Escribir "Introduce el mes"
(recuerda usar la estructura condicional Si y los operadores lógicos). Leer mes
Definir A, B como entero //Si el mes es octubre, se aplicara el descuento
Escribir "Introduce el valor de A" Si (mes="octubre") Entonces
Leer A total<-importe*0.85
Escribir "Introduce el valor de B" Sino
Leer B total<-importe
Escribir "Introduce el valor de C" FinSi
Leer C Escribir total
//comparamos el valor de A con el valor de B y C 9. Realizar un algoritmo que dado un número entero, visualice en pantalla si es par o impar.
//Si las dos condiciones son verdaderas el valor A es el mayor En el caso de ser 0, debe visualizar “el número no es par ni impar” (para que un numero sea
Si (A>B Y A>C) Entonces par, se debe dividir entre dos y que su resto sea 0)
Escribir "A es mayor que B y C" Definir numero como entero
//si valor de A no es el mayor, Escribir "Introduce un numero"
//comparamos el valor de B con el valor de C Leer numero
Sino Si (numero=0) Entonces
Si (B>C) Entonces Escribir "El " numero " no es par ni impar"
Escribir "B es mayor que A y C" Sino
Sino //comprobamos si el numero es par
Escribir "C es mayor que A y B" Si (numero MOD 2=0) Entonces
FinSi Escribir "El " numero " es par"
FinSi Sino
Escribir "El " numero " no es par"
FinSi
FinSi
10. Modificar el algoritmo anterior, de forma que si se teclea un cero, se vuelva a
pedir el número por teclado (así hasta que se teclee un número mayor que
cero) (recuerda la estructura mientras).

11.
Colegio Privado Leonardo Da Vinci
Curso Computación 3º Año de Secundaria
3er Bimestre

ALGORITMOS Y DIAGRAMAS DE FLUJO


Estructuras Repetitivas
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por
ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación
matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un pseudocódigo
o un programa y las estructuras repetitivas nos permiten hacerlo de forma sencilla.

MIESTRAS (WHILE). DEFINICION


La instrucción Mientras ejecuta una secuencia de instrucciones mientras una condición sea
verdadera.

Mientras <condición> Hacer


<instrucciones>
FinMientras

Al ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta verdadera, se


ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la
ejecución del cuerpo del ciclo se vuelve a evaluar la condición y, si es verdadera, la ejecución
se repite. Estos pasos se repiten mientras la condición sea verdadera.
Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por
primera vez la condición resulta ser falsa.
Si la condición siempre es verdadera, al ejecutar esta instrucción se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo
del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición, de modo que ésta sea falsificada en
algún momento y así finalice la ejecución del ciclo.

REPETIR - HASTA QUE


La instrucción Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la
condición sea verdadera.

Repetir
<instrucciones>
Hasta Que <condición>

Al ejecutarse esta instrucción, la secuencia de instrucciones que forma el cuerpo del ciclo
se ejecuta una vez y luego se evalúa la condición. Si la condición es falsa, el cuerpo del
ciclo se ejecuta nuevamente y se vuelve a evaluar la condición. Esto se repite hasta que la
condición sea verdadera.
Note que, dado que la condición se evalúa al final, las instrucciones del cuerpo del ciclo
serán ejecutadas al menos una vez.
Además, a fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna instrucción que modifique la o las variables involucradas en
la condición de modo que en algún momento la condición sea verdadera y se finalice la ejecución del ciclo.

Contadores y Acumuladores
Contadores
La construcción de un contador es una de las técnicas más comunes en la realización de diagramas de flujo.
Es una variable en la memoria que se incrementará en una unidad cada vez que se ejecute el proceso.
El contador se utiliza para llevar la cuenta de determinadas acciones que se pueden solicitar durante la resolución de un
problema.
En las instrucciones de preparación se realiza la inicialización del contador o contadores. La inicialización consiste en poner el
valor inicial de la variable que representa al contador. Generalmente se inicializa con el valor 0.
La forma básica general de un contador es:
Contador = contador + constante
o
Contador = contador — constante

Acumuladores
Un acumulador es una variable en la memoria cuya misión es almacenar cantidades variables.
Se utiliza para efectuar sumas sucesivas. La principal diferencia con el contador es que el incremento o decremento de cada
suma es variable en lugar de constante como en el caso del contador.
La forma general de un acumulador sería la siguiente:
acumulador = acumulador + variable
o
acumulador = acumulador — variable

1. Realizar un programa que genere un conteo del 1 al 100

Algoritmo sin_titulo
cont = 1
Mientras cont<=10 Hacer
Escribir cont
cont <- cont+1
FinMientras
FinAlgoritmo
Colegio Privado Leonardo Da Vinci
Curso Computación 3º Año de Secundaria
3er Bimestre

ALGORITMOS Y DIAGRAMAS DE FLUJO


Estructuras Repetitivas
1. Realizar un algoritmo que dado un número 2. Suma de N primeros números
entero, visualice en pantalla si es par o impar.
En el caso de ser 0, debe visualizar “el número
no es par ni impar” (para que un número sea
par, se debe dividir entre dos y que su resto sea
0)
Algoritmo sin_titulo Algoritmo Suma_de_los_n_primeros_numeros
Escribir "Introduce un numero"
Leer numero Definir n, i, sum como entero
Si (numero=0) Entonces
Escribir "El " numero " no es par ni impar" Escribir "Ingrese un Número : "
Sino Leer n

Si (numero MOD 2=0) Entonces Mientras i <= n Hacer


Escribir "El " numero " es par" Sum = Sum + i
Sino i=i+1
Escribir "El " numero " no es par" Fin Mientras
FinSi
FinSi Escribir "La Suma es : ", Sum
FinAlgoritmo
FinAlgoritmo
3. Factorial de un número 4. Suma de N números
Algoritmo Sum_n_numeros
Algoritmo factorial_de_un_numero Definir n,num2, i, sum Como Entero;
Definir n, i, factorial Como Entero
Escribir "Ingresa cuantos numeros quieres sumar";
Escribir "ingrese número" Leer n;
Leer n
factorial <- 1 Mientras (i< n) Hacer
i <- 1 Escribir "Ingrese un numero";
Leer num2;
Mientras i<=num Hacer sum=sum+num2;
factorial <- factorial*i i=i+1;
i <- i+1 Fin Mientras
FinMientras
Escribir "La suma de los ",num " es ",sum;
Escribir "el factorial es: ", factorial
FinAlgoritmo
FinAlgoritmo

Hallar el Promedio de n notas Hallar el promedio de n notas y comprobar con un mensaje


si está aprobado o desaprobado

You might also like