ejercicios de algoritmos

51
EJERCICIOS DE ALGORITMOS CRISTHIAN CAMILO ESCORCIA DIAZ Y JAQUELINE DURAN SEGURA

Upload: 1002pc4

Post on 24-Jun-2015

46.278 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ejercicios de algoritmos

EJERCICIOS DE ALGORITMOS

CRISTHIAN CAMILO ESCORCIA DIAZY JAQUELINE DURAN SEGURA

Page 2: Ejercicios de algoritmos

DISEÑAR EL ALGORITMO CORRESPONDIENTE A UN PROGRAMAQUE LEA EL VALOR CORRESPONDIENTE A UNA DISTANCIA EN MILLAS MARINAS Y LAS ESCRIBAEXPRESADAS EN METROS. SABIENDO QUE 1 MILLA MARINA EQUIVALE A 1852 METROS.

Page 3: Ejercicios de algoritmos

PROGRAMA: Millas y metrosMÓDULO: PrincipalINICIODATOS:CONSTANTESMILL_METR Numérico Entero = 1852VARIABLESDmillas Numérico EnteroDmetros Numérico EnteroALGORITMO:Escribir “Distancia en millas: ”Leer DmillasDmetros = Dmillas * MILL_METREscribir “Distancia en metros:”, DmetrosFIN

Page 4: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un

programaque escribe el porcentaje

descontado en una compra, introduciendo por teclado

elprecio de la tarifa y el

precio pagado.

Page 5: Ejercicios de algoritmos

PROGRAMA: DescuentoMÓDULO: PrincipalINICIODATOS:VARIABLESTarifa Numérico EnteroPrecio Numérico EnteroDto Numérico EnteroPd Numérico RealALGORITMO:Leer TarifaLeer PrecioDto = Tarifa – PrecioPd = Dto * 100 / TarifaEscribir “Porcentaje de descuento:”, PdFIN

Page 6: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un programa

que pida por teclado dos números enteros y muestre su suma, resta,

multiplicación,división y el resto (módulo) de la

división. Si la operación no es conmutativa, también

se mostrará el resultado invirtiendo los operadores.

Page 7: Ejercicios de algoritmos

PROGRAMA: Operaciones_aritméticasMÓDULO: PrincipalINICIODATOS:VARIABLESnum1 Numérico Enteronum2 Numérico EnteroALGORITMO:Leer num1, num2Escribir “n1 + n2 = “, num1+num2Escribir “n1 - n2 = “, num1-num2Escribir “n2 - n1 = “, num2-num1Escribir “n1 * n2 = “, num1*num2Escribir “n1 / n2 = “, num1/num2Escribir “n2 / n1 = “, num2/num1Escribir “n1 mod n2 = “, num1 mod num2Escribir “n2 mod n1 = “, num2 mod num1FIN

Page 8: Ejercicios de algoritmos

Diseñar el algoritmo

correspondiente a un

programaque obtiene la última cifra

de un número introducido.

Page 9: Ejercicios de algoritmos

PROGRAMA: Última_cifraMÓDULO: PrincipalINICIODATOS:VARIABLESnum Numérico EnteroALGORITMO:Escribir “Introduzca número:”Leer numEscribir “Última cifra: “, num mod 10FIN

Page 10: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un programaque calcule el área y el perímetro de un triángulo rectángulo dada la base y la altura.

Page 11: Ejercicios de algoritmos

PROGRAMA: Triángulo_rectánguloMÓDULO: PrincipalINICIODATOS:VARIABLESbase Numérico Enteroaltura Numérico Enteroarea Numérico Realhipotenusa Numérico Realperimetro Numérico RealALGORITMO:Leer base, alturaarea = base * altura / 2hipotenusa = Raiz (base^2 + altura^2)perimetro = base + altura + hipotenusaEscribir “Área = “, areaEscribir “Perímetro = “, perimetroFIN

Page 12: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un programaque tras introducir una medida expresada en centímetros la convierta en pulgadas (1pulgada = 2,54 centímetros)

Page 13: Ejercicios de algoritmos

PROGRAMA: Cent_PulgadasMÓDULO: PrincipalINICIODATOS:CONSTANTESCM_PULG Numérico Real = 2.54VARIABLEScm Numérico Realpulgadas Numérico RealALGORITMO:Escribir “Valor en centímetros: “Leer cmpulgadas = cm / CM_PULGEscribir “Pulgadas: “, pulgadasFIN

Page 14: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un programaque exprese en horas, minutos y segundos un tiempo expresado en segundos.

Page 15: Ejercicios de algoritmos

PROGRAMA: Tiempo_segundosMÓDULO: PrincipalINICIODATOS:VARIABLESsegundos Numérico Enterominutos Numérico Enterohoras Numérico EnteroALGORITMO:Leer segundoshoras = segundos / 3600segundos = segundos mod 3600minutos = segundos / 60segundos = segundos mod 60Escribir horas, “h “, minutos, “m “, segundos, “s”FIN

Page 16: Ejercicios de algoritmos

Diseñar el algoritmo correspondiente a un programaque pida el total de kilómetros recorridos, el precio de la gasolina (por litro), el dinerode gasolina gastado en el viaje y el tiempo que se ha tardado (en horas y minutos) yque calcule:• Consumo de gasolina (en litros y euros) por cada 100 km.• Consumo de gasolina (en litros y euros) por cada km.• Velocidad media (en km/h y m/s).

Page 17: Ejercicios de algoritmos

PROGRAMA: Consu

mo_v

iaje

MÓDULO: P

rincip

al

INIC

IO

DATOS:

VARIABLES

km N

uméric

o Ente

ro

precio

Num

érico R

eal

dinero

Num

érico R

eal

horas N

uméric

o Ente

ro

min

utos N

uméric

o Ente

ro

litro

s Num

érico R

eal

litro

skm

Num

érico R

eal

dinero

km N

uméric

o Real

horast

otal N

uméric

o Real

kmh N

uméric

o Real

ms N

uméric

o Real

Tlitro

s100 N

uméric

o Real

Teuro

s100 N

uméric

o Real

ALGORITMO:

Leer km

, pre

cio, d

inero

, hora

s, m

inuto

s

** Litr

os consu

mid

os tota

les

litro

s = d

inero

/ pre

cio

** Litr

os por k

m

litro

skm

= li

tros /

km

** D

inero

por k

m

dinero

km =

din

ero /

km

** T

iem

po empleado, c

onvertido a

hora

s

horast

otal =

hora

s + m

inuto

s / 6

0

** V

elocid

ad media

(km

/h, m

/s)

kmh =

km /

horast

otal

ms =

(km

* 1000) /

(hora

stota

l * 3

600)

** C

onsum

os por c

ada 100 km

Tlitro

s100 =

litro

skm

* 100

Teuro

s100 =

din

erokm

* 100

Escrib

ir “Consu

mo d

e gaso

lina ca

da 100 K

m”

Escrib

ir “En li

tros:”

, Tlit

ros1

00

Escrib

ir “En euro

s:”, T

euros1

00

Escrib

ir “Consu

mo d

e gaso

lina p

or cada K

m”

Escrib

ir “En li

tros:”

, litr

oskm

Escrib

ir “En euro

s:”, d

inero

km

Escrib

ir “Velo

cidad m

edia en K

m/h

:”, k

mh

Escrib

ir “Velo

cidad m

edia en m

/s:”, m

s

FI

Page 18: Ejercicios de algoritmos

Suponiendo que una paella se puede cocinar exclusivamente con arroz y gambas, yque para cada cuatro personas se utiliza medio kilo de arroz y un cuarto de kilo degambas, escribir un programa que pida por pantalla el número de comensales para lapaella, el precio por kilo de los ingredientes y muestre las cantidades de losingredientes necesarios y el coste de la misma.

Page 19: Ejercicios de algoritmos

PROGRAMA: PaellaMÓDULO: PrincipalINICIODATOS:VARIABLEScomensales Numérico Enteroprecio_arroz Numérico Realprecio_gambas Numérico Realcant_arroz Numérico Realcant_gambas Numérico Realcoste_gambas Numérico Realcoste_arroz Numérico Realcoste_total Numérico RealALGORITMO:Leer comensales, precio_arroz, precio_gambascant_arroz = comensales * 0.5 / 4cant_gambas = comensales * 0.25 / 4coste_arroz = cant_arroz * precio_arrozcoste_gambas = cant_gambas * precio_gambascoste_total = coste_arroz + coste_gambasEscribir cant_arroz, cant_gambas, coste_arroz,coste_gambas, coste_totalFIN

