introducción al lenguaje de programación c

Anuncio
Nota: 100
Universidad de Costa Rica | Facultad de Ingeniería
Escuela de Ingeniería Eléctrica | Programación Bajo Plataformas Abiertas
Modulo Python | Laboratorio #13
Erick Carvajal Barboza | B01395
INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C
Escriba un programa que solicite al usuario las coordenadas x y y de dos puntos y calcule, a
partir de esta información, la pendiente y el punto de intersección con el eje y de la recta que
pasa por estos puntos.
Se implemento el siguiente programa:
#include <stdio.h>
//Se define el main
int main() {
//Se definen las variables de entrada
float x1, x2, y1, y2;
//Se definen las variables de salida
float m, b;
//Se piden los valores
printf("Ingrese el valor de x1: ");
scanf("%f", &x1);
printf("Ingrese el valor de y1: ");
scanf("%f", &y1);
printf("Ingrese el valor de x2: ");
scanf("%f", &x2);
printf("Ingrese el valor de y2: ");
scanf("%f", &y2);
//Se hacen los calculos
m = (y1 - y2)/(x1 - x2);
b = y1 - m * x1;
//Se imprime el resultado
printf ("La recta es: %f * x + %f \n", m, b);
//Termina el programa
return 0;
}
Modifique el programa anterior, de forma que el cálculo de la pendiente y la intersección sea
realizado por dos funciones independientes.
Se hace los mismo que en el programa anterior pero se calculan la pendiente y la intersección con
métodos, tal y como se presenta a continuación:
#include <stdio.h>
//Se define el metodo que calcula la pendiente y se llevan a cabo los calculos
float pendiente(float x1, float y1, float x2, float y2) {
float m;
m = (y1 - y2)/(x1 - x2);
return m;
}
//Se define el metodo que calcula la interseccion y se llevan a cabo los calculos
float interseccion(float x1, float y1, float m) {
float b;
b = y1 - m * x1;
return b;
}
//Se define el main
int main() {
//Se definen las variables de entrada
float x1, x2, y1, y2;
//Se definen las vaiables de salida
float m, b;
//Se piden los datos
printf("Ingrese el valor de x1: ");
scanf("%f", &x1);
printf("Ingrese el valor de y1: ");
scanf("%f", &y1);
printf("Ingrese el valor de x2: ");
scanf("%f", &x2);
printf("Ingrese el valor de y2: ");
scanf("%f", &y2);
//Se llama a las funciones para calcula la pendiente y la interseccion
m = pendiente(x1, x2, y1, y2);
b = interseccion(x1, y1, m);
//Se imprime el resultado
printf ("La recta es: %f * x + %f \n", m, b);
//Termina el programa
return 0;
}
Escriba un programa que solicite al usuario un número e imprima todos los divisores de este
número. El programa debe continuar realizando esta operación hasta que el usuario introduzca
un cero.
Se presenta a continuación el programa implementado:
#include <stdio.h>
#include <math.h>
//Se define el main
int main() {
//Se definen variables importantes
int contador, numero, resto;
numero = 1;
//Se utiliza un do - while porque se quiere que la acciòn de pedir numero se realice al menos 1
vez
do {
contador = 1;
//Se pide el número
printf("Ingrese el digito para conocer sus divisore, 0 para salir ");
scanf("%d", &numero);
//Mientras que el contador sea menor al numero se buscarán los numeros para los cuales
el resto es cero, esos son los divisores
while (contador <= numero) {
resto = numero%contador;
if (resto == 0) {
printf ("%d es un divisor de %d \n", contador, numero);
}
contador++;
}
} while (numero != 0);
return 0;
}
Escriba un programa que calcule el máximo común divisor (MCD) de dos números x y y. Puede
utilizar la siguiente fórmula para realizar el cálculo:
x si y = 0
MCD(x, y) = {
MCD(y, x mod y) si x ≥ y y y > 0
Para este programa se utilizo un algoritmo recursivo, tal y como se muestra a continuación
#include <stdio.h>
#include <math.h>
//Metodo que calcula el MCD de forma recursiva, con la definicion otorgada en el laboratorio
int MaxComDiv(int numero1, int numero2) {
int mcd, y;
if (numero2 == 0){
mcd = numero1;
}
if ((numero1 >= numero2) && (numero2 > 0)){
y = numero1 % numero2;
mcd = MaxComDiv(numero2, y);
}
return mcd;
}
int main() {
//Se definen las variables de entrada y salida
int numero1, numero2, mcd;
printf("Este programa calcula el MCD de dos numeros, digite el primer numero: ");
scanf("%d", &numero1);
printf("Digite el segundo numero: ");
scanf("%d", &numero2);
//Si el primer numero es menor al segundo, el metodo MaxComDiv no funcionara
adecuadamente, por eso se llaman de forma que el primero sea mayor
if (numero1 >= numero2) {
mcd = MaxComDiv(numero1, numero2);
}
else {
mcd = MaxComDiv(numero2, numero1);
}
//Se imprime el resultado
printf ("El MCD es: %d", mcd);
return 0;
}
Descargar