Problemas Estructuras Repetitivas

1. Desarrolle un algoritmo que le permita leer un valor entero positivo y visualizar si es primo o no.
Inicio
Entero n,i,c=0
Entrada n

Para i=1 hasta i<=n
   Si n%2=0 entonces c++
Fin Para

Si c=2 entonces Salida "Es primo"
Sino Salida "No es primo"
Fin si

Fin

2. Desarrolle un algoritmo que visualice y cuente los números que son múltiplos de 2 y 3 que hay entre 1 y 100 (ejemplo: 6 es múltiplo de 2 y 3)
Inicio
Entero i,m

Para i=1 hasta i<=100
   Si i%2=0 y i%3=0 entonces
      Salida i
      m++
   Fin si
Fin Para

Salida m

Fin

3.Realizar un algoritmo que visualice y cuente los primeros 20 números primos.
Inicio
Entero n=1,i,p=0,c=0

Hacer
n++

Para i=1 hasta i<=n
   Si n%i=0 entonces c++
Fin Para

Si c=2 entonces
   Salida n
   p++
Fin si

Mientras p<20

Fin

4. Realizar un algoritmo que genere 50 números aleatorios entre 1 y 100, y que visualice:
  • Los números que se encuentren en el rango de 5 y 10.
  • La suma de los números pares.
  • La cantidad de impares.
 Inicio
Entero n,i,sp=0,ci=0

Para i=0 hasta i<50
   n=rand()%100+1
   
   Si n>=5 y n<=10 entonces Salida n
   Fin si

   Si n%2=0 entonces sp=sp+n
   Sino ci++
   Fin si

Fin Para

Salida sp, ci

Fin

5. Generar aleatoriamente 2 números enteros menores de 100 mientras ambos números sean distintos.

Inicio
Entero n1,n2

Hacer
   n1= rand()%100
   n2= rand()%100

Mientras n1!=n2

Fin

6. Realizar un algoritmo que genere aleatoriamente las edades (0...99 años) de 20 personas y visualice cuantas personas son niños (0...10), cuántos son jóvenes (17...28) y cuantos son adulto mayor (65 años a más)

Inicio
Entero e,i,n=0,j=0,am=0

Para i=0 hasta i<20
   e=rand()%100

   Si e>=0 y e<=10 entonces n++
   Sino Si e>=17 y e<=28 entonces j++
      Sino Si e>=65 entonces am++
      Fin si
   Fin Si

Fin Para

Salida n,j,am

Fin

7. Generar aleatoriamente 2 números enteros entre 1 y 30 hasta que la suma de ambos dean diferente de 20.

Inicio
Entero n1,n2,i,s

Hacer
   n1=rand()%30+1
   n2=rand()%30+1
   s=n1+n2
   Mientras  s!=20

Fin

Práctica

1. Una empresa  quiere hacer una compra de varias piezas de la misma clase a una fábrica de refracciones. La empresa, dependiendo del monoto total de la compra, decidirá que hacer para pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir presatado albanco un 30% y el resto lo pagará solicitando un crédito al fabricante.
Si el monto total de la ompra no excede de $500 000 la empresa tendrá la capacidad de inveertir de su propio dinero un 70% y el restante 30% lo pagará solicitando crédito al fabricante.
El fabricante cobra por concepto de interés un 20% sobre la cantidad que se le pague a crédito.
Inicio
Real montototal, inversion, prestamobanco, creditofabricante, interes

Entrada montototal
Si montototal>500 000 entonces
   inversion=0.55*montototal
   prestamobanco=0.3*montototal
   creditofabricante=0.15*montototal
   interes=0.2*creditofabricante
   Salida inversion, prestamobanco, creditofabricante, interes
Sino
   inversion=0.7*montototal
   prestamobanco=0
   creditofabricante=0.3*montototal
   interes=0.2*creditofabricante
   Salida inversion, prestamobanco, creditofabricante, interes
Fin si
Fin
2. Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camias o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%.
Inicio
Real pagoneto, ncamisas, descuento, precio, pagobruto
Entrada ncamisas, precio
Si ncamisas>=3 entonces
   pagobruto=ncamisas*precio
   descuento=0.2*pagobruto
   pagoneto=pagobruto-descuento
   Salida pagoneto
Sino
   pagobruto=ncamisas*precio
   descuento=0.1*pagobruto
   pagoneto=pagobruto-descuento
   Salida pagoneto
Fin si
Fin
3. Un obrero necesita calcular su salario semanal, el cuál se obtiene de la sgt manera: Si trabaja 40 horas o menos se le paga $36 por hora. Si trabaja mas de 40 horas se le paga $36 por cada una de las primeras cuarenta horas y $50 por cada hora extra.
Inicio
Entero salariototal, horastrab, salarioextra
Entrada horastrab
Si horastrab<=40 entonces
   salariototal=horastrab*36
   Salida salariototal
Sino
   salarioextra=(horastraba-40)*50
   salariototal=(40*36)+salarioextra
   Salida salariototal
Fin si
Fin

Condicional

1. Elaborar un algoritmo que muestre el mayor de dos números.
Algoritmo: Mayor
int numero1,numero2
Inicio
Escribir (Ingrese el primer número)
Leer numero1
Escibir (ingrese el segundo número)
Leer numero2
Si(numero1<numero2)entonces
   Escribir ( El numero2 es el número mayor)
Sino
   Si ( numero1>numero2)entonces
      Escribir( El número1 es el número mayor)
   Sino entonces
     Escribir ( El número1 es igual al número2)
Fin si
Fin
2. Algoritmo que recibe un número entero e indica si es par.
Algoritmo: Par
variables n1,r;entero
Inicio
Escribir (Ingrese el número)
leer n1
r=residuo de n1 entre n2
Si (r=0) entonces
   Escribir "Es par"
Sino
   Escribir "No es  par"
Fin si
Fin
3. Algoritmo que lee un número e indica si está en elrango de 1000-2000
Algoritmo: Rango
Variables numero;entero
Inicio
Escribir (Ingrese un número)
Leer numero
Si (1000<=x<=2000) entonces
   Escribir (El número está en el rango de 1000 a 2000)
Sino
   Escribir (El número no está en el rango de 1000 a 2000)
Fin si
Fin
4. Algoritmo que realice la operación de suma o resta de dos números leídos del teclado en función de la respuesta 1 o 2 (1=suma, 2=resta) que se dé un mensaje de petición de datos.
 Algoritmo: Suma o resta
variables a,b; reales
caracter operacion
Inicio
Escribir (INgrese el tipo de operación 1=suma, 2=resta)
Leer operacion
Escribir (Ingrese el primer numero)
Leer a
Escribir (Ingrese el segundo numero)
leer b
Si ( operacion=1) entonces
   Escribir ( La suma es : ) a+b
Sino
   Si (operacion=2) entonces
      Escribir (La resta es : ) a-b
   Sino
      Escribir ( error de operacion)
Fin si
Fin
5. La empresa ACME S.A. desea un algoritmo que indique si una persona será contratada, los requisitos son que sea mayor de edad y apruebe al menos uno e dos exámenes.
Algoritmo: ACME
Variables: a,b=0,n1,n2; Entero
Inicio
Escribir (Ingrese edad)
Leer a
Escribir (Ingrese nota1=
Leer n1
Escrbir (Ingrese nota2)
Leer n2
Mientras n1>10 entonces b=b+1
Mientras n2>10 entonces b=b+1
Si (a>17 ^ b!=0) entonces //comentario "^" significa o y "!=" significa diferente de
   Escribir (Contratado)
Sino
   Escribir (No Contratado)
Fin si
Fin
6. Determinar el precio de un boleto en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el número de días de distancia es mayor a 7 y la distancia es superior a 800 km, el boleto tiene una reducción del 50%. El precio por km es de $2. En un día hace 100 km.
Algorimto: Boletos
Variables d,t,p; Enteo¿ro
Inicio
Escribir (Ingrese distancia en kilometros)
Leer d
t=d/(100 km / dia)
Si (d>=800 ^ t>=7) entonces
   p=(dx2)x0.7//comentario 0.7 representa el 70%
Sino
p=2xd
Fin si
Fin
7. Algoritmo que muestre los números del 1 al 100.
Algoritmo: Numeros
Variables i; Entero
Inicio
Para( i=0 hasta i<=100)
Escribir i
Fin Para
Fin
8. Calcular y escribir los cuadrados de una serie de números distintos de 0, leídosdel teclado, si el número es 0 el algoritmo termina.
 Algoritmo: Cuadrado
Variables n,a; Entero
Inicio
Hacer
Escribir "Ingresar numero"
Leer n
Si (n!=0) entonces
a=n^2 //comentario significa n elevado al cuadrado
Escribir "El cuadrado del número es: " a
Fin si
Mientras n!=0
Fin