Pseudocódigo/Diagramas de Flujo - explicacion de ejercicios con scheme(racket)

 
Vista:
sin imagen de perfil
Val: 9
Ha mantenido su posición en Pseudocódigo/Diagramas de Flujo (en relación al último mes)
Gráfica de Pseudocódigo/Diagramas de Flujo

explicacion de ejercicios con scheme(racket)

Publicado por roberto (3 intervenciones) el 13/07/2020 06:05:57
Captura
Captura2335

hola a todos nesecito ayuda con estos ejercicios para scheme(racket)

solo nesecito una explicacion sobre como resolver cada uno y como seria la formula para poder llegar a resolver estos problemas no nesecito que sean resueltos o si no, no podre aprender a programar.

este tema es basico ya que estoy acabo de iniciar la universidad

espero su ayuda

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 9
Ha mantenido su posición en Pseudocódigo/Diagramas de Flujo (en relación al último mes)
Gráfica de Pseudocódigo/Diagramas de Flujo

explicacion de ejercicios con scheme(racket)

Publicado por roberto (3 intervenciones) el 24/07/2020 19:16:19
resuelto


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
;proposito: determinar el precio en pesos de un billete ida y vuelta en avión, conociendo la distancia a recorrer y el numero de das de estancia en la ciudad destino. Se sabe que si la distancia este entre 2000-5000 Km. y el numero de das este entre 15-20, el billete tiene una reducción del 30%, si la distancia es mayor que 5000 Km. y el numero de das este entre 5-10, el billete tiene una reducción del 20%. El precio del billete es de 15 dólares por kilómetro. Un dólar equivale a 2850 pesos.
;contrato: numero, numero -> numero
;prueba 1:(precio_billete 3000 18) -> 89775000
;prueba 2:(precio_billete 6000 8) -> 205200000
;prueba 3:(precio_billete 1000 2) -> 42750000
 
(define (precio_billete km_a_recorrer dias_estancia)
 
  (cond
  [(and (and (>= km_a_recorrer 2000) (<= km_a_recorrer 5000)) (and (>= dias_estancia 15) (<= dias_estancia 20))) (* 2850 (- (* km_a_recorrer 15)(* km_a_recorrer 15 0.3)))];la condicion se cumple y se descuenta un 30%
  [(and (>= km_a_recorrer 5000) (>= dias_estancia 5) (<= dias_estancia 10)) (* 2850 (- (* km_a_recorrer 15)(* (* km_a_recorrer 15)0.2)))];la condicion se cumple y se descuenta un 20%
  [else (* 2850 (* km_a_recorrer 15))];la condicion se cumple y no se hace ningun descuento
))
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Escriba un programa que permita calcular la nota nal del curso Fundamentos de ProgramaciÛn que consta de 4 notas entre 1-100, la primera nota vale 15%, la segunda 20%, la tercera 25% y la cuarta 40%. La nota final se obtiene de acuerdo a la siguiente tabla: [80,100]= A, [60,80]= B, [40,60]= C, [1,40]= D
;contrato: numero, numero, numero, numero -> caracter/cadena
;prueba 1: (nota_final 10 20 30 15) -> "D"
;prueba 2: (nota_final 46 60 70 59) -> "C"
;prueba 3: (nota_final 60 74 66 77) -> "B"
;prueba 4: (nota_final 89 90 83 81) -> "A"
;prueba 5: (nota_final 120 200 300 156) -> "error las notas digitadas no estan en el rango permitido"
 
(define (promedio n1 n2 n3 n4)
  (+ (* n1 0.15) (* n2 0.2) (* n3 0.25) (* n4 0.4)))
 
(define (nota_final n1 n2 n3 n4)
  (cond
    [(and (>= (promedio n1 n2 n3 n4) 1) (<= (promedio n1 n2 n3 n4) 40)) "D"]
    [(and (>= (promedio n1 n2 n3 n4) 40) (<= (promedio n1 n2 n3 n4) 60)) "C"]
    [(and (>= (promedio n1 n2 n3 n4) 60) (<= (promedio n1 n2 n3 n4) 80)) "B"]
    [(and (>= (promedio n1 n2 n3 n4) 80) (<= (promedio n1 n2 n3 n4) 100)) "A"]
    [else "ERROR las notas digitadas no estan en el rango permitido"]
    )
 )
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;proposito: construya una funcion que de vuelva falso o verdadero si un numero es perfecto.
;contrato: numero, numero, numero -> booleano
;prueba1: (perfecto 6 1 0)-> #t
;prueba2: (perfecto 5 1 0)-> #f
 
(define (perfecto n cont acu)
 
  (if (and (> n cont)(= (remainder n cont) 0))
      (perfecto n(+ cont 1)(+ acu cont))
      (if (>= n cont)
          (perfecto n (+ cont 1) acu)
          (if (= acu n)#t #f
              )
          )))
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;proposito: Calcular la suma de n primeros terminos de la siguiente serie; emplee una funcion auxiliar para calcular el valor del termino
;contrato: numero -> numero
;prueba: (sumaserie 3) -> 6 1/3
 
(define (valorn n);funcion auxiliar
  (- (expt 2 n)(/ n(+ n 1)))
)
 
(define (sumaserie n);recursividad
  (cond
    [(= n 1) 1]
    [else (+ n(valorn (- n 1)))]
    )
  )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en Pseudocódigo/Diagramas de Flujo (en relación al último mes)
Gráfica de Pseudocódigo/Diagramas de Flujo

explicacion de ejercicios con scheme(racket)

Publicado por roberto (3 intervenciones) el 20/08/2020 19:12:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(define (valorn n);funcion auxiliar
  (- (expt 2 n)(/ n(+ n 1)))
)
 
(define (sumaserie n);recursividad // codigo erroneo
 
  (cond
    [(= n 1) 1]
    [else (+ n(valorn (- n 1)))]
    )
  )
----------------------------------------------------------------------------------
(define (valorn n);funcion auxiliar
  (- (expt 2 n)(/ n(+ n 1)))
)
 
(define (sumaserie n);recursividad // codigo correcto
  (cond
    [(= n 1)(valorn n)]
    [else (+ (valorn n) (sumaserie(- n 1)))]
    )
  )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar