martes, 15 de septiembre de 2020

Estructura Repetitiva Mientras

 

La estructura algorítmica mientras, comúnmente conocida como while, es la estructura adecuada para utilizar en un ciclo cuando no sabemos el número de veces que éste se ha de repetir. Dicho número depende de las proposiciones dentro del ciclo. 

Por ejemplo, supongamos que tenemos que obtener el total de una serie de gastos, pero no sabemos exactamente cuántos son; o cuando tenemos que sacar el promedio de calificaciones de un examen, pero no sabemos precisamente cuántos alumnos lo aplicaron. 

Ejecuta un bloque de instrucciones, mientras una expresión lógica dada se cumpla.

Si la condición se cumple, el bloque se ejecuta, después, la condición se vuelve a evaluar.

Si la condición se evalúa la primera vez como falsa, el bloque de instrucciones no será ejecutado.


Ejercicio 1

Realizar un programa que imprima en pantalla los números del 1 al 100.



Diagrama 



Ejercicio 2

Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta el valor ingresado de uno en uno. Ejemplo: Si ingresamos 30 se debe mostrar en pantalla los números del 1 al 30.


Algoritmo Conteo_números

n<-0

ni<-0

x <- 1

Escribir "Ingrese el número hasta donde desea el conteo:"

leer ni

Mientras n<=ni Hacer

n<- n+1

Escribir "Los números son: ",n 

FinMientras

FinAlgoritmo




Diagrama 



Ejercicio 3

Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio.


Algoritmo sin_titulo

contar<-0

Mientras contar<10 Hacer

Escribir 'Ingrese el numero'

Leer n

contar<-contar+1

suma<-suma+n

FinMientras

promedio<-suma/10

Escribir 'la suma total de los valores es : ',suma

Escribir 'El promedio es : ',promedio

FinAlgoritmo



Diagrama 



Ejercicio 4

Una planta que fabrica perfiles de hierro posee un lote de n piezas.

Confeccionar un programa que pida ingresar por teclado la cantidad de piezas a procesar y luego ingrese la longitud de cada perfil; sabiendo que la pieza cuya longitud esté comprendida en el rango de 1,20 y 1,30 son aptas. Imprimir por pantalla la cantidad de piezas aptas que hay en el lote.



Algoritmo lotes 
longuitud<-0
num<-0
c<-0
pb<-0
Escribir "ingrese el numero de piezas en el lote: " ;
Leer num
Mientras c<num Hacer
c<-c+1;
Escribir "ingrese la longitud de la pieza ",c;
Leer longuitud
Si longuitud<=1.30 y longuitud>=1.20 Entonces
pb<-pb+1
SiNo
Escribir "el numero de piezas de lote es: ", pb
Fin Si
Fin Mientras
FinAlgoritmo



Diagrama 




































Estructura repetitiva para

  Estructura repetitiva para

La estructura repetir cumple la misma función que la estructura mientras. La diferencia está en que la estructura mientras comprueba la condición al inicio y repetir lo hace al final. Es por ello que la estructura repetir se ejecuta por lo menos una vez.

Hacer
Acción_1
Acción_2
Acción_3
Acción_n

Mientras condición
En esta estructura primero se efectúa el bloque de instrucciones y después se evalúa la condición. Si es verdadera se vuelve a ejecutar el bloque de instrucciones y así sucesivamente hasta que la condición sea falsa.

Ejemplo 1
Escribir los 10 primeros números enteros
Pseudocódigo
Algoritmo num_1_al_10
Definir contador Como Entero
Repetir
Si contador<10 Entonces
contador=contador + 1
Escribir contador
FinSi
Hasta Que contador=10
FinAlgoritmo

Diagrama de flujo


Ejecución 



Ejemplo 2
Programa que solicite al usuario una clave de acceso, y que no le permita continuar hasta que la introduzca correctamente.
Pseudocódigo
Algoritmo Repetir01
Repetir
Escribir "Dime tu clave de acceso"
Leer clave
Si clave <> 1234 Entonces
Escribir "Clave incorrecta"
FinSi
Hasta Que clave=1234
Escribir "Bienvenido!"
FinAlgoritmo

