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
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