SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
2012
M.Sc. Ana María Salgado G.
UNAN - LEON
24/04/2012
Bucles anidados
Ciclos anidados
2
Bucles anidados
Los bucles anidados constan de un bucle externo con uno o más bucles internos. Cada vez
que se repite el bucle externo, los bucles internos se repiten, se vuelven a evaluar los
componentes de control y se ejecutan todas las iteraciones requeridas.
Ejemplo # 1
#include <stdio.h>
void main(void)
{
int i, y;
for(i = 1; i< =3; i++)
{
for(y = 1; y < =2; y++)
printf("#t");
printf("n");
}
}
Ejemplo # 2
#include<stdio.h>
void main(void)
{
int i, y;
for(i = 1; i<=2; i++)
{
for(y = 1; y<=3; y++)
printf("$t");
printf("n");
}
}
Ciclos anidados
3
Ejemplo #3:
//anidamiento1.c
#include <stdio.h>
int x,y, xultimo = 2, yultimo = 4;
void main(void)
{
for(x = 1; x <= xultimo; x++)
for(y = 1; y <= yultimo; y++)
{
int producto;
producto = x * y;
printf(" %d * %d = %d n",x,y,producto);
}
}
Ejemplo #4:
//anidamiento2.c
#include <stdio.h>
int i,j;
void main(void)
{
printf("n tt i t j n");
for(i = 0; i < 4; i++)
{
printf("Externo t %d n",i);
for(j = 0; j < i; j++)
printf("Interno tt %d n",j);
}
}
Ciclos anidados
4
Ejemplo #5:
Realice un programa que calcule el promedio de tres notas para 10 alumnos. El ejemplo
de una salida puede ser:
Nombre del alumno #1: Luis Pérez
Materia: Matemática Básica
Nota 1: 100
Nota 2: 90
Nota 3: 90
El promedio es: 93.33
//alumnosanidados2.c
#include<stdio.h>
#include <string.h>
char nombre[100];
char materia[70];
int i,k,nota;
float promedio,sumparc;
Ciclos anidados
5
void main(void)
{
for(i=1;i<=5;i++)
{
printf("Nombre del alumno #%d: ",i);
fflush(stdin);
gets(nombre);
sumparc=0;
printf("Materia: ");
fflush(stdin);
gets(materia);
for(k=1;k<=3;k++)
{
printf("Nota %d: ",k);
scanf("%d",&nota);
sumparc=sumparc + nota;
}//fin del for k
promedio=sumparc/3;
printf("El promedio es:%.2fnnn",promedio);
}//fin del for padre
}
Ciclos anidados
6
Ejemplo #6:
La función factorial se aplica a enteros positivos. El factorial de un entero positivo n es
(!n) es igual al producto de los enteros positivos del 1 al n. Escriba un programa que
calcule los factoriales de los enteros del 1 al 5.
Ejemplo: !3 = 1*2*3 = 6
Sugerencia: Primero calcular el factorial para un solo número, luego introducir un
ciclo que vaya del 1 al 5.
//factorialanidado3.c
#include <stdio.h>
void main(void)
{
int num, i;
long fac;
//printf("Ingrese el numero: ");
//scanf("%d",&num);
for(num = 1; num <= 5; num++)
{
fac = 1;
for(i = 1; i <= num; i++)
fac = fac * i;
printf("nEl factorial de %d es: %ldn",num,fac);
}
}
Ciclos anidados
7
Ejemplo #7:
Escriba un programa que calcule y visualice:
1! + 2! + 3! + … + (n – 1)! + n!
//factorialanidado2.c
#include <stdio.h>
void main(void)
{
int n, i = 1, m;
float fact, suma = 0;
printf("Ingrese el valor de n: ");
scanf("%d",&n);
do
{
fact = 1;
m = i;
while(m > 1)
{
fact *= m;
m--;
}
suma+=fact;
printf("t %d! = %0.f n",i,fact);
i++;
}while(i <= n);
printf("ntsuma = %0.fnn",suma);
}
Ciclos anidados
8
Ejemplo #8:
El siguiente programa imprime una tabla de m filas por n columnas y un carácter de
entrada.
//filascolumnas.c
#include <stdio.h>
int filas, columnas;
int i, j;
char elCar;
void main()
{
printf("¿Cuantas filas?: ");
scanf("%d",&filas);
printf("¿Cuantas columnas?: ");
scanf("%d",&columnas);
printf("¿Que caracter?:");
fflush(stdin);
elCar=getchar();
/* bucle externo */
for(i = 0; i < filas; i++)
{
/*bucle interno */
for(j = 0; j < columnas; j++)
putchar(elCar);
putchar('n');
}
}
Ciclos anidados
9
Ejercicios resueltos
1. Diseñar e implementar un programa que solicite a su usuario un valor no
negativo n y visualice la siguiente salida:
1 2 3 … n-1 n
1 2 3 … n-1
….
1
Solución en Lenguaje C:
//triangulonum.c
#include <stdio.h>
int k, i ,n;
void main(void)
{
do
{
printf("Introduzca un valor entero:");
scanf("%d",&n);
}while(n<=0);
i = n;
while(i >= 1)
{
k = 1;
while(k <= i)
{
printf("%dt",k);
k++;
}
printf("n");
i--;
}
}
Ciclos anidados
10
2. Una aplicación de las computadoras es dibujar gráficos de barra(llamados
histogramas). Escriba un programa que dibuje un gráfico como el siguiente donde la
cantidad de asteriscos de cada línea corresponda al número que está a la par.
Solución en Lenguaje C:
/*histogra.c*/
#include<stdio.h>
int naster,nlineas,i;
void main(void)
{
for(nlineas=3;nlineas<=9;nlineas++)
{
if(nlineas % 2!=0)
{
printf("%d.| ",nlineas);
for(naster=1;naster<=nlineas;naster++)
printf("*");
printf("n");
}
else
printf(" |n");
}//fin del for padre
3. | ***
|
5. | *****
|
7. | *******
|
9. | *********
|____________
Ciclos anidados
11
printf(" |");
for(i=1;i<=12;i++)
printf("_");
printf("nn");
}//fin del programa
3. Diseñar un programa que produzca la siguiente salida:
ZYXWVUTSRQPONMLKJIHGFEDCBA
YXWVUTSRQPONMLKJIHGFEDCBA
XWVUTSRQPONMLKJIHGFEDCBA
WVUTSRQPONMLKJIHGFEDCBA
VUTSRQPONMLKJIHGFEDCBA
UTSRQPONMLKJIHGFEDCBA
TSRQPONMLKJIHGFEDCBA
SRQPONMLKJIHGFEDCBA
RQPONMLKJIHGFEDCBA
QPONMLKJIHGFEDCBA
PONMLKJIHGFEDCBA
ONMLKJIHGFEDCBA
NMLKJIHGFEDCBA
MLKJIHGFEDCBA
LKJIHGFEDCBA
KJIHGFEDCBA
JIHGFEDCBA
IHGFEDCBA
HGFEDCBA
GFEDCBA
FEDCBA
EDCBA
DCBA
CBA
BA
A
Ciclos anidados
12
Solución en Lenguaje C:
//abc.c
#include <stdio.h>
int i , fila;
char caracter = 'Z';
void main(void)
{
for(fila = 1; fila <= 28; fila++)
{
for(i = caracter; i >= 'A'; i--)
{
printf("%c",i);
}
caracter--;
printf("n");
}
}
4. Escribir un programa que dé como resultado la siguiente figura:
* * * * * * * * *
* * * * * * * * *
* * * * * * * * *
* * * * * * * * *
* * * * * * * * *
* * * * * * * * *
Ciclos anidados
13
Solución en Lenguaje C:
//diamanteirregular.c
#include <stdio.h>
int fil, col;
void main(void)
{
for(fil = 1; fil <= 6; fil++)
{
if(fil %2 == 0)
printf(" ");
for(col = 1; col <= 9; col++)
printf("* ");
printf("n");
}
}
Ciclos anidados
14
Ejercicios propuestos
1. Escribir un programa que visualice la siguiente salida:
1
1 2
1 2 3
1 2 3 4
1 2 3
1 2
1
2. Se desea obtener el promedio de g grupos que están en un mismo año escolar;
siendo que cada grupo puede tener n alumnos, que cada alumno puede llevar m
materias y que en todas las materias se promedian tres calificaciones para obtener
el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos,
el promedio de cada grupo y el promedio de cada alumno.
3. El profesor de una materia desea conocer la cantidad de sus alumnos que no
tienen derecho al examen de nivelación.
Diseñe un programa que lea las calificaciones obtenidas en las 5 unidades por cada
uno de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al
examen de nivelación.
4. Escriba un programa que imprima la forma en diamante siguiente. Puede utilizar
enunciados printf que impriman ya sea un (*), o un espacio en blanco. Maximice
su utilización de repeticiones(utilizando estructuras for anidadas) y minimice el
número de enunciados printf.
*
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * *
* * * *
* *
*
Ciclos anidados
15
5. Realice un programa que dé como salida lo siguiente:
6. Escriba un programa que imprima los siguientes patrones por separado, uno
debajo del siguiente. Utilice ciclos for para generar los patrones. Todos los
asteriscos deberán ser impresos por un solo enunciado printf de la forma
printf(“*”); esto hace que los asteriscos se impriman uno al lado del otro.
Sugerencia: los dos últimos patrones requieren que cada línea empiece con un
número correcto de espacios en blanco.
(A) (B) (C) (D)
* ********** ********** *
** ********* ********* **
*** ******** ******** ***
**** ******* ******* ****
***** ****** ****** *****
****** ***** ***** ******
******* **** **** *******
******** *** *** ********
********* ** ** *********
********** * * **********
7. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres
ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo
base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía
desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de
comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo
base y sus comisiones.
*
**
***
****
*****
******
*******
********
*********

