ejercicios - introduccion a la programacion en c

c 2003 Andr´ es Marzal e Isabel Gracia · 1 Compara los programas sumatorio.py y sumatorio.c. Analiza sus semejanzas y

Views 173 Downloads 59 File size 392KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

c 2003 Andr´

es Marzal e Isabel Gracia

· 1 Compara los programas sumatorio.py y sumatorio.c. Analiza sus semejanzas y diferencias. ¿Qu´e funci´on desempe˜ nan las llaves en sumatorio.c? ¿Qu´e funci´ on crees que desempe˜ nan las l´ıneas 6 y 7 del programa C? ¿A qu´e elemento de Python se parecen las dos primeras l´ıneas de sumatorio.c? ¿Qu´e similitudes y diferencias aprecias entre las estructuras de control de Python y C? ¿C´omo crees que se interpreta el bucle for del programa C? ¿Por qu´e algunas l´ıneas de sumatorio.c finalizan en punto y coma y otras no? ¿Qu´e diferencias ves entre los comentarios Python y los comentarios C? ·2 1 2

Traduce a C este programa Python.

a = int(raw_input(’Dame el primer n´ umero: ’)) b = int(raw_input(’Dame el segundo n´ umero: ’))

3 4 5 6 7

if a >= b: maximo = a else: maximo = b

8 9

print ’El m´ aximo es’, maximo

· 3 Traduce a C este programa Python. 1 2

n = int(raw_input(’Dame un n´ umero: ’)) m = int(raw_input(’Dame otro n´ umero: ’))

3 4 5 6 7

if n * m == 100: print ’El producto %d * %d es igual a 100’ % (n, m) else: print ’El producto %d * %d es distinto de 100’ % (n, m)

· 4 Traduce a C este programa Python. 1

from math import sqrt

2 3 4 5 6 7 8 9 10

x1 = float(raw_input("Punto 1, coordenada x: ")) y1 = float(raw_input("Punto 1, coordenada y: ")) x2 = float(raw_input("Punto 2, coordenada x: ")) y2 = float(raw_input("Punto 2, coordenada y: ")) dx = x2 - x1 dy = y2 - y1 distancia = sqrt(dx **2 + dy**2) print ’la distancia entre los puntos es: ’, distancia

· 5 Traduce a C este programa Python. 1 2

a = float(raw_input(’Valor de a: ’)) b = float(raw_input(’Valor de b: ’))

3 4 5 6 7 8 9 10 11

if a != 0: x = -b/a print ’Soluci´ on: ’, x else: if b != 0: print ’La ecuaci´ on no tiene soluci´ on.’ else: print ’La ecuaci´ on tiene infinitas soluciones.’

· 6 Traduce a C este programa Python. 1

from math import log

2 3 4 5 6

x = 1.0 while x < 10.0: print x, ’\t’, log(x) x = x + 1.0

· 7 Traduce a C este programa Python. 1 2 3 4

n=1 while n < 6: i=1 while i < 6:

Introducci´ on a la Programaci´ on con C

1

2004/02/10-11:41

5 6 7 8

print n*i, ’\t’, i=i+1 print n=n+1

· 8 Traduce a C este programa Python. 1

from math import pi

2 3 4 5 6 7 8 9 10

opcion = 0 while opcion != 4: print ’Escoge una opci´ on: ’ print ’1) Calcular el di´ ametro.’ print ’2) Calcular el per´ ımetro.’ print ’3) Calcular el ´ area.’ print ’4) Salir.’ opcion = int(raw_input(’Teclea 1, 2, 3 o 4 y pulsa el retorno de carro: ’))

11 12

radio = float(raw_input(’Dame el radio de un c´ ırculo: ’))

13 14 15 16 17 18 19 20 21 22 23 24

if opcion == 1: diametro = 2 * radio print ’El di´ ametro es’, diametro elif opcion == 2: perimetro = 2 * pi * radio print ’El per´ ımetro es’, perimetro elif opcion == 3: area = pi * radio ** 2 print ’El ´ area es’, area elif opcion < 0 or opcion > 4: print ’S´ olo hay cuatro opciones: 1, 2, 3 o 4. T´ u has tecleado’, opcion

· 9 Este programa C incorrecto tiene varios errores que ya puedes detectar. Indica cu´ales son: 1

#include

2 3

int a, b;

4 5 6 7 8 9

scanf ("%d", &a); scanf ("%d", &b) while (a b) { scanf ("%d", &a); scanf ("%d", &b); } printf ("%d %d\n", a, b); return 0; }

· 11 Haciendo pruebas durante el desarrollo de un programa hemos decidido comentar una l´ınea del programa para que, de momento, no sea compilada. El programa nos queda as´ı: 1

#include

2 3 4 5

2

int main(void) { int a, b, i, j; Introducci´ on a la Programaci´ on con C

c 2003 Andr´

es Marzal e Isabel Gracia

6

scanf ("%d", &a); scanf ("%d", &b); i = a; j = 1; while (i