Page 20: Ejercicios de algoritmos

Hacer un ejercicio que imprima todos los numeros naturales que hay desde la unidad hasta un numero que introducimos por teclado.

Page 21: Ejercicios de algoritmos

PROGRAMA naturalENTORNO:   i <- 0   n <- 0ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "Introduce un n£mero: "   LEER n   MIENTRAS i < n HACER      i <- i + 1      ESCRIBIR i   FINMIENTRASFINPROGRAMA

Page 22: Ejercicios de algoritmos

Introducir tantas frases como queramos y contarlas.

Page 23: Ejercicios de algoritmos

PROGRAMA frasesENTORNO:   res <- "S"   frase <- Espacios( 30 )   c <- 0ALGORITMO:   Borrar_pantalla( )   MIENTRAS res = "S" HACER      ESCRIBIR "Frase: "      LEER frase      c <- c + 1      ESCRIBIR "Deseas introducir m s frases (S/N): "      LEER res   FINMIENTRAS   ESCRIBIR "El n£mero de frases introducidas son: "   ESCRIBIR cFINPROGRAMA 

Page 24: Ejercicios de algoritmos

Hacer un ejercicio que solo nos permita introducir S o N. 

Page 25: Ejercicios de algoritmos

PROGRAMA snENTORNO:   res <- " "ALGORITMO:   Borrar_pantalla( )   MIENTRAS res <> "S" Y res <> "N" HACER   ESCRIBIR "Introduce S o N"    LEER res      res <- Convertir_may£sculas( res )   FINMIENTRASFINPROGRAMA

Page 26: Ejercicios de algoritmos

Introducir un numero por teclado. Que nos diga si es positivo o negativo. 

Page 27: Ejercicios de algoritmos

PROGRAMA signoENTORNO:   num <- 0ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "Introduce un n£mero: "   LEER num   SI num >= 0 ENTONCES      ESCRIBIR "es positivo"   SINO      ESCRIBIR "es negativo"   FINSIFINPROGRAMA

Page 28: Ejercicios de algoritmos

Introducir un numero por teclado. Que nos diga si es par o impar. 

Page 29: Ejercicios de algoritmos

PROGRAMA paridadENTORNO:   num <- 0ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "Introduce un n£mero: "   LEER num   SI num = int( num / 2 ) * 2 ENTONCES      ESCRIBIR "es par"   SINO      ESCRIBIR "es impar"   FINSIFINPROGRAMA

Page 30: Ejercicios de algoritmos

-Imprimir y contar los multiplos de 3 desde la unidad hasta un numero queintroducimos por teclado.

Page 31: Ejercicios de algoritmos

PROGRAMA multiplo3ENTORNO:   i <- 3   n <- 0   c <- 0ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "N£mero: "   LEER n   MIENTRAS i <= n HACER      SI i = int( i / 3 ) * 3 ENTONCES         ESCRIBIR i         c <- c + 1      FINSI      i <- i + 1   FINMIENTRAS   ESCRIBIR "El n£mero de m£ltiplos de 3 son: "   ESCRIBIR cFINPROGRAMA 

Page 32: Ejercicios de algoritmos

Hacer un ejercicio que imprima los numeros del 1 al 100. Que calcule lasuma de todos los numeros pares por un lado, y por otro, la de todos los impares

Page 33: Ejercicios de algoritmos

 PROGRAMA par_imparENTORNO:   i <- 1   sumapar <- 0   sumaimp <- 0ALGORITMO:   Borrar_pantalla( )   MIENTRAS i < 101 HACER      SI i = int( i / 2 ) * 2 ENTONCES         sumapar <- sumapar + i      SINO         sumaimp <- sumaimp + i      FINSI      i <- i + 1   FINMIENTRAS   ESCRIBIR "La suma de los pares es: "   ESCRIBIR sumapar   ESCRIBIR "La suma de los impares es: "   ESCRIBIR sumaimpFINPROGRAMA 

Page 34: Ejercicios de algoritmos

Imprimir y contar los numeros que son multiplos de 2 o de 3 que hay entre 1 a 100

Page 35: Ejercicios de algoritmos

PROGRAMA multiplo_2_3ENTORNO:   i <- 1   c <- 0ALGORITMO:   Borrar_pantalla( )   MIENTRAS i < 101 HACER      SI i = int( i / 2 ) * 2 O i = int( i / 3 ) * 3 ENTONCES         c <- c + 1         ESCRIBIR i      FINSI      i <- i + 1   FINMIENTRAS   ESCRIBIR "El n£mero de m£ltiplos es de: "   ESCRIBIR cFINPROGRAMA

 

Page 36: Ejercicios de algoritmos

Hacer un ejercicio que imprima el mayor y el menor de una serie de cinco numeros que vamos introduciendo por teclado. 

Page 37: Ejercicios de algoritmos

PROGRAMA mayor_menorENTORNO:   con <- 0   n <- 0   maximo <- 0   minimo <- 99999ALGORITMO:   Borrar_pantalla( )   MIENTRAS con <= 5 HACER      ESCRIBIR "N£mero: "      LEER n      SI n > maximo ENTONCES         maximo = n      FINSI      SI n < minimo ENTONCES         minimo <- n      FINSI      con <- con + 1   FINMIENTRAS   ESCRIBIR "El mayor de los n£meros es: "   ESCRIBIR maximo   ESCRIBIR "El menor de los n£meros es: "   ESCRIBIR minimoFINPROGRAMA 

Page 38: Ejercicios de algoritmos

Introducir dos numeros por teclado. Imprimir los numeros naturales que hay entre ambos numeros empezando por el m s pequeño, contar cuantos hay y cuantos de ellos son pares. Calcular la suma de los impares.

Page 39: Ejercicios de algoritmos

PROGRAMA par_imparENTORNO:   num1 <- 0   num2 <- 0   aux <- 0   son <- 0   pares <- 0   sumaimpa <- 0ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "N£mero: "   LEER num1   ESCRIBIR "N£mero: "   LEER num2   SI num1 > num2 ENTONCES      aux <- num1      num1 <- num2      num2 <- aux   FINSI   MIENTRAS num1 >= num2 HACER      ESCRIBIR num1      son <- son + 1      SI num1 = int( num1 / 2 ) * 2 ENTONCES         pares <- pares + 1      SINO         sumaimpa <- sumaimpa + num1      FINSI      num1 <- num1 + 1   FINMIENTRAS   ESCRIBIR "N£meros visualizados: "   ESCRIBIR son   ESCRIBIR "Pares hay: "   ESCRIBIR pares   ESCRIBIR "La suma de los impares es: "   ESCRIBIR sumaimpaFINPROGRAM

Page 40: Ejercicios de algoritmos

Imprimir diez veces la serie de numeros del 1 al 10.

Page 41: Ejercicios de algoritmos

PROGRAMA diezENTORNO:   serie <- 0ALGORITMO:   Borrar_pantalla( )   MIENTRAS serie <= 10 HACER      numero <- 1      MIENTRAS numero <= 10 HACER         ESCRIBIR numero         numero <- numero + 1      FINMIENTRAS      serie <- serie + 1   FINMIENTRASFINPROGRAMA 

Page 42: Ejercicios de algoritmos

Imprimir, contar y sumar los multiplos de 2 que hay entre una serie denumeros, tal que el segundo sea mayor o igual que el primero.

Page 43: Ejercicios de algoritmos

PROGRAMA multiplo2ENTORNO:   res <- "S"ALGORITMO:   Borrar_pantalla( )   MIENTRAS res = "S" HACER      c <- 0      sum <- 0      num1 <- 0      num2 <- -999      ESCRIBIR "N£mero: "      LEER num1      ESCRIBIR "N£mero mayor que el anterior"      MIENTRAS num1 >= num2 HACER         LEER num2      FINMIENTRAS      num1 <- num1 + 1      MIENTRAS num1 <= num2 - 1 HACER         SI num1 = int( num1 / 2 ) * 2 ENTONCES            ESCRIBIR num1            c <- c + 1            sum <- sum + num1         FINSI         num1 <- num1 + 1      FINMIENTRAS      ESCRIBIR "N£mero de m£ltiplos de 2: "      ESCRIBIR c      ESCRIBIR "Su suma es: "      ESCRIBIR sum      res <- Espacios( 1 )      MIENTRAS res <> "S" Y res <> "N" HACER         ESCRIBIR "Otra serie de n£meros (S/N): "         LEER res         res <- Convertir_may£sculas( res )      FINMIENTRAS   FINMIENTRASFINPROGRAMA 