Weitere ähnliche Inhalte

Was ist angesagt?

Ejercicios de antiderivadas
Ejercicios de antiderivadasEjercicios de antiderivadas
Ejercicios de antiderivadasAlan Lopez
 
20 ejercicios propuestos
20 ejercicios propuestos20 ejercicios propuestos
20 ejercicios propuestosSykesPonce
 
Diseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDiseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDaniel Zavala
 
Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana. Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana. Carlos Aviles Galeas
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltosfermodcor
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos1002pc16
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
Expresiones aritmetica
Expresiones aritmeticaExpresiones aritmetica
Expresiones aritmeticaCarlos Mauneul
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
EJEMPLO DE ALGORITMOS ESTRUCTURADOS
EJEMPLO DE ALGORITMOS ESTRUCTURADOS EJEMPLO DE ALGORITMOS ESTRUCTURADOS
EJEMPLO DE ALGORITMOS ESTRUCTURADOS Edwin Vega Orozco
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoDiana Florez
 
Ejemplos de vectores en java
Ejemplos de vectores en javaEjemplos de vectores en java
Ejemplos de vectores en javaloko_92
 

Was ist angesagt? (20)

Ejercicios de antiderivadas
Ejercicios de antiderivadasEjercicios de antiderivadas
Ejercicios de antiderivadas
 
