Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

While

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Programación con PSeInt

Instrucciones de ciclo
Hemos hecho programas que solo se repiten una vez, pero en la programación
necesitamos que los programas corran varias veces y que nos presenten
información al final de correr varias veces, en estos casos usaremos ciclos, que
son estructuras de repetición, que se repiten hasta cumplir con una condición o
simplemente indicamos cuantas veces se van a repetir.
Nota: Para evitar ambigüedades, todos los ciclos deben cerrarse siempre, no es
posible que hayan “Ciclos abiertos”.

Ciclo Mientras:

Sintaxis

Mientras condición Hacer


instrucciones;
FinMientras

El ciclo mientras se utiliza cuando se quiere ejecutar repetidamente un bloque


instrucciones basado en una condición, el ciclo se repite mientras la condición se
cumple.

Ejemplo sobre el ciclo Mientras usando un contador

Ingresar 10 nombres

Proceso contar_nombres
Definir contador Como Entero;
Dimension nombre[25];
Definir nombre Como Cadena;
Contador<-0;
Mientras contador<10 Hacer
Escribir "Ingresar el nombre";
Leer nombre[24];
contador<-contador+1;
FinMientras
FinProceso

Pág. 1
Programación con PSeInt

En este programa introducimos el concepto de contador, que es una variable que


se incrementa su valor en 1 y de esta manera contamos cuantos nombres se van
ingresando para parar cuando ingresemos 10, esto nos dice que la condición ya
no se cumple porque cuando el contador vale 10 la condición de contador < 10 ya
no se cumple porque es igual y el ciclo termina.

Ejemplo sobre el ciclo Mientras usando acumuladores

Ingresar 10 números y al final presentar la suma de los números.

Proceso acumuladores

Definir Contador,Suma,Num Como Enteros;


Contador<-0;
Suma<-0;
Mientras contador<10 Hacer
Escribir "Ingresar un número";
Leer Num;
Contador<-Contador+1;
Suma<-Num+Suma;

Pág. 2
Programación con PSeInt

FinMientras
Escribir "Suma de los 10 números ", Suma;
FinProceso

Nota: Para evitar ambigüedades, los números se deben ingresar de a uno


pulsando enter sucesivamente. Ingresarlos en una fila separados por espacios
provocaría un error de no coincidencia de tipos ya que se toma el espacio como
un tipo de dato de ingreso más y un espacio no es un dato de tipo numérico.

El ciclo recorre 10 veces y pide los 10 números, pero la línea suma<- suma + num,
hace que la variable suma, incremente su valor con el número que se introduce
en ese momento, a diferencia del contador, un acumulador se incrementa con una
variable, acumulando su valor hasta que el ciclo termine, al final se presenta la
suma, solo en ese momento se debe de presentar un acumulador, porque antes
no reflejaría la suma de todos los números.

Siempre que usemos un contador o acumulador debemos darle un valor inicial


de generalmente será 0.

Ejemplo sobre el ciclo mientras usando una respuesta para controlar la salida
del ciclo.

Ingresar el nombre del cliente, el precio del producto, cantidad y luego calcular el
subtotal, isv y total a pagar, presentar los datos luego preguntar si desea continuar,
al final presentar el monto global de la factura.

Proceso producto
Definir Resp Como Caracter;
Dimension nombre[25];
Definir nombre Como Cadena;
Definir Precio, cantidad, totalglobal, st, isv, tp Como
Reales;
Totalglobal<-0;
Resp<-'S';
Mientras resp <>'N' Hacer
Escribir "Nombre del cliente";
Pág. 3
Programación con PSeInt

Leer nombre[24];
Escribir "Ingresar la cantidad del producto ";
Leer cantidad;
Escribir "Ingresar el precio de producto ";
Leer precio;
St<- precio*cantidad;
Isv<-st*0.012;
Tp<-st-isv;
Totalglobal<-totalglobal+st;
Escribir "Subtotal ", st;
Escribir "Impuesto sobre venta ", isv;
Escribir "Total a pagar ", tp;
Escribir "Desea continuar S/N";
Leer Resp;
FinMientras
Escribir "Total de la venta ", totalglobal;
FinProceso

En este ejercicio, observamos que el ciclo lo controla una respuesta que se pide
al final S para seguir o N para terminar , pero daría el mismo resultado si escribe
cualquier letra distinta a S, aunque no sea N siempre seguiría funcionando el
programa, la validación de los datos de entrada lo estudiaremos más adelante.

Ejemplo sobre estructuras de condición dentro del ciclo Mientras.

Ingresar el nombre del alumno, la nota examen y nota acumulada, luego calcular
la nota final, y presentar la nota final y la observación del alumno.
Preguntar si desea continuar, al final presentar el número de aprobados y
reprobados.

