0% encontró este documento útil (0 votos)
23 vistas11 páginas

Informatica - TP5 2

El documento es un código en C que presenta una serie de ejercicios de programación. Estos ejercicios incluyen la impresión de números, cálculo de promedios, identificación de números positivos y negativos, conversión entre sistemas numéricos, y operaciones con coordenadas en el plano. Cada ejercicio está implementado con bucles y condiciones para realizar cálculos y mostrar resultados en pantalla.

Cargado por

loismaitenafotos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas11 páginas

Informatica - TP5 2

El documento es un código en C que presenta una serie de ejercicios de programación. Estos ejercicios incluyen la impresión de números, cálculo de promedios, identificación de números positivos y negativos, conversión entre sistemas numéricos, y operaciones con coordenadas en el plano. Cada ejercicio está implementado con bucles y condiciones para realizar cálculos y mostrar resultados en pantalla.

Cargado por

loismaitenafotos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

//tp 5

#include <stdio.h>

#include <math.h>
int main(){

// 1. Escribir un programa que presente por pantalla los n�meros del 1 al 20.

int i=1;

for (i=1;i<=20;i++){

printf("%d\n",i);

//2. Ingresar N n�meros, presentar por pantalla el promedio de ellos.

int c = 1;

int n,x,p;

int ac=0;

printf("ingresa la cantidad de numeros que quieres promediar:\n");

scanf("%d",&n);

for(c=1;c<=n;c++){

printf("ingresa el numero que quieres promediar:\n");

scanf("%d",&x);

ac=ac+x;

if(c>n){

p=ac/n;

printf("El promedio es: %d",p);

//3. Se ingresan N n�meros enteros, presentar el promedio de los pares y el


promedio de los impares. El cero no se cuenta.
int c=1, n,x, acp=0, aci=0, cp=0, ci=0;

printf ("ingrese la cantidad de numeros: \n ");


scanf("%d",&n);

for (c=1; c<=n; c++){


printf ("ingrese un numero: \n ");
scanf("%d",&x);

if (x%2==0){
acp=acp+x;
cp++;
}
else {
aci=aci+x;
ci++;
}
}

printf ("El promedio de los pares es: %d \n", acp/cp);


printf ("El promedio de los impares es: %d \n", aci/ci);

// 4. Se ingresan N valores num�ricos. Se desea saber cu�ntos son positivos,


cu�ntos negativos y cu�ntos iguales a cero.

int n, x;

int cp = 0, cc = 0, cn = 0;

printf("Ingresa la cantidad de n�meros:\n");

scanf("%d", &n);

for(int c = 1; c <= n; c++) {

printf("Ingresa el n�mero:\n");

scanf("%d", &x);

if (x > 0) {
cp++;

}
else if (x == 0) {
cc++;

}
else if (x<0) {

cn++;
}
}

printf("Los n�meros positivos son: %d\n", cp);

printf("Los n�meros negativos son: %d\n", cn);

printf("Los n�meros iguales a cero son: %d\n", cc);

// 5. Se ingresan N valores num�ricos. Determinar el mayor y el menor de los


valores ingresados.

int N, v;
int max, min;

printf("Ingrese la cantidad de valores: ");


scanf("%d", &N);

if (N > 0) {

printf("Ingrese un valor : ");


scanf("%d", &v);
max = v;
min = v;

for (int i = 1; i < N; i++) {


printf("Ingrese el valor: ");
scanf("%d", &v);

if (v > max) {
max = v;
}

if (v < min) {
min = v;
}
}

printf("El mayor valor es: %d\n", max);


printf("El menor valor es: %d\n", min);
}
else {
printf("La cantidad de valores debe ser mayor que cero.\n");
}

// 6. Dada la ecuaci�n de la recta y = 2/3 x - 2, ingresar las coordenadas de N


puntos en el plano. Mostrar: a) los puntos pertenecen a la recta, b) los puntos que
est�n arriba y c) los que est�n debajo de ella.

int c,x,y,n;
int pa,pd,pe,f;

printf("ingresar cantidad N puntos en el plano:\n");


scanf("%d",&n);

for(c=0;c<n;c++){
printf("Ingrese la coordenada x del punto:\n");
scanf("%d",&x);
printf ("Ingrese la coordenada y del punto:\n");
scanf("%d",&y);
f=2/3*x-2;
if(y==f){
pe++;
}
else{
if (f<y){
pa=++;
}
else {
pd++;
}
}
}
printf("Los puntos que pertenecen a la recta son: %d \n",pe);
printf("Los puntos que estan arriba de la recta son: %d \n",pa);
printf("Los puntos que estan debajo de la recta son: %d \n",pd);

//7. Ingresar un n�mero natural de 4 o m�s d�gitos, invertir el orden de sus


d�gitos Presentar por pantalla el n�mero ingresado y su invertido

int N, or, ni = 0;

printf("Ingresar un n�mero natural de 4 o m�s d�gitos:\n");


scanf("%d", &N);

if (N < 1000) {
printf("El n�mero debe tener 4 o m�s d�gitos.\n");

or = N;

while (N > 0) {
ni = ni * 10 + N % 10;
N = N / 10;
}

printf("El n�mero original es: %d\n", or);


printf("El n�mero invertido es: %d\n", ni);

//8. Ingresar un n�mero expresado en el sistema binario, convertirlo al sistema


[Link] ambos n�meros en el centro de la pantalla.
int nb, p, nd = 0,c=0;

printf("Ingrese un n�mero en el sistema binario: ");


scanf("%d", &nb);
int x= nb;
while (nb > 0) {
p = nb % 10;
nd += p * pow(2, c);
nb /= 10;
c++;
}

// Presentar ambos n�meros en pantalla


printf("El n�mero en el sistema decimal es: %d\n", nd);
printf("El n�mero en el sistema binario es: %d\n", x);

//9. Ingresar un n�mero, entero positivo, expresado en el sistema decimal,


convertirlo al sistema binario. Presentar por pantalla el n�mero en decimal y en
binario.

int n, d,p=0,b=0,x,x1;

printf("Ingrese un n�mero entero positivo del sistema decimal \n");


scanf("%d", &n);

printf("El n�mero en decimal es: %d \n", n);

d=n;

while (n>0){
x=n%2;
x1=x*pow(10,p);
p=p+1;
b=b+x1;
n=n/2;
}
printf("El n�mero en binario es: %d \n", b);

//10. Ingresar dos n�meros de cuatro d�gitos expresados en el sistema binario,


presentar por pantalla ambos n�meros y su suma

int n1, n2, b1, b2, suma = 0, p = 0, c = 0;


int suma1;

printf("Ingrese un n�mero de cuatro d�gitos del sistema binario: ");


scanf("%d", &n1);
printf("Ingrese otro n�mero de cuatro d�gitos del sistema binario: ");
scanf("%d", &n2);

int originaln1 = n1;


int originaln2 = n2;

while (n1 > 0 || n2 > 0 ) {


b1 = n1 % 10;
b2 = n2 % 10;
int sum = b1 + b2 + c;

if (sum >= 2) {
c= 1;
sum = sum - 2;
}
else {
c = 0;
}

suma1 = suma + sum * pow(10, p);


suma = suma1;
p = p + 1;
n1 = (n1 - b1) / 10;
n2 = (n2 - b2) / 10;
}

printf("Los n�meros son: %04d y %04d\n", originaln1, originaln2);


printf("La suma es: %04d\n", suma);

//11. Ingresar dos n�meros enteros positivos N1 y N2, con N1 < N2 y un n�mero x
cualquiera,presentar por pantalla los m�ltiplos de x comprendidos entre N1 y N2.

int n1, n2, x;

printf("Ingrese un n�mero entero positivo: ");


scanf("%d", &n1);
printf("Ingrese otro n�mero entero positivo mayor que el anterior: ");
scanf("%d", &n2);

printf("Ingrese un n�mero cualquiera: ");


scanf("%d", &x);

printf("Los m�ltiplos son:\n");


for (int i = n1; i <= n2; i++) {
if (i % x == 0) {
printf("%d \n", i);
}
}

//12. Ingresar un n�mero de 4 d�gitos, presentar por pantalla todos sus divisores.

int num;

int i=1;

printf("ingresa un n�mero de 4 digitos\n");

scanf("%d",&num);

while(i<num){

if(num%i==0){

printf("los divisores son %d\n",i);

i++;

//13. Ingresar un n�mero natural N. Sin dividir ni multiplicar determinar si ese


valor es o no par. Presentar por pantalla el resultado.

int n;

printf("Ingrese un n�mero: ");


scanf("%d", &n);

int y = n;
while (n >= 2) {
n -= 2;
}

if (n == 0) {
printf("El n�mero %d es par\n", y);
} else {
printf("El n�mero %d es impar\n", y);
}

//14. Ingresar dos n�meros enteros positivos N1 y N2, con N1 < N2, sumar los
n�meros enteros comprendidos entre N1 y N2. Presentar por pantalla dicha suma y un
mensaje que indique de donde proviene la suma.

int n1, n2, s = 0, c;

printf("Ingrese un n�mero entero positivo (N1): \n");


scanf("%d", &n1);
printf("Ingrese un n�mero entero positivo mayor que N1 (N2): \n");
scanf("%d", &n2);

c = n1 + 1;
printf("Los n�meros comprendidos entre %d y %d son: \n", n1, n2);

while (c < n2) {


s = s + c;
printf("%d ", c);
c++;
}

printf("\nLa suma de los n�meros comprendidos entre %d y %d es: %d\n", n1, n2,
s);

//15. Ingresar un valor L encuentre el valor de N de manera tal que se cumpla que:
1 + 2 + 3 + 4 +. . .+ N <= L Presentar por pantalla el valor de N.
int L, N = 0, ac = 0;

printf("Ingrese un valor L: ");


scanf("%d", &L);

while (ac <= L) {


N++;
ac = ac+N;
}
if (ac > L) {
N=N-1;
printf("El valor de N es: %d\n", N);
}

//16. Si se ingresa un n�mero natural presentar por pantalla el desarrollo del


factorial de dicho n�mero, como as� tambi�n el valor del [Link]: 8! = 8
* 7 * 6 * 5 * 4 * 3 * 2 * 1

int fact=1;

int f;

printf("ingresa un n�mero natural\n");

scanf("%d",&f);

while(f>1){

printf(" %d *",f);

fact=fact*f;

f--;

printf(" 1 = %d",fact);

//17. Ingresar las coordenadas de N puntos en el plano, las mismas forman con el
origen de coordenadas un tri�ngulo rect�ngulo. Presentar por pantalla la suma de
las superficies negativas y la suma de las positivas, indicar adem�s la cantidad de
tri�ngulos en cada cuadrante.

int acp = 0, acn = 0, cp = 0, cn = 0;


int t1 = 0, t2 = 0, t3 = 0, t4 = 0;
int n, x, y, s;

printf("Ingrese la cantidad de puntos en la gr�fica: ");


scanf("%d", &n);

for (int i = 0; i < n; i++) {


printf("Ingrese la coordenada x del punto %d: ", i + 1);
scanf("%d", &x);
printf("Ingrese la coordenada y del punto %d: ", i + 1);
scanf("%d", &y);

s = (x * y) / 2;

if (s < 0) {
acn += s;
cn++;
} else {
acp += s;
cp++;
}

if (x > 0 && y > 0) {


t1++;
} else if (x < 0 && y > 0) {
t2++;
} else if (x < 0 && y < 0) {
t3++;
} else if (x > 0 && y < 0) {
t4++;
}
}

printf("La suma de las superficies negativas es: %d\n", acn);


printf("La suma de las superficies positivas es: %d\n", acp);
printf("Cantidad de tri�ngulos en el primer cuadrante: %d\n", t1);
printf("Cantidad de tri�ngulos en el segundo cuadrante: %d\n", t2);
printf("Cantidad de tri�ngulos en el tercer cuadrante: %d\n", t3);
printf("Cantidad de tri�ngulos en el cuarto cuadrante: %d\n", t4);

//18. Dados 4 c�rculos conc�ntricos simulando un blanco para tiro, con centro en
(0,0) y cuyos radios y puntajes son los siguientes:
/* a) c�rculo 1 radio = 1 para r<=1 : 4 puntos
b) c�rculo 2 radio = 2 para r>1 y r<=2 : 3 puntos
c) c�rculo 3 radio = 3 para r>2 y r<=3: 2 puntos
d) c�rculo 4 radio=4 para r>3 y r<=4: 1 punto
Si se ingresan las coordenadas de N puntos en el plano, presentar por pantalla
el puntaje total obtenido por la posici�n de los puntos y su promedio
*/
int i, ac=0,r=0,n,x,y,c=1,p;

printf("ingresar cantidad N puntos en el plano:\n");


scanf("%d",&n);

while(c<=n){
printf("ingresar coordenada x del punto \n");
scanf("%d",&x);
printf("ingresar coordenada y del punto\n");
scanf("%d",&y);
c=c+1;
}
r = sqrt(x * x + y * y); ;

for(i=1;i<=n;i++){
if (r<=1){
ac=ac+4;
}
else if (r<=2){
ac=ac+3;
}
else if (r<=3){
ac=ac+2;
}
else if (r<=4){
ac=ac+1;
}
}
p=ac/n;
printf("el puntaje total obtenido %d \n" ,ac);
printf("el promedio de puntos es %d \n" ,p);

/*19. Un pobre le dijo a un rico: " cada d�a le pagar� $100. A cambio, Ud. me dar�
el primer d�a
$1, el segundo $2, el tercero $4, el cuarto $8, es decir cada d�a el doble del
anterior, y as�
hasta terminar el mes de 30 d�as". Calcular:
a) las cantidades entregadas por el rico y por el pobre,
b) a partir de qu� d�a el rico le dio m�s dinero al pobre, si es que esto
ocurri�.*/

int i=1, dias=30,cp=0,cr=0,acp=0;

while (i<=dias){
cp=cp+100;
cr= i*2+cr;
if (cp<cr){
printf (" el dia %d el rico dio mas dinero que el pobre\n",i);
}
i++;
}
printf ("el rico dio %d\n",cr);
printf ("el pobre dio %d\n",cp);

/*20. Un juego consiste en tirar un dado y sumar sus puntos hasta que el valor
obtenido en
un tiro sea par. Dise�ar un algoritmo que pida el valor del tiro y presente por
pantalla
la cantidad de tiros y el puntaje total, sin contar el �ltimo tiro. */

int d, Puntaje = 0, cT = 0,i = 0,n;

while (1) {
printf("Ingrese el valor del tiro: ");
scanf("%d", &d);
cT++;

if (d % 2 == 0) {
break;
} else {
Puntaje =Puntaje + d;
}
}

printf("La cantidad de tiros (sin contar el �ltimo tiro) es: %d\n", cT - 1);
printf("El puntaje total (sin contar el �ltimo tiro) es: %d\n", Puntaje);
return 0;

También podría gustarte