ejercicios-pascal
ejercicios-pascalejercicios-pascal
ejercicios-pascal
 
20 ejercicios propuestos
20 ejercicios propuestos20 ejercicios propuestos
20 ejercicios propuestos
 
Diseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDiseño de algoritmos usando pseint
Diseño de algoritmos usando pseint
 
Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana. Redondear un número entero ingresado a la decena y centena más cercana.
Redondear un número entero ingresado a la decena y centena más cercana.
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Strrev
StrrevStrrev
Strrev
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
 
Ejercicios de python
Ejercicios de pythonEjercicios de python
Ejercicios de python
 
Expresiones aritmetica
Expresiones aritmeticaExpresiones aritmetica
Expresiones aritmetica
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
EJEMPLO DE ALGORITMOS ESTRUCTURADOS
EJEMPLO DE ALGORITMOS ESTRUCTURADOS EJEMPLO DE ALGORITMOS ESTRUCTURADOS
EJEMPLO DE ALGORITMOS ESTRUCTURADOS
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujo
 
Ejemplos de vectores en java
Ejemplos de vectores en javaEjemplos de vectores en java
Ejemplos de vectores en java
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 

Ähnlich wie CiclosAnidadosEjemplos

Ähnlich wie CiclosAnidadosEjemplos (20)

Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
03 iteracion
03 iteracion03 iteracion
03 iteracion
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
Ejercicios3
Ejercicios3Ejercicios3
Ejercicios3
 