Proceso aprobado
Definir Resp Como Caracter;
Dimension nombre[25];
Definir nombre Como Cadena;
Definir na,ne,nf Como Reales;
Definir cr,ca Como Enteros;
cr<-0;
ca<-0;

Pág. 4
Programación con PSeInt

Resp<-'S';
Mientras resp<>'N' Hacer
Escribir "Nombre del alumno ";
Leer nombre [24];
Escribir "Nota acumulada ";
Leer na;
Escribir "nota examen ";
Leer ne;
nf<-na+ne;
Si nf >= 60 Entonces
Escribir "Tú estás Aprobado";
ca<-ca+1;
Sino
Escribir "Tú estás Reprobado";
cr<-cr+1;
FinSi
Escribir "Nota final ", nf;
Escribir "Desea continuar S/N";
Leer Resp;
FinMientras
Escribir "Total de reprobados ", cr;
Escribir "Total de aprobados ", ca;
FinProceso

Nota: Las variables no pueden declararse inicializadas, se declaran primero y se


inicializan después.

Como podemos observar en las líneas del programa, usamos dentro del ciclo
mientras, decisiones para poder contar los reprobados y aprobados que resulten
del ingreso de los alumnos, si la nota es mayor a 60 escribe aprobado e
incrementa el contador y sino hace lo contrario, escribir reprobado e incrementar
el contador.

Pág. 5
Programación con PSeInt

Ciclo Para

Sintaxis

Para variable <- valor_inicial Hasta valor_final Con Paso Paso Hacer
instrucciones
FinPara

Descripción

El ciclo Para se utiliza generalmente para ejecutar un conjunto de instrucciones


que se repiten un número de veces, establecido antes de ejecutar el ciclo.
Variable: es de tipo entero
Valor_inicial: este puede ser un número entero o una variable entera.
Valor_final: este puede ser un número entero o una variable entera.
Paso : este puede ser un número entero o una variable entera.

Nota: la expresión “Con Paso 1” puede omitirse, tanto en sintaxis


estricta como flexible

Ejemplo : presentar los números del 1 al 10 en la pantalla.

Proceso ciclo_Para
Definir I Como Entero;
Para I<-1 Hasta 10 Con Paso 1 Hacer
Escribir I;
FinPara
FinProceso

El programa el ciclo para establece el número de veces que se repetirá el ciclo


indicando 1 hasta 10 luego la variable I toma el valor 1 a 10 según el ciclo se va
ejecutando, es por eso que al escribir la I la primera vez escribe 1 la segunda vez
2 y así hasta llegar al final que es 10.

Pág. 6
Programación con PSeInt

Ejemplo : sobre el uso de variables en el rango del ciclo Para.

Proceso ciclo_Para_2
Definir I, final Como Enteros;
Escribir "Ingresar el número de veces a repetir el ciclo ";
Leer final;
Para I<-1 Hasta final Con Paso 1 Hacer
Escribir I;
FinPara
FinProceso

Ahora el programa se vuelve más dinámico, nosotros podemos indicar el número


de veces que se repetirá el ciclo, usando una variable entera para indicar el final
del ciclo.
Ejemplo uso del ciclo Para, en el cálculo del factorial de un número.

Proceso ciclo_Para_con_factorial
Definir I, numero, factorial Como Enteros;
factorial<-1;
Escribir "Ingresar el número para determinar su factorial ";
Leer numero;
Para I<-1 hasta numero Con Paso 1 Hacer
factorial<- factorial*I;
FinPara
Escribir "factorial de ", numero ," es ", factorial;
FinProceso
En este ejercicio se inicia el factorial en 1 porque acumulara una multiplicación y
si lo iniciamos en cero nos daría el resultado cero, si nosotros ingresar 3, el ciclo
se ejecutara 3 veces , el factorial tomaría el valor de 1x2x3.
Diagrama de flujo:

Pág. 7
Programación con PSeInt

Ciclos con paso negativo


PSeInt también puede realizar ciclos inversos para mostrar, por ejemplo
secuencias de mayor a menor, solamente invirtiendo el orden de los números del
ejercicio anterior y colocando como Paso -1
Proceso ciclo_Para_negativo
Definir I Como Entero;
Para I<-10 Hasta 1 Con Paso -1 Hacer
Escribir I;
FinPara
FinProceso

Nota: Puede omitirse la expresión “Con Paso -1” en el ciclo para yendo a
Configurar Opciones de lenguaje (perfiles)… → Personalizar → Permitir omitir el
paso -1 en los ciclos Para.

Ciclos anidados

Cuando un ciclo se encuentra dentro de otro ciclo se le llama ciclo anidado.

Ejemplo de un ciclo anidado


Pág. 8

También podría gustarte