Page 44: Ejercicios de algoritmos

Hacer un ejercico que cuente las veces que aparece una determinadaletra en una frase que introduciremos por teclado. 

Page 45: Ejercicios de algoritmos

   frase <- Espacios( 30 )   letra <- Espacios( 1 )   longitud <- 0   a <- 0   res <- "S"ALGORITMO:   MIENTRAS res = "S" HACER      Borrar_pantalla( )      ESCRIBIR "Introduce una frase: "      LEER frase      longitud <- Hallar_longitud( frase )      i <- 1      ESCRIBIR "Letra a buscar: "      LEER letra      MIENTRAS i <= longitud HACER         SI letra = Caracter( frase, i, 1 ) ENTONCES            a <- a + 1         FINSI         i <- i + 1      FINMIENTRAS      Borrar_pantalla( )      ESCRIBIR "El n£mero de veces que aparece la letra "      ESCRIBIR letra      ESCRIBIR " en la frase "      ESCRIBIR frase      ESCRIBIR " es de "      ESCRIBIR a      res <- Espacios( 1 )      MIENTRAS res <> "S" Y res <> "N" HACER         ESCRIBIR "Desea introducir m&aacute;s frases (S/N): "         LEER res         res <- Convertir_may£sculas( res )      FINMIENTRAS

Page 46: Ejercicios de algoritmos

Hacer un ejercicio que simule el funcionamiento de un reloj digital y que permita ponerlo en hora.

Page 47: Ejercicios de algoritmos

 PROGRAMA relojENTORNO:   horas <- 0   minutos <- 0   segundos <- 0   res <- "S"ALGORITMO:   Borrar_pantalla( )   ESCRIBIR "Horas: "   LEER horas   ESCRIBIR "Minutos: "   LEER minutos   ESCRIBIR "Segundos: "   LEER segundos   MIENTRAS res = "S" HACER      MIENTRAS horas < 24 HACER         MIENTRAS minutos < 60 HACER            MIENTRAS segundos < 60 HACER               ESCRIBIR horas               ESCRIBIR minutos               ESCRIBIR segundos               segundos <- segundos + 1            FINMIENTRAS            minutos <- minutos + 1            segundos <- 0         FINMIENTRAS         horas <- horas + 1         minutos <- 0      FINMIENTRAS

Page 48: Ejercicios de algoritmos

Hacer un programa que calcule independientemente la suma de los pares ylos impares de los numeros entre 1 y 1000, utilizando un switch.

Page 49: Ejercicios de algoritmos

PROGRAMA sumaENTORNO:   par <- 0   impar <- 0   sw <- 0   i <- 1ALGORITMO:   Borrar_pantalla( )   MIENTRAS i <= 1000 HACER      SI sw = 0 ENTONCES         impar <- impar + i         sw <- 1      SINO         par <- par + i         sw <- 0      FINSI      i <- i + 1   FINMIENTRAS   ESCRIBIR "La suma de los pares es: "   ESCRIBIR par   ESCRIBIR "La suma de los impares es: "   ESCRIBIR imparFINPROGRAMA

Page 50: Ejercicios de algoritmos

Introducir una frase por teclado. Imprimirla cinco veces en filas consecutivas, pero cada impresion ir  desplazada cuatro columnas hacia laderecha.

Page 51: Ejercicios de algoritmos

PROGRAMA fraseENTORNO:   frase <- Espacios( 30 )ALGORITMO:   Borrar_pantalla( )   EN 5,15 ESCRIBIR "Frase: "   EN 5,22 LEER frase   fi <- 8   co <- 15   veces <- 0   MIENTRAS veces <= 5 HACER      EN fi,co ESCRIBIR frase      veces <- veces + 1      co <- co + 4      fi <- fi + 1   FINMIENTRASFINPROGRAMA