Práctico 6: bucles, resolucion de problemas

Parte 1: bucles do-while, pruebas de escritorio

1.1. Programas con bucles do-while

/* 1.1 */
int i = 0;
do
  i = i + 1;
while (i < 4);
/* 1.2 */
int i = 10;
do
  i = i + 1;
while (i < 4);
/* 1.3 */
int i = 3;
int a = 0;
do {
  i = i + 1;
  a = a + i;
}
while (i < 3);
while (i < 5){
 i = i + 2;
 a = a + i;
}

1.2. Programas con bucles anidados

/* 3.1 */
int i=0;
int j=0;
while (i < 3){
  while (j < 3)
    j = j + 1;
  i = i + 1;
}
/* 3.2 */
int i=0;
int j=0;
int a=0;
while (i < 4){
  if (i % 2 == 0){
    while (j < i){
      a = a + 1;
      j = j + 1;
    }
  } else
    a = a - 2;
  i = i+1;
}

1.3. Salida de programas

Acá no se trata de hacer pruebas de escritorio. En cambio, la consigna es decir cuál va a ser la salida cuando ejecutamos los programas siguientes.

/* 4.1 */
int i = 0;
int a = 20;
while(i < a){
  i = i + 1;
  a = a - 2;
  printf("%d < %d ?", i, a);
}
/* 4.2 */
int a = 0;
int b = 0;
while(a <= 10){
  b = 10 - a;
  if (b % 3 == 0){
    printf("%d", b);
  }
  a = a + 1;
}

Parte 2: Resolución de problemas (sin bucles)

Escribí programas que permitan resolver los siguientes problemas. Podés agregar los mensajes apropiados para que el usuario se oriente:

  1. Ingresar dos valores numéricos, calcular su suma y mostrar el resultado.
  2. Ingresar un valor numérico, calcular y publicar el cubo de dicho número.
  3. Ingresar dos valores numéricos, que representan la base y la altura de un rectángulo. Calcular y publicar su perímetro y superficie.
  4. Ingresar la base de un triángulo, y calcular su área sabiendo que la altura es igual al doble de la base.
  5. Ingresar 3 valores numéricos, calcular y publicar su promedio.
  6. Ingresar dos valores numéricos diferentes, identificar y publicar el mayor de ellos.
  7. Ingresar 4 datos enteros denominados I, J, K y L. Si I/J es igual a K/L, publicar un mensaje indicando que los cocientes son iguales. Verificar que ambos divisores sean distintos de cero.
  8. Ingresar la cantidad de bancos de un aula, y la cantidad de alumnos inscriptos para trabajar en esa aula. Determinar si alcanzan los bancos disponibles para todos los alumnos. De no ser así, especificar cuántos bancos es necesario agregar en el aula.

En cada caso codificá la solución en lenguaje C.

Parte 3: Resolución de problemas (en general)

Escribí programas que permitan resolver los siguientes problemas. Podés agregar los mensajes apropiados para que el usuario se oriente:

  1. Ingresar un valor entero positivo nn, imprimir todos los enteros desde nn hasta 00.
  2. Ingresar un valor entero positivo nn, imprimir n/2n/2, luego n/4n/4, etc. hasta 00.
  3. Ingresar un valor entero nn, imprimir todos sus divisores.
  4. Ingresar un valor nn, luego nn enteros, y determinar el mayor de todos.
  5. Ingresar nn datos numéricos. Entre todos los datos mayores que 100, identificar y publicar el menor.
  6. Ingresar nn datos numéricos. Identificar y publicar el mayor y el menor de todos, y en qué posición se encuentra cada uno
  7. Ingresar y sumar una serie de números positivos. La carga finaliza cuando se ingresa un valor negativo. Imprimir la suma resultante
  8. Ingresar nn datos numéricos. Contar e imprimir la cantidad de valores que son mayores que el primer dato ingresado.

Codificá la solución para cada problema en lenguaje C.