Programación 1 - Práctica 0
1 Expresiones aritméticas.
2 Strings
3 Valores de verdad
4 Imágenes
5 Funciones
6.2.1

Programación 1 - Práctica 0

1 Expresiones aritméticas.

  1. Considere las siguientes expresiones aritméticas:

    12 * 5 - 7 * 6

    3 * 5 - 7 * 4 / 14 + 3 / 1

    cos(0.8) + 1/5 + sen(0.5) * 3.5

    1. Exprese cada una de ellas con la sintaxis de racket .

    2. Sin usar DrRacket evalúe cada una de ellas. Aquí un ejemplo de cómo hacerlo para la expresión (* (+ 1 2) 3):

      (* (+ 2 3) 4)

      ==

      (* 5 4)

      ==

      20

    3. Usando DrRacket, verifique los resultados obtenidos.

    4. Para algunas de las expresiones, realice la evaluación paso a paso.

  2. Usando DrRacket , evalúe las siguientes expresiones:

    Quizás algunas de estas expresiones no denoten valores y resulten en error. Es bueno entender qué mensaje recibimos en esos casos!

    1. (/ 1 (sin (sqrt 3)))

    2. (* (sqrt 2) (sin pi))

    3. (+ 3 (sqrt (- 4)))

    4. (* (sqrt 5) (sqrt (/ 3 (cos pi))))

    5. (/ (sqrt 5) (sin (* 3 0)))

    6. (/ (+ 3) (* 2 4))

    7. (* 1 2 3 4 5 6 7 8)

    8. (/ 120 2 3 2 2 5)

  3. En los ejercicios anteriores aparecen algunas funciones como cos, sin, sqrt.

    Si la mayoría de estos nombres no le dicen nada, no se preocupe, no es necesario conocerlas por ahora.

    Muchas funciones que quizás le resulten conocidas ya se encuentran predefinidas en DrRacket, tales como log, tan, expt, random, max, min, floor, ceiling, abs. Escriba expresiones que combinen algunas de estas funciones. Si no conoce su comportamiento, consulte la documentación o a los docentes.

2 Strings

  1. Evalúe en DrRacket las siguientes expresiones:
    1. (string-append "Hola" "mundo")

    2. (string-append "Pro" "gra" "ma.")

    3. (number->string 1357)

    4. (string-append "La respuesta es " (number->string (+ 21 21)))

    5. (* (string-length "Hola") (string-length "Chau"))

    Recuerde que en Ciencias de la Computación contamos desde 0.

    Explore la función string-ith, que, dados un string s y un número natural n, devuelve el caracter que ocupa la n-ésima posición en s.

    Más interesante es la función substring. Aquí un ejemplo de cómo funciona:

    (substring "Programar" 2 5)

    ==

    "ogr"

    Escriba expresiones que utilicen esta función ¿Qué sucede si el último argumento es menor que el penúltimo? ¿Y si son iguales?

3 Valores de verdad

  1. Evalúe en DrRacket las siguientes expresiones:
    1. (not #t)

    2. (or #t #f)

    3. (and #t #f)

    4. (and #t (or #f (not #f)) (not #t))

    5. (not (= 2 (* 1 3)))

    6. (or (= 2 (* 1 3)) (< 4 (+ 3 2)))

4 Imágenes

  1. Este ejercicios presenta algunas expresiones con la intención de familiarizarse con imágenes. Modifique estas expresiones para observar el comportamiento de las funciones aquí presentadas.

    1. (circle 10 "solid" "red")

    2. (rectangle 10 20 "solid" "blue")

    3. (rectangle 20 12 "outline" "magenta")

    4. (overlay (rectangle 20 20 "solid" "blue") (circle 7 "solid" "green"))

    5. (empty-scene 100 100)

    6. (place-image (circle 10 "solid" "blue") 40 80 (empty-scene 100 100))

    7. (+ (image-width (circle 10 "solid" "red")) (image-height (rectangle 10 20 "solid" "blue")))

5 Funciones

  1. Defina una función que recibe dos números x e y, devolviendo la distancia al origen del punto (x,y)

  2. Defina una función que recibe cuatro números x1, y1, x2 e y2; devolviendo la distancia entre los puntos (x1, y1) y (x2, y2)

  3. Defina la función vol-cubo que recibe la longitud de la arista de un cubo y calcula su volumen.

  4. Defina la función area-cubo que recibe la longitud de la arista de un cubo y calcula su área.

  5. Defina la función area-imagen que recibe una imagen y calcula su área. Intente aplicar esta función a valores que no son imágenes

  6. Defina la función string-insert, que consume un string y un número i e inserta "-" en la posición i-ésima del string.