You are on page 1of 6

Práctica 3:

Introduciendo datos por el teclado, bucles y condicionantes

Alejandro Roman Lopez*, Alan Mauricio Vazquez Benitez**


, Christian Moises De La Rosa Flores ***
,
****
Denilson Adrian Jimenez Sandoval, and Paola Olmedo Perez *****

Universidad Autónoma Metropolitana, Unidad Azcapotzalco. México DF.

27 de febrero del 2023

Resumen 4 printf (" Introduce un n m e r o : ") ;

Después de ingresar los datos, es posible realizar ope-


El lenguaje C presenta diversas opciones a la hora de
raciones repetidas mediante el uso de bucles. En el len-
crear un código. Dentro de estas se encuentran las fun-
guaje de programación C, la estructura for es una de
ciones (printf, main, scanf), las cuales ayudan a una me-
las formas más utilizadas para crear bucles. Un ejemplo
jor estructuración y simplificación de nuestro programa;
concreto de cómo emplear un bucle for es para imprimir
y están definidas en una biblioteca (stdio.h). Estas fun-
los números del 1 al 10, son algunos ejemplos de pero no
ciones al ejecutarse pueden devolver valores, el cual ya
lo es todo como se menciono anteriormente para crear
se ha indicado con anterioridad. En estas funciones se
bucles en C se utilizan variables for, while y if-else. La
definen variables las cuales solo se pueden utilizar en esa
variable for utiliza tres expresiones: inicialización, con-
misma función. En el cuerpo de la función va el código
dición de continuidad y expresión de iteración para esta-
de esta. Y los argumentos son variables utilizadas como
blecer una variable antes de comenzar el bucle, evaluar
datos, que pueden estar o no en dichas funciones. En es-
si el bucle debe continuar y actualizar la variable al final
ta ocasión se analizan diversas funciones presentadas en
de cada iteración. Los condicionales if-else son estruc-
códigos.
turas de control de flujo que permiten tomar decisiones
en función de una condición dada. La estructura if-else
1. Introduccion evalúa una condición y ejecuta un bloque de código si
la condición es verdadera o un bloque de código alter-
En el lenguaje C,tenemos infinidad de opciones y fun- nativo si es falsa. Los condicionales if-else se utilizan a
ciones que podemos usar para dar estructura y variedad menudo dentro de bucles para controlar el flujo del pro-
a nuestro programa, en esta practica veremos algunas de grama. La variable while es otra estructura de control
ellas que se pueden utilizar para dar entrada a bucles y de flujo que utiliza una condición de continuidad para
condicionantes. Por ejemplo se puede utilizar la función evaluar si el bucle debe continuar o no. Mientras la con-
scanf(). Esta función permite al usuario ingresar datos y dición sea verdadera, el bucle se ejecuta de nuevo. Las
almacenarlos en variables. Por ejemplo, para que ingre- variables while se utilizan a menudo para crear bucles
se un número entero y almacenarlo en la variable num, que se ejecutan un número desconocido de veces.
se puede escribir:
1
2
2. Desarrollo
3 int num ;
1. Encuentra los errores en el siguiente programa
* al2223033745@azc.uam.mx
1 # include < stdio .h >
** al2223036595@azc.uam.mx
2 int main () {
*** al2222005827@azc.uam.mx
3 int numero ;
**** al2212006349@azc.uam.mx
4 printf ( " Introduce un numero : " ) ;
***** al2172005991@azc.uam.mx 5 scanf ( " %d " , numero ) ;

1
6 printf ( " \ nHas introducido el numero %d El programa en un principio nos pedira 1 numero. Por-
.\ n " , numero ) ; que al indicar punto y coma en la linea 5 estamos cam-
7 return 0;
biando la condicion del bucle for.
El error se encuentra en la linea 5 donde scanf
4. Del programa anterior revise cual punto y coma se de-
1
2 (" % d " , numero ) ;. be eliminar y una vez eliminado ¿cuantas veces nos pide
el numero?
La funcion scanf() espera una direccion de memoria y
1 for ( i =0; i <4; i ++)
se proporciona esa direccion utilizando el operador &.
Se debe usar &numero en lugar de solo ”numero”. si nosotros eliminamos el punto y coma al final de la
funcion for, permitiendo cambiar la condicion y poner
2.Escriba un programa que pida 3 numeros; un float, un mas numeros
double y un int y a continuacion los muestre en pantalla.
5. Escriba un programa que muestre en pantalla lo si-
guiente
1 # include < stdio .h >
2
3 int main () {
4 float num_float ;
5 double num_double ;
6 int num_int ;
7
8 printf ( " Ingrese un numero float : " ) ;
9 scanf ( " %f " , & num_float ) ;
10
11 printf ( " Ingrese un numero double : " ) ;
12 scanf ( " %lf " , & num_double ) ;
13
14 printf ( " Ingrese un numero entero : " ) ; 1 # include < stdio .h >
15 scanf ( " %d " , & num_int ) ; 2

16 3 int main () {
17 printf ( " El numero float es : %f \ n " , 4 int n = 4;
num_float ) ; 5 for ( int i = 1; i <= n ; i ++) {
18 printf ( " El numero double es : %lf \ n " , 6 for ( int j = 1; j <= i ; j ++) {
num_double ) ; 7 printf ( " * " ) ;
19 printf ( " El numero entero es : %d \ n " , 8 }
num_int ) ; 9 printf ( " \ n " ) ;
20 10 }
21 return 0; 11 return 0;
22 } 12 }

El siguiente programa utiliza dos bucles for anidados pa-


3.¿Cuantas veces el programa nos pide un numero y ra imprimir el patrón. El bucle exterior itera n veces, una
porque? vez por cada fila del triángulo. El bucle interior itera i
veces, donde i es el número de la fila actual, e imprime i
1 # include < stdio .h >
2 int main () {
asteriscos en cada fila.
3 int i ;
4 int numero , suma = 0; 6. Escribe un programa que pida un numero al usuario
5 for ( i =0; i <4; i ++) { hasta que el usuario introduzca -1.
6 printf ( " \ nIntroduce un numero : " ) ;
7 scanf ( " %d " , & numero ) ; 1 # include < stdio .h >
8 suma += numero ; 2
9 } 3 int main () {
10 printf ( " \ nTotal : %d \ n " , suma ) ; 4 int num = 0;
11 return 0; 5
12 } 6 while ( num != -1) {
7 printf ( " Introduce un numero : " ) ;

2
8 scanf ( " %d " , & num ) ; 6 printf ( " Por favor introduce una letra :
9 } ");
10 7 scanf ( " %c " , & letra ) ;
11 printf ( " Has salido del bucle . Adios !\ n " 8
); 9 switch ( letra ) {
12 return 0; 10 case ’a ’:
13 } 11 printf ( " La letra es la vocal A
.\ n " ) ;
Cuando nosotros indicamos la funcion While, estamos12 break ;
diciendole a la computadora que al ejecutar el numero13 case ’e ’:
14 printf ( " La letra es la vocal E
de la condicion, saldremos del bucle. .\ n " ) ;
15 break ;
7. Escriba un programa que revise si un año dado es bi-16 case ’i ’:
ciesto, divisible por 4 pero no divisible entre 100 a me-17 printf ( " La letra es la vocal I
.\ n " ) ;
nos que sea divisible en 400 18 break ;
1 # include < stdio .h > 19 case ’o ’:
2 20

3 int es_bisiesto ( int anio ) { 21 printf ( " La letra es la vocal O


4 if ( anio % 4 == 0 && ( anio % 100 != 0 .\ n " ) ;
|| anio % 400 == 0) ) { 22 break ;
5 return 1; 23 case ’u ’:
6 } else { 24

7 return 0; 25 printf ( " La letra es la vocal U


8 } .\ n " ) ;
9 } 26 break ;
10 27 default :
11 int main () { 28 printf ( " La letra no es una
12 int anio ; vocal .\ n " ) ;
13 printf ( " Ingrese un ano para saber si es 29 break ;
biciesto : " ) ; 30 }
14 scanf ( " %d " , & anio ) ; 31

15 32 return 0;
16 if ( es_bisiesto ( anio ) ) { 33 }

17 printf ( " %d es un ano bisiesto .\ n " ,


anio ) ; Para este programa se utilizo la funcion Switch, la cual
18 } else { permite tener varias acciones segun el valor de la varia-
19 printf ( " %d no es un ano bisiesto .\ n ble.
" , anio ) ;
20 }
21
9. Escriba un programa que dado un numero ingresado
22 return 0; regrese a su factorial, desarrollando dentro del programa
23 } la opcion iterativa de la operacion.
Se usa la funcion for para definir si es biciesto o no, si 1 # include < stdio .h >
2
la condición se cumple, lo que significa que el año es 3 int main () {
divisible por 4 y no es divisible por 100 o es divisible 4 int num , factorial = 1;
por 400, la función devuelve 1, lo que indica que el año 5
es bisiesto. De lo contrario, devuelve 0, lo que indica que 6 printf ( " Ingrese un n m e r o para
calcular su factorial : " ) ;
el año no es bisiesto. 7 scanf ( " %d " , & num ) ;
8
8. Escriba un programa que al ingresar una vocal dada, 9 for ( int i = 2; i <= num ; i ++) {
nos indique si es vocal o no. 10 factorial *= i ;
11 }
1 # include < stdio .h > 12
2 13 printf ( " El factorial de %d es %d \ n " ,
3 int main () { num , factorial ) ;
4 char letra ; 14
5 15 return 0;

3
16 } 6
7 printf ( " Ingresa el numero de
Se utiliza un bucle ”for”para calcular el factorial de estudiantes : " ) ;
un número. Se inicializa en 1 y se multiplica por cada 8 scanf ( " %d " , & num_estudiantes ) ;
número entero desde 2 hasta el número ingresado. El re- 9
sultado del factorial se almacena en la variable factorial.10 printf ( " Ingresa el numero de pruebas
por estudiante : " ) ;
El programa solicita al usuario que ingrese un número11 scanf ( " %d " , & num_pruebas ) ;
y usando la función ”scanfçalcula el factorial del núme-12
ro ingresado utilizando un enfoque iterativo, almacena13 for ( i = 1; i <= num_estudiantes ; i ++)
el resultado en una variable llamada factorial e impri- {
14 suma = 0.0;
me el resultado. 15 for ( j = 1; j <= num_pruebas ; j ++)
{
10. Escriba un programa que dibuje el triangulo de pas-16 printf ( " Ingresa la calificacion
cal, tal que pregunte el nivel. de la prueba %d para el estudiante %d :
", j, i);
1 # include < stdio .h > 17 scanf ( " %f " , & calif ) ;
2 18 suma += calif ;
3 int main () { 19 }
4 int nivel , i , j ; 20 printf ( " El promedio de calificacion
5 del estudiante %d es : %.2 f \ n " , i , suma
6 printf ( " Introduce el nivel del / num_pruebas ) ;
triangulo de Pascal : " ) ; 21 }
7 scanf ( " %d " , & nivel ) ; 22
8 23 return 0;
9 int pascal [ nivel ][ nivel ]; 24 }
10 for ( i = 0; i < nivel ; i ++) {
11 pascal [ i ][0] = 1; El programa comienza por pedir al usuario que ingrese
12 pascal [ i ][ i ] = 1; el número de estudiantes y el número de pruebas que se
13 }
14 for ( i = 2; i < nivel ; i ++) {
aplicaron a cada uno. Luego, utiliza un bucle for anidado
15 for ( j = 1; j < i ; j ++) { para solicitar al usuario las calificaciones de cada prueba
16 pascal [ i ][ j ] = pascal [i -1][ j -1] para cada estudiante, y acumula la suma de estas califi-
+ pascal [i -1][ j ]; caciones en la variable ”suma”. En el segundo bucle for,
17 }
18 }
se calcula el promedio de las calificaciones para cada es-
19 for ( i = 0; i < nivel ; i ++) { tudiante dividiendo la suma acumulada por el número de
20 for ( j = 0; j <= i ; j ++) { pruebas, y se imprime el resultado utilizando printf(). El
21 printf ( " %d " , pascal [ i ][ j ]) ; programa finaliza con la instrucción return 0.
22 }
23 printf ( " \ n " ) ;
24 }
25 return 0; 3. Experimentos
26 }

Se utiliza este codigo para dibujar la torre de pascal,


utilizandose la opcion for para generar un bucle con el
resto de las variables.

11.Escriba un programa que lea el numero de estu-


diantes, el numero de pruebas por estudiante y califica-
cion de cada prueba, regrese el promedio de calificacion
por estudiante.
1 # include < stdio .h >
2
3 int main () {
4 int num_estudiantes , num_pruebas , i , j ;
Figura 1: Imagen que muestra los resultados de ejecu-
5 float calif , suma ; cion del codigo.

4
Figura 2: Imagen que muestra los resultados de ejecu- Figura 6: Imagen que muestra los resultados de ejecu-
cion del codigo. cion del codigo 6.

Figura 3: Imagen que muestra los resultados de ejecu-


cion del codigo 3.

Figura 7: Imagen que muestra los resultados de ejecu-


cion del codigo 7.

Figura 4: Imagen que muestra los resultados de ejecu-


cion del codigo despues de eliminar punto y coma.

Figura 8: Imagen que muestra los resultados de ejecu-


cion del codigo 8.

Figura 5: Imagen que muestra los resultados de ejecu-


cion del codigo 5. Figura 9: Imagen que muestra los resultados de ejecu-
cion del codigo 9.

5
https://docplayer.es/amp/1791816-Lenguaje-c-
bucles-condicionales-operadores-y-algoritmos.html

[2] Introduciendo datos por teclado - Len-


guaje de programación C. (s.f.). Au-
laFacil.com - Cursos Online Gratis.
https://www.aulafacil.com/cursos/programacion/lenguaje-
de-programacion-c/introduciendo-datos-por-
teclado-l16653
Figura 10: Imagen que muestra los resultados de ejecu-
cion del codigo 10.

Figura 11: Imagen que muestra los resultados de ejecu-


cion del codigo 11.

4. Conclusiones
Hemos notado la valiosas que son las condicionales
al momento de escribir un código pues estas nos dan
la pauta para controlar el flujo de información que con-
tendrá nuestro programa a diferencia de los bucles que
también fue una parte muy interesante de esta práctica
pues esta nos ayuda a ser repetitivos o bien formar ite-
raciones, nuevamente hacemos notar que cada caso es
diferente y que debemos saber en que momento utilizar-
lo para que sea más fácil el programar. Hay un sin fin de
variables dentro de los bucles y cada una de ellas con-
tiene caracterı́sticas diferentes, lo pudimos notar en el
desarrollo de la práctica, gracias a ello se nos hizo más
explı́cito la forma en cada una de estas funciona y cuan-
do seria el caso más propio para utilizar.

Referencias
[1] Montes, Á. H. (2015, 7 de septiembre). Lenguaje
C Bucles, Condicionales, operadores y Algoritmos.
Omar Andrés Zapata Mesa Grupo de Fenomenolog.
Le proporcionamos las herramientas cómodas y
gratuitas para publicar y compartir la información.

You might also like