Entrada de datos Para la lectura de datos desde el teclado puede utilizarse la función scanf. El formato para scanf es: scanf(“tipo_de_dato”, &variable_destino); ampersand (&) se utiliza para indicar una dirección de memoria de la variable donde se almacenará el dato. Para variables tipo cadena se omite Al ejecutarse la función scanf se detiene la ejecución del programa hasta que se teclee el valor de la variable solicitada. Pueden leerse números (“%d”), un solo carácter (“%c”) o una cadena de caracteres (“%s”). 1 Ejemplo #include <stdio.h> #define anioActual 2017 //constante #define mesActual 1 //constante #define diaActual 26 //constante int main(){ int fechaNacimiento = 0, edad = 0; //inicializamos las variables a 0 printf("Introduce tu fecha de nacimiento: "); //pedimos la fecha de nacimiento fflush(stdout); //vacíamos el buffer de salida scanf("%d", &fechaNacimiento); variable //guardamos el valor introducido en la edad = anioActual - fechaNacimiento; //calculamos la edad printf("Tienes %d años.\n", edad); return 0; } //mostrar la edad Ejercicio Se desea un programa para calcular el área de un triángulo dadas las coordenadas de sus vértices. El área se calcula utilizando la siguiente fórmula: 1 area= ( x 1 y 2 +x 2 y 3 +x 3 y 1− x1 y 3 −x 2 y 1 −x 3 y 2 ) 2 Variables de entrada: x1, x2, x3, y1, y2, y3 Variables de salida: area https://www.mathopenref.com/coordtrianglearea.html 3 Solución //Programa para calcular el área de un triángulo #include <stdio.h> int main() { float x1,x2,x3,y1,y2,y3; // coordenadas del triángulo float area; // área del triángulo printf("Teclee las coordenadas del primer punto:\n"); scanf("%f",&x1); scanf("%f",&y1); printf("Teclee las coordenadas del segundo punto:\n"); scanf("%f",&x2); scanf("%f",&y2); printf("\nTeclee las coordenadas del tercer punto:\n"); scanf("%f",&x3); scanf("%f",&y3); area = (x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)/2.0; printf("área: %f\n", area); return 0; } 4 Esquema de programa simple Un programa simple tiene el siguiente esquema general: • Declaración de variables y constantes • Lectura de datos de entrada • Cálculo de valores de salida • Impresión de resultados 5 Pasos a seguir Los pasos a seguir para elaborar un programa simple son: 1. Determinar las constantes, variables de entrada y de salida y su tipo 2. Escribir la declaración de variables 3. Escribir las sentencias de entrada 4. Escribir las expresiones para realizar los cálculos 5. Escribir las sentencias de salida 6. Probar con algunos valores de entrada 6 Ejemplo Escriba un programa que lea el radio de un círculo e imprima su perímetro y área. Defina el valor de pi como 3.141592. Constates: pi (3.1416) Declaración de constante: float pi = 3.1415926535; Variables de entrada: radio – número real Declaración de variables de entrada: float radio; Variables de salida: area – número real perimetro – número real Declaración de variables de salida: float area, perimetro; 7 Sentencia de entrada: “Escriba el radio del círculo: “; scanf(“%f”,&radio); Cálculo de área y perímetro: area = pi*radio*radio; perimetro = 2*pi*radio; Sentencias de salida: “el área del círculo es: “, area; “el perímetro del círculo es: “, perimetro; 8 Tarea a) Escriba un programa para calcular la magnitud de la fuerza entre dos cargas eléctricas dadas las coordenadas de las cargas y la magnitud de cada carga. La fuerza se calcula con la expresión F=k q1 q 2 2 ( x 2 −x 1 ) + ( y 2 − y 1 ) 2 donde k = 8.99x109 N*m²/C². b) Escriba un programa que lea el valor del área de la superficie de una esfera y calcule e imprima el valor del radio. (área = 4r2). Nota: Utilice la función raíz cuadrada de C (descrita en la siguiente lámina) 9 Funciones matemáticas La biblioteca math.h contiene la definición de muchas funciones matemáticas útiles. El siguiente es un listado breve de algunas funciones. ceil(x)- redondea al entero más pequeño no menor que x. cos(x) - coseno de x. exp(x) - e. x fabs(x)- valor absoluto de x. pow(x,y) - xy. sin(x) - seno de x. sqrt(x)- raíz cuadrada de x. tan(x) - tangente de x. floor(x)- redondea al entero más grande no mayor que x. log(x)- logaritmo natural de x. log10(x)- logaritmo base 10 de x. 10 Ejemplo Cálculo del área de un triángulo conocidas las longitudes de los lados //Programa para calcular el área de un triángulo #include <stdio.h> #include <math.h> int main() { float a,b,c; // lados del triángulo float s; //semiperímetro float area; // área del triángulo printf("Teclee las longitudes de los lados:\n"); // lee los lados scanf("%f",&a); scanf("%f",&b); scanf("%f",&c); s = (a + b + c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c)); printf("área: %f\n", area); return 0; } 11