Diagrama de flujo


Ejecución









Ejercicio 1
Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre un mensaje de cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el valor 0.

Pseudocódigo
Algoritmo Digitos
Escribir "Ingrese un número entre el 0 al 999 "
Repetir
Leer num
Si num>=100 y num<=999 Entonces 
Escribir " Tiene 3 digitos "
SiNo
Si num>=1000 Entonces
Escribir "Número invalido "
FinSi
Si num>=10 y num<=99 Entonces
Escribir "Tiene 2 digitos "
SiNo
Si num>=1 y num<=99 Entonces 
Escribir "Tiene 1 digito "
FinSi
Si num==0 Entonces 
Escribir "No tiene digito"
FinSi
FinSi
FinSi
Hasta Que num=0
FinAlgoritmo

Diagrama de flujo


Ejecución










Ejercicio 2
Escribir un programa que solicite la carga de números por teclado, obtener su promedio. Finalizar la carga de valores cuando se cargue el valor 0. Cuando la finalización depende de algún valor ingresado por el operador conviene el empleo de la estructura repeat, por lo menos se cargará un valor (en el caso más extremo se carga 0, que indica la finalización de la carga de valores).
Pseudocódigo
Algoritmo promedio
Escribir "Ingrese valores"
Repetir
Leer volore
si valore<>0 Entonces
sum=sum+valore
ct=ct+1
FinSi
Hasta Que  valore=0
Si ct<>0 Entonces 
prome=sum/ct
Escribir "El promedio es: " ,prome 
SiNo
Escribir "Valores no ingresados"
FinSi
FinAlgoritmo
Diagrama de flujo














Ejecución






Ejercicio 3
Realizar un programa que acumule (sume) valores ingresados por teclado hasta ingresar el 9999 (no sumar dicho valor, indica que ha finalizado la carga). Imprimir el valor acumulado e informar si dicho valor es cero, mayor a cero o menor a cero.

Pseudocódigo
Algoritmo valores_acumulados 
Definir num, suma Como Real
Repetir
Escribir "Ingrese un número a la serie"
Leer num 
si num<>9999 o num==0 Entonces
FinSi
Hasta Que num=9999 o num=0
Escribir "La suma de la serie es: " suma
si (suma=0) Entonces
Escribir "Este valor es cero"
SiNo
si (suma>0) Entonces
Escribir "Este valor es mayor a cero"
SiNo
Escribir "Este valor es menor a cero"
FinSi
FinSi
FinAlgoritmo
Diagrama de flujo














Ejecución















Ejercicio 4
En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso de datos debe finalizar al ingresar un valor negativo en el número de cuenta. Se pide confeccionar un programa que lea los datos de las cuentas corrientes e informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo, sabiendo que: Estado de la cuenta 'Acreedor' si el saldo es >0. 
'Deudor' si el saldo es <0.
'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
Pseudocódigo
Algoritmo CUENTA_BANCARIACORRIENTE
Definir cuenta, saldo, suma Como Real
Repetir
Escribir "Ingrese el número de cuenta: "
Leer cuenta
si cuenta>=0 entonces 
Escribir "Ingrese saldo: "
Leer saldo
si saldo>0 Entonces
suma <- suma+saldo
Escribir "Su saldo es: " suma 
SiNo
si saldo<0 Entonces
Escribir "Deudor"
SiNo
Escribir "Nulo"
FinSi
FinSi
FinSi
Hasta Que cuenta<0
Escribir "Total de saldos Acreedores" suma 
FinAlgoritmo

Diagrama de flujo















Ejecución
















