0% encontró este documento útil (0 votos)
361 vistas

Algoritmos

Este documento contiene varios algoritmos y programas propuestos por los integrantes Jorge Martínez y Edisson Roa. Incluye algoritmos para determinar si un número es primo o no, calcular el tiempo transcurrido entre dos horas, calcular la suma de los primeros 30 números primos, y calcular el factorial de un número. También incluye programas para obtener y mostrar la suma y promedio de tres números ingresados, resolver un sistema de ecuaciones, e identificar si un número es par o impar.

Cargado por

Edisson Roa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
361 vistas

Algoritmos

Este documento contiene varios algoritmos y programas propuestos por los integrantes Jorge Martínez y Edisson Roa. Incluye algoritmos para determinar si un número es primo o no, calcular el tiempo transcurrido entre dos horas, calcular la suma de los primeros 30 números primos, y calcular el factorial de un número. También incluye programas para obtener y mostrar la suma y promedio de tres números ingresados, resolver un sistema de ecuaciones, e identificar si un número es par o impar.

Cargado por

Edisson Roa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

Trabajo

Integrantes:

Jorge Martínez

Edisson Roa

1 Diseñe una solución para resolver los siguientes problemas y trate de refinar sus soluciones
mediante algoritmos adecuados

(g)Determinar si un número es primo o no

Inicio

div=2, num

leer: num

Si(num<=3)

Presentar: “El número es primo”

Sino