Fundamentos de la programacion u2 ejercicios
Fundamentos de la programacion u2 ejerciciosFundamentos de la programacion u2 ejercicios
Fundamentos de la programacion u2 ejercicios
 
Programas sencillos en lenguaje C
Programas sencillos en lenguaje CProgramas sencillos en lenguaje C
Programas sencillos en lenguaje C
 
Programas básicos en C
Programas básicos en C Programas básicos en C
Programas básicos en C
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
Practicas bloque 2
Practicas bloque 2Practicas bloque 2
Practicas bloque 2
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujo
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
Practica 10 Laboratorio de Computación para Ingenieros FI
Practica 10 Laboratorio de Computación para Ingenieros FIPractica 10 Laboratorio de Computación para Ingenieros FI
Practica 10 Laboratorio de Computación para Ingenieros FI
 
Ejercicios de programacion en c++
Ejercicios de programacion en c++Ejercicios de programacion en c++
Ejercicios de programacion en c++
 

Kürzlich hochgeladen

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 

Kürzlich hochgeladen (20)

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 

CiclosAnidadosEjemplos

  • 1. 2012 M.Sc. Ana María Salgado G. UNAN - LEON 24/04/2012 Bucles anidados
  • 2. Ciclos anidados 2 Bucles anidados Los bucles anidados constan de un bucle externo con uno o más bucles internos. Cada vez que se repite el bucle externo, los bucles internos se repiten, se vuelven a evaluar los componentes de control y se ejecutan todas las iteraciones requeridas. Ejemplo # 1 #include <stdio.h> void main(void) { int i, y; for(i = 1; i< =3; i++) { for(y = 1; y < =2; y++) printf("#t"); printf("n"); } } Ejemplo # 2 #include<stdio.h> void main(void) { int i, y; for(i = 1; i<=2; i++) { for(y = 1; y<=3; y++) printf("$t"); printf("n"); } }
  • 3. Ciclos anidados 3 Ejemplo #3: //anidamiento1.c #include <stdio.h> int x,y, xultimo = 2, yultimo = 4; void main(void) { for(x = 1; x <= xultimo; x++) for(y = 1; y <= yultimo; y++) { int producto; producto = x * y; printf(" %d * %d = %d n",x,y,producto); } } Ejemplo #4: //anidamiento2.c #include <stdio.h> int i,j; void main(void) { printf("n tt i t j n"); for(i = 0; i < 4; i++) { printf("Externo t %d n",i); for(j = 0; j < i; j++) printf("Interno tt %d n",j); } }
  • 4. Ciclos anidados 4 Ejemplo #5: Realice un programa que calcule el promedio de tres notas para 10 alumnos. El ejemplo de una salida puede ser: Nombre del alumno #1: Luis Pérez Materia: Matemática Básica Nota 1: 100 Nota 2: 90 Nota 3: 90 El promedio es: 93.33 //alumnosanidados2.c #include<stdio.h> #include <string.h> char nombre[100]; char materia[70]; int i,k,nota; float promedio,sumparc;
  • 5. Ciclos anidados 5 void main(void) { for(i=1;i<=5;i++) { printf("Nombre del alumno #%d: ",i); fflush(stdin); gets(nombre); sumparc=0; printf("Materia: "); fflush(stdin); gets(materia); for(k=1;k<=3;k++) { printf("Nota %d: ",k); scanf("%d",&nota); sumparc=sumparc + nota; }//fin del for k promedio=sumparc/3; printf("El promedio es:%.2fnnn",promedio); }//fin del for padre }
  • 6. Ciclos anidados 6 Ejemplo #6: La función factorial se aplica a enteros positivos. El factorial de un entero positivo n es (!n) es igual al producto de los enteros positivos del 1 al n. Escriba un programa que calcule los factoriales de los enteros del 1 al 5. Ejemplo: !3 = 1*2*3 = 6 Sugerencia: Primero calcular el factorial para un solo número, luego introducir un ciclo que vaya del 1 al 5. //factorialanidado3.c #include <stdio.h> void main(void) { int num, i; long fac; //printf("Ingrese el numero: "); //scanf("%d",&num); for(num = 1; num <= 5; num++) { fac = 1; for(i = 1; i <= num; i++) fac = fac * i; printf("nEl factorial de %d es: %ldn",num,fac); } }
  • 7. Ciclos anidados 7 Ejemplo #7: Escriba un programa que calcule y visualice: 1! + 2! + 3! + … + (n – 1)! + n! //factorialanidado2.c #include <stdio.h> void main(void) { int n, i = 1, m; float fact, suma = 0; printf("Ingrese el valor de n: "); scanf("%d",&n); do { fact = 1; m = i; while(m > 1) { fact *= m; m--; } suma+=fact; printf("t %d! = %0.f n",i,fact); i++; }while(i <= n); printf("ntsuma = %0.fnn",suma); }
  • 8. Ciclos anidados 8 Ejemplo #8: El siguiente programa imprime una tabla de m filas por n columnas y un carácter de entrada. //filascolumnas.c #include <stdio.h> int filas, columnas; int i, j; char elCar; void main() { printf("¿Cuantas filas?: "); scanf("%d",&filas); printf("¿Cuantas columnas?: "); scanf("%d",&columnas); printf("¿Que caracter?:"); fflush(stdin); elCar=getchar(); /* bucle externo */ for(i = 0; i < filas; i++) { /*bucle interno */ for(j = 0; j < columnas; j++) putchar(elCar); putchar('n'); } }
  • 9. Ciclos anidados 9 Ejercicios resueltos 1. Diseñar e implementar un programa que solicite a su usuario un valor no negativo n y visualice la siguiente salida: 1 2 3 … n-1 n 1 2 3 … n-1 …. 1 Solución en Lenguaje C: //triangulonum.c #include <stdio.h> int k, i ,n; void main(void) { do { printf("Introduzca un valor entero:"); scanf("%d",&n); }while(n<=0); i = n; while(i >= 1) { k = 1; while(k <= i) { printf("%dt",k); k++; } printf("n"); i--; } }
  • 10. Ciclos anidados 10 2. Una aplicación de las computadoras es dibujar gráficos de barra(llamados histogramas). Escriba un programa que dibuje un gráfico como el siguiente donde la cantidad de asteriscos de cada línea corresponda al número que está a la par. Solución en Lenguaje C: /*histogra.c*/ #include<stdio.h> int naster,nlineas,i; void main(void) { for(nlineas=3;nlineas<=9;nlineas++) { if(nlineas % 2!=0) { printf("%d.| ",nlineas); for(naster=1;naster<=nlineas;naster++) printf("*"); printf("n"); } else printf(" |n"); }//fin del for padre 3. | *** | 5. | ***** | 7. | ******* | 9. | ********* |____________
  • 11. Ciclos anidados 11 printf(" |"); for(i=1;i<=12;i++) printf("_"); printf("nn"); }//fin del programa 3. Diseñar un programa que produzca la siguiente salida: ZYXWVUTSRQPONMLKJIHGFEDCBA YXWVUTSRQPONMLKJIHGFEDCBA XWVUTSRQPONMLKJIHGFEDCBA WVUTSRQPONMLKJIHGFEDCBA VUTSRQPONMLKJIHGFEDCBA UTSRQPONMLKJIHGFEDCBA TSRQPONMLKJIHGFEDCBA SRQPONMLKJIHGFEDCBA RQPONMLKJIHGFEDCBA QPONMLKJIHGFEDCBA PONMLKJIHGFEDCBA ONMLKJIHGFEDCBA NMLKJIHGFEDCBA MLKJIHGFEDCBA LKJIHGFEDCBA KJIHGFEDCBA JIHGFEDCBA IHGFEDCBA HGFEDCBA GFEDCBA FEDCBA EDCBA DCBA CBA BA A
  • 12. Ciclos anidados 12 Solución en Lenguaje C: //abc.c #include <stdio.h> int i , fila; char caracter = 'Z'; void main(void) { for(fila = 1; fila <= 28; fila++) { for(i = caracter; i >= 'A'; i--) { printf("%c",i); } caracter--; printf("n"); } } 4. Escribir un programa que dé como resultado la siguiente figura: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  • 13. Ciclos anidados 13 Solución en Lenguaje C: //diamanteirregular.c #include <stdio.h> int fil, col; void main(void) { for(fil = 1; fil <= 6; fil++) { if(fil %2 == 0) printf(" "); for(col = 1; col <= 9; col++) printf("* "); printf("n"); } }
  • 14. Ciclos anidados 14 Ejercicios propuestos 1. Escribir un programa que visualice la siguiente salida: 1 1 2 1 2 3 1 2 3 4 1 2 3 1 2 1 2. Se desea obtener el promedio de g grupos que están en un mismo año escolar; siendo que cada grupo puede tener n alumnos, que cada alumno puede llevar m materias y que en todas las materias se promedian tres calificaciones para obtener el promedio de la materia. Lo que se desea desplegar es el promedio de los grupos, el promedio de cada grupo y el promedio de cada alumno. 3. El profesor de una materia desea conocer la cantidad de sus alumnos que no tienen derecho al examen de nivelación. Diseñe un programa que lea las calificaciones obtenidas en las 5 unidades por cada uno de los 40 alumnos y escriba la cantidad de ellos que no tienen derecho al examen de nivelación. 4. Escriba un programa que imprima la forma en diamante siguiente. Puede utilizar enunciados printf que impriman ya sea un (*), o un espacio en blanco. Maximice su utilización de repeticiones(utilizando estructuras for anidadas) y minimice el número de enunciados printf. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  • 15. Ciclos anidados 15 5. Realice un programa que dé como salida lo siguiente: 6. Escriba un programa que imprima los siguientes patrones por separado, uno debajo del siguiente. Utilice ciclos for para generar los patrones. Todos los asteriscos deberán ser impresos por un solo enunciado printf de la forma printf(“*”); esto hace que los asteriscos se impriman uno al lado del otro. Sugerencia: los dos últimos patrones requieren que cada línea empiece con un número correcto de espacios en blanco. (A) (B) (C) (D) * ********** ********** * ** ********* ********* ** *** ******** ******** *** **** ******* ******* **** ***** ****** ****** ***** ****** ***** ***** ****** ******* **** **** ******* ******** *** *** ******** ********* ** ** ********* ********** * * ********** 7. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones. * ** *** **** ***** ****** ******* ******** *********