Ejercicio 5
Se realizó un censo provincial y se desea procesar la información obtenida en dicho censo. De cada una de las personas censadas se tiene la siguiente información: número de documento, edad y genero ('femenino' o 'masculino’).
Se pide confeccionar un programa que lea los datos de cada persona censada (para finalizar ingresar el valor cero en el número de documento) e informar:
a) Cantidad total de personas censadas.
b)Cantidad de varones.
c) Cantidad de mujeres.
d) Cantidad de varones cuya edad varía entre 16 y 65 años.

Pseudocódigo
Algoritmo Censo_social
Definir cedula, sexo Como Caracter
definir edad, cantVarones, cantMujeres,cantMayores, totalPersonas Como Entero
Repetir
Escribir "Ingrese el número de cedula"
Leer cedula;
si cedula<> "0" entonces 
Escribir "Ingrese la edad"
leer edad
Escribir "Ingrese el sexo Masculino/Femenino"
Leer sexo
si (sexo="Masculino") Entonces
cantVarones<-cantVarones+1
si (edad>=16 y edad<=65) Entonces
cantMayores<-cantMayores+1
FinSi
FinSi
si (sexo="Femenino") Entonces
cantMujeres<-cantMujeres+1
FinSi
totalPersonas<-totalPersonas+1
FinSi
Hasta Que cedula= "0"
Escribir "Total de personas censadas: " totalPersonas
Escribir "Cantidad de varones: " cantVarones
Escribir "Cantidad de mujeres: " cantMujeres
Escribir "Cantidad de varones entre 16 y 65 años: " cantMayores
FinAlgoritmo
Diagrama de flujo























Ejecución






Estructuras secuenciales, simples y dobles

 Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos valores es el mayor y escribirlo


Ejercicio 1


1.Inicio 2. Inicializar variables: A = 0, B = 0 

3.Solicitar la introducción de dos valores distintos 

4.Leer los dos valores 

5.Asignarlos a las variables A y B 

6.Si A = B Entonces vuelve a 3 porque los valores deben ser distintos 

7.Si A>B Entonces Escribir A, “Es el mayor” 

8.De lo contrario: Escribir B, “Es el mayor” 

9.Fin_Si 

10. Fin





Ejercicio 2


Inicio 
2. Inicializar las variables A, B y C 
3. Leer los tres valores 
4. Almacenar en las variables A, B y C 
5. Si A > B y A > C Entonces 
6. Escribir A “Es el mayor” 
7. Sino
 8. Si B > A y B > C Entonces
 9. Escribir B “Es el mayor” 
10. Sino 
11. Escribir C “Es el mayor” 
12. Fin_Si 
13. Fin_Si 
14. Fin 


1. Inicio 

2. Declaración de variables: N= 0, Suma = 0 

3. Asignación Contador : N = N + 1 

4. Asignación Acumulador: Suma = Suma + N 

5. Si N = 10 Entonces 

6. Escribir Suma 

7. De lo contrario, Repetir desde el paso 3 

8. Fin_Si 

9. Fin 



Pseudocódigo


El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación. El pseudocódigo no puede ejecutarse en un ordenador ya que entonces dejaría de ser pseudocódigo, como su propio nombre indica, se trata de un código falso (pseudo = falso), es un código escrito para que lo entienda el ser humano y no la máquina.


Describen un algoritmo de forma similar a un lenguaje de programación pero sin su rigidez, de forma más parecida al lenguaje natural. Presentan la ventaja de ser más compactos que los diagramas de flujo, más fáciles de escribir para las instrucciones complejas y más fáciles de transferir a un lenguaje de programación. El pseudocódigo no está regido por ningún estándar. 


▪Algunas palabras usadas son LEER/IMPRIMIR para representar las acciones de lectura de datos y salida de datos. 



Ejemplo 1


Pedir dos números y mostrar la suma de ambos

aquí tenemos otro ejemplo, en el que se piden dos números al usuario y se devuelve el resultado de sumarlos 

ALGORITMO Suma

    Definir  Numero1, Numero2, Resultado Como Entero

    ESCRIBIR("Dime dos números para sumar: ");

    LEER Numero1, Numero2

    Resultado <- Numero1 + Numero2;

    ESCRIBIR "La suma es: ", Resultado

