• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ejercicios de algoritmos
 

Ejercicios de algoritmos

on

  • 31,916 views

 

Statistics

Views

Total Views
31,916
Views on SlideShare
31,130
Embed Views
786

Actions

Likes
2
Downloads
385
Comments
0

6 Embeds 786

http://royer-proyectosdeinformtica1.blogspot.com 643
http://royer-proyectosdeinformtica1.blogspot.mx 113
http://tecnicoensistemasietagpc4.blogspot.com 15
http://royer-proyectosdeinformtica1.blogspot.com.ar 10
http://royer-proyectosdeinformtica1.blogspot.com.es 4
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ejercicios de algoritmos Ejercicios de algoritmos Presentation Transcript

    • EJERCICIOS DE ALGORITMOS
      CRISTHIAN CAMILO ESCORCIA DIAZ
      Y JAQUELINE DURAN SEGURA
    • 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.
    • 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
    • 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.
    • 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
    • Diseñar el algoritmo correspondiente a un programaque 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énse mostrará el resultado invirtiendo los operadores.
    • 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
    • Diseñar el algoritmo correspondiente a un programaque obtiene la última cifra de un número introducido.
    • PROGRAMA: Última_cifraMÓDULO: PrincipalINICIODATOS:VARIABLESnum Numérico EnteroALGORITMO:Escribir “Introduzca número:”Leer numEscribir “Última cifra: “, nummod 10FIN
    • 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.
    • 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
    • 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)
    • 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
    • Diseñar el algoritmo correspondiente a un programaque exprese en horas, minutos y segundos un tiempo expresado en segundos.
    • 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
    • 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).
    • PROGRAMA: Consumo_viajeMÓDULO: PrincipalINICIODATOS:VARIABLESkm Numérico Enteroprecio Numérico Realdinero Numérico Realhoras Numérico Enterominutos Numérico Enterolitros Numérico Reallitroskm Numérico Realdinerokm Numérico Realhorastotal Numérico Realkmh Numérico Realms Numérico RealTlitros100 Numérico RealTeuros100 Numérico RealALGORITMO:Leer km, precio, dinero, horas, minutos** Litros consumidos totaleslitros = dinero / precio** Litros por kmlitroskm = litros / km** Dinero por kmdinerokm = dinero / km** Tiempo empleado, convertido a horashorastotal = horas + minutos / 60** Velocidad media (km/h, m/s)kmh = km / horastotalms = (km * 1000) / (horastotal * 3600)** Consumos por cada 100 kmTlitros100 = litroskm * 100Teuros100 = dinerokm * 100Escribir “Consumo de gasolina cada 100 Km”Escribir “En litros:”, Tlitros100Escribir “En euros:”, Teuros100Escribir “Consumo de gasolina por cada Km”Escribir “En litros:”, litroskmEscribir “En euros:”, dinerokmEscribir “Velocidad media en Km/h:”, kmhEscribir “Velocidad media en m/s:”, msFI
    • 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.
    • 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
    • Hacer un ejercicio que imprima todos los numeros naturales que hay desde la unidad hasta un numero que introducimos por teclado.
    • 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
    • Introducir tantas frases como queramos y contarlas.
    • 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 
    • Hacer un ejercicio que solo nos permita introducir S o N. 
    • 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
    • Introducir un numero por teclado. Que nos diga si es positivo o negativo. 
    • 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
    • Introducir un numero por teclado. Que nos diga si es par o impar. 
    • 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
    • -Imprimir y contar los multiplos de 3 desde la unidad hasta un numero queintroducimos por teclado.
    • 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 
    • 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
    •  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 
    • Imprimir y contar los numeros que son multiplos de 2 o de 3 que hay entre 1 a 100
    • 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 
    • Hacer un ejercicio que imprima el mayor y el menor de una serie de cinco numeros que vamos introduciendo por teclado. 
    • 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 
    • Introducir dos numeros por teclado. Imprimir los numeros naturales que hay entre ambos numeros empezando por el m s pequeño, contar cuantos hay ycuantos de ellos son pares. Calcular la suma de los impares.
    • 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
    • Imprimir diez veces la serie de numeros del 1 al 10.
    • 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 
    • 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.
    • 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 
    • Hacer un ejercico que cuente las veces que aparece una determinadaletra en una frase que introduciremos por teclado. 
    •    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
    • Hacer un ejercicio que simule el funcionamiento de un reloj digital y que permita ponerlo en hora.
    •  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
    • Hacer un programa que calcule independientemente la suma de los pares ylos impares de los numeros entre 1 y 1000, utilizando un switch.
    • 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
    • Introducir una frase por teclado. Imprimirla cinco veces en filasconsecutivas, pero cada impresion ir  desplazada cuatro columnas hacia laderecha.
    • 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