Mientras(div<num){

Si(num%div==0)

Presentar: “El número no es primo”

Hasta(div=num/2)

Sino

div++

Presentar: “El número es primo”

Fin

(i)Calcular el tiempo transcurrido entre dos horas dadas en formato hh:mm de un mismo
dia

Inicio

h1, h2, m1, m2, the, ths, rm, ht, mt;

Leer: h1

Leer: h2

Leer: m1

Leer: m2

the=(h1*60)+m1

ths=(h2*60)+m2

rm=(ths-the)

ht=(rmDIV60)

mt=(rm%60)
Presentar: “Horas”

Presentar: “Min”

Fin

(j) Calcular la suma de los 30 primeros números primos

Inicio

div=2, num, acumulador=6, cont=3, primo=4

leer: primo

Mientras(div<primo)&&(cont<=30){

Si(div=primo/2)

acumulador = acumulador+primo

cont++

Sino

primo++

Presentar: “”

Fin

(k) Calcular el factorial de un número

Inicio

fac=1, num, cont=1

Leer: fac

Leer: num

Leer: con

Mientras (cont<=num)

fact=(fact*cont)

cont++

Presentar: “Factorial”

Fin
3. Escriba un programa que obtenga tres números, los almacene y luego calcule y muestre un
reporte sobre su suma y promedio

Inicio

Leer: a, b, c, suma, prom;

Leer: num1

Leer: num2

Leer: num3

num1=a

num2=b

num3=c

suma= a+b+c

Presentar: “La suma es: “suma””

prom= suma/3

Presentar: “ El promedio es: “prom””

Fin

4. Escriba un programa para resolver un sistema de ecuaciones como este

Ax+by=c

Dx+ey=f

Inicio

Leer px, py, sx, sy, pr, sr, y, x

Si (px==sx)&&(py==sy){

sx= (sx*-1)

sy=(sy*-1)

sr=(sr*-1)

Sino

sx=(sx*-px)

sy=(sy*-px)

sr=(sr*-px)

tx=px+sx

ty=py+sx
tx=pr+sr

y= tr/ty

Presentar: “El valor de y es; “y” ”

px= px

py=py*y

pr=pr

x= pr-py

Presentar: “El valor de x es; “x” ”

FIN

6 Realice un diagrama de flujo y seudocódigo para los siguientes enunciados

a) Dado un número entero, indique si es para o no

Inicio
Leer: num
Si (num%2)==0
Presentar: “El número es par”
Sino
Presentar: “El número es impar”
FIN
Inicio

Leer:
Num

Presentar: “El
Presentar: “El (num%2)==0 número No es
número es par” SI NO
par”

FIN

b) Dados los números reales. Indique cuál es el mayor

Inicio
Leer: num1, num2, mayor
Si(num>num2){
mayor=num1
Sino
mayor=num2
}
Presentar: “mayor”
FIN
Inicio

Leer:
num1,
num2,
mayor

mayor=num1 SI num1>num2 NO
mayor=num2

FIN

7. ¿Qué es lo que debería mostrar el programa representado en el siguiente diagrama de


flujo?

- Complete las figuras con lo que falte

-¿Qué es lo que hace el programa?

Este programa lo que haces es evaluar las variables y comprobar cuál de las dos variables es
mayor

-¿Es un buen algoritmo? ¿Por qué?

Si es un buen programa porque es fácil de entenderlo, pero hay como optimizarlo y quitar un
proceso que es incensario en el diagrama.

INICIO

a,b

x=a>b

SI x=(b>a) NO

“b es mayor “a es mayor
que a” que b”

FIN

- Complete las figuras con lo que falte

-¿Qué es lo que hace el programa?

-¿Es un buen algoritmo? ¿Por qué?


8. Un año es bisiesto si es múltiplo de 4, pero no de 100, pero sí de 400. Determine un
algoritmo que permita determinar si un año introducido desde el teclado es bisiesto o no.

Inicio

Leer: año

Si (año%4)== 0

Presentar: “Es año bisiesto”

Sino

Presentar: “No es año bisiesto”

Fin

10. Realice un programa para encontrar los 100 primeros números perfectos.

Inicio

Leer: b=1,a, k, l, p

For K=2,700,1

a=0

For l= l,k,l

Si (K/l)==0

a =a+1

si (a-k)=k

p=k

b= b+1

sino

Fin

Sino

Fin

Fin For

FIN
12. Leer dos números positivos a y b e imprimir los a primeros números primos si a < b. En

caso contrario imprimir el resultado de la serie:

Inicio

Leer: a, b, primo=0, numero=1, cont=1, div=2, divisor, fracción

Si(a<b)

Mientras (div<=a)&&(cont<=0)

Si(div=numero/2)

primo= num

Presentar: “primo”

cont++

Fin si

Fin Mientras

Sino

Mientras (cont<=b)

divisor: (cont*a)

Presentar: “ 1/divisor ”

cont++

FIN

14. Realice un diagrama de flujo que indique el procedimiento para hallar el máximo común
divisor de dos números enteros (MCD) por el algoritmo de Euclides

Inicio

Num1, Num2, r

“Diga dos
números ”

Num1,
Num2

Hasta
Num1<Num2 Num1=Num2 Num2=Num1 r= Num1-Num2 Num1=Num2 Num2=r
(Num1=Num2)

R=Num1

“El MCD es:”, r

FIN
15. Efectuar el cálculo de la siguiente serie de números:

Inicio

Leer: n, r, producto=1

Mientras (n<20)

producto= producto*n

r= 1/ producto

Fin

24. Obtener el número en sistema binario que corresponda a un número en sistema decimal
introducido desde un dispositivo de E/S.

Inicio

Leer: num, A[50]

Repetir

num%2

Mod= A[i]

Hasta (num=1)

Presentar: “A[j]”

Fin

7. Se tiene 3 jugadores que deben adivinar un número entero generado por la computadora
en forma aleatoria (entre 1 y 100). Los jugadores rotan tratando de adivinar el número. Gana
el jugador que adivina primero. Cuando el jugador da el número: si su distancia al número
que se desea adivinar está en los rangos presentados a continuación, la computadora
mostrará los siguientes mensajes.

[ 1 ... 10) ‡ Te quemas

[ 10 ... 20) ‡ Caliente

[ 20 ... 30) ‡ Tibio

[ 30 ... ∞) ‡ Frío

Inicio

Leer: p1, p2, p3, num

Si (num<=10)

Presentar: “Te quemas”

Si (num>=11)&&(num<=20)
Presentar: “Caliente”

Si (num>=21)&&(num<=30)

Presentar: “Tibio”

Sino

Presentar: “Frio”

Fin Si

FIN

3.5 Evaluar la expresión

4 / 2*3 / 6+6 / 2 / 1 / 5^2 / 4*2 = 0,000138

3.8. Si el valor de A es 4, el valor de b es 5 y el valor de C es 1, evaluar las siguientes


expresiones

a) B * A – B ^ 2 / 4 * C = 13,75