FinAlgoritmo




Ejemplo 2

 

crear un programa que realice ingresando un valor de el promedio de dicho valor.


Algoritmo calculo_de_promded

                Escribir "ingrese la cantidad de materia "

                Leer N

                acum<-0

               

                Para i<-1 Hasta N  Hacer

                               Escribir "ingrese las notas : “, i , ":"

                               leer Dato

                               acum<-acum+Dato

                              

                Fin Para

                prom<-acum/N

                Escribir "el promedio es " prom

FinAlgoritmo



Ejemplo 3


Crear un Algoritmo  que pida tres números, si el primero es negativo, debe Imprimir el producto de los tres y si no lo es, imprimirá la suma

Algoritmo Ejercicio01

//Crear un Algoritmo  que pida tres números, si el primero es negativo, debe Imprimir el producto de los tres y si no lo es, imprimira la suma

Escribir "Ingrese el primer número"

leer num1

Escribir "Ingrese el segundo número"

Leer num2

Escribir "Ingrese el tercer número"

Leer num3

si num1<0 Entonces

resultado<-num1*num2*num3

Escribir "El resultado es: ",resultado

sino 

resultado<-num1+num2+num3

Escribir "el resultado es: ",resultado

FinSi

FinAlgoritmo




Ejemplo 4

Crear un algoritmo que lea dos números y escribiendo su valor de suma, resta, multiplicación y división


//Crear un algoritmo que lea dos números y escribiendo su valor de suma, resta, multiplicación y division

Escribir "ingresar el primer número"

leer num1

Escribir "Ingresar el segundo número"

leer num2

resultado <-0

Escribir "Suma"

resultado<-num1+num2

Escribir "El total de la suma es: ",resultado

Escribir "Resta"

resultado<-num1-num2

Escribir "El total de la resta es: ",resultado

Escribir "Multiplicación"

resultado<-num1*num2

Escribir "El total de la multiplicación es: ",resultado

Escribir "Division"

resultado<-num1/num2

Escribir "El total de la division es: ",resultado

FinAlgoritmo


Diagrama de flujo 




Ejemplo 5

Define el sueldo de un trabajador dado su sueldo base. Y sabiendo que si a trabajado más de 40 horas semanales un 20% caso contrario cobrara sueldo base

 //define el sueldo de un trabajador dado su sueldo base//

//Y sabiendo que si a trabajado más de 40 horas semanales un 20% caso contrario cobrara sueldo base//

Algoritmo Sueldo_de_un_trabajador

Definir sueldoBase,horas Como Real

sueldoBase <- 0

horas <- 0i

Escribir 'Dime el sueldo base del trabajador'

Leer sueldo base

Escribir 'Dime el numero de horas trabajadas'

Leer horas

Si (horas>40) Entonces

porcent<-sueldoBase * 0.2

sumatot<-sueldoBase + porcent

Escribir 'El sueldo final es de: ', sumatot,'dolares'

SiNo

Escribir 'El sueldo final es de: ', sueldoBase,'dolares'

FinSi

FinAlgoritmo


DIAGRAMA DE FLUJO


Ejemplo 6

Convertir de millas nauticas a metros sabiendo que una milla nautica equivale a 1852m

//Convertir de millas nauticas a metros sabiendo que una milla nautica equivale a 1852m

Algoritmo Conversion

Definir millasnauticas,metros Como Real

millasnauticas<-0

metros<-0

Escribir "Conversion de millas nauticas a metros" 

Escribir "Escriba el valor de la distancia en millas nauticas" Sin Saltar

Leer millasnauticas

metros<-millasnauticas*1852

Escribir "El resultado son; ", metros, "m";

FinAlgoritmo

DIAGRAMA DE FLUJO


Estructura Repetitiva Mientras

  La estructura algorítmica mientras, comúnmente conocida como  while , es la estructura adecuada para utilizar en un ciclo cuando no sabemo...