b) (A*B) / 3 ^ 2 = 2,22

c) ( ((B+C) / 2 * A + 10) * 3 * B) – 6 = 324

3.11 Encontrar el valor de cada una de las siguientes expresiones o decir si no es una
expresión valida:

a) 9 – 5 – 3= 1

b) 2 div 3 + 3 / 5= 1,2

c) 9 div 2 / 5= 0,9

d) 7 mod 5 mod 3= 1

e) 7 mod (5 mod 3)= 1

f) (7 mod 5) mod 3= 2

g) (7 mod 5 mod 3)= 1

h) ((12+3) div 2) / (8 – (5+1))= 3,75

i) 12/ 2*3= 2

j) raiz2 (cuadrado(4))= No valida

k) cuadrado (raiz2(4))= No valida

l) trunc(815) + redondeo (815)= No valida


3.12 Se desea calcular independientemente la suma de los números pares e impares
comprendidos entre 1 y 200

Inicio

Leer: num1, s1=0, s2=2

Si ((num%2)==2)&&(num=<200)

s1= s1+num

num++

Presentar: s1

Sino ((num%2)==1)&&(num=<200)

s2=s2+num

num++

Presentar: s2

Fin

3.13 Leer una serie de números distintos de cero (el último número de la serie es -99) y
obtener el número mayor. Como resultado se debe visualizar el número mayor y un mensaje
de indicación de número negativo, caso de que haya leído un número negativo.

Inicio

Leer: mayor, positivo=true

Mientras (n!=0)&&(n!= -99){

Leer: n

Si(│n│>mayor)

mayor=n

Si (n<0)

positivo= Falso

Sino

positivo= True

Presentar: “mayor”

Si (positivo=falso){

Presentar: “negativo”

Fin
3.16 Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una
compra de un artículo determinado, del que se adquiere una o varias unidades. El IVA a
aplicar es del 15 por 100 y si el precio bruto (precio venta mas IVA) es mayor de 1000 euros,
se debe realizar un descuento del 5 por 100

Inicio

numart, valorart, valsiniva, valconiva, valcondes,

Leer: valorart

Leer: numart

valsiniva= (valorar*numart)

valconiva=(valsiniva+(valsiniva*15))

Si (valconiva>1000)

Valcondes=(valconiva-(valconiva*0.005))

Presentar: “EL valor de los artículos es:”; valcondes

Sino

Presentar: “EL valor de los artículos es:”; valconiva

FIN

3.18 Sumar los números pares del 2 al 100 e imprimir su valor

Inicio

Leer: suma=0, num=1

Si (num%2)==0

suma= suma+num

Sino

suma++

Hasta (num=100)

Presentar: “Suma”

Fin

3.23 Dados diez números enteros, visualizar la suma de los números pares de la lista,
cuantos números pares existen, y cuál es la media aritmética de los números impares.

Inicio

Leer: s1=0, s2=0, contr=0, m

Si (num[actual%2]==0)

s1= s1+num-actual

contr=contr+1
num++

Sino

s2=s2+ num[actual]

num++

m= s2/ num[actua;]

Presentar: “suma”

Presentar: “El numero de pares es”; “contr”

Presentar “n”

Fin

3.27 Desarrollar un algoritmo que determine en un conjunto de cien números naturales:

¿Cuántos son menores de 15?

¿Cuántos son mayores de 50?

¿Cuántos están comprendidos entre 25 y 45?

Inicio

Leer: num, contr=0

Si (num[actual]<15)

contr=contr+1

Presentar: “Los números menores de 15 son” , contr

Fin si

contr==0

Si(num[actual]>50)

Contr=contr+1

Presentar: “Los números menores de 50 son” , contr

Fin si

Contr==0

Si (num[actual]>25)&&(num[actual]<45)

contr=contr+1

Presentar: “Los números comprendidos son” , contr

Fin si

FIN

También podría gustarte