SlideShare una empresa de Scribd logo
Una solución para agregar
estructura de repetición a código OO
Apoyo POO
Recordamos el código que teníamos
• Un programa que debe generar un reporte de
calificaciones de varios alumnos.
• El reporte debe mostrar el nombre del alumno
y las 4 calificaciones que obtuvo cada alumno,
también el promedio de calificaciones de cada
alumno.
• Además se debe mostrar al final, el promedio
total por cada calificación y el promedio de
todos los promedios.
2Mtl. Lourdes Cahuich
Una forma de hacer esto con un ciclo
de repetición - for
• Para limitar el número de alumnos a capturar
• Imaginemos que queremos capturar un
máximo de 10 alumnos
• Tendremos que crear un arreglo de 10 objetos
tipo alumno
• Después iremos llenando la información de
cada alumno en un objeto alumno diferente.
3Mtl. Lourdes Cahuich
Creamos un arreglo de 10 objetos
• Esto se agrega en el código principal
const int MAX_EST = 10;
Estudiante [] est = new Estudiante[MAX_EST];
int contador = 0;
public frmMain()
{
InitializeComponent();
}
4Mtl. Lourdes Cahuich
Recordemos la interface
5Mtl. Lourdes Cahuich
En el botón guardar tengo que
controlar que sólo se guarden hasta 10
alumnos
private void btnGuardaDatos_Click(object sender, EventArgs e)
{
if (contador < MAX_EST)
{
est[contador] = new Estudiante();
guardaDatosAlumnos(est[contador]);
contador++;
}
}
6Mtl. Lourdes Cahuich
Proceso: “guardaDatosAlumno”
void guardaDatosAlumnos(Estudiante e){
e.setNomEst(txtNomEst.Text);
if (txtCalif1.Text != "")
e.setCalif1(float.Parse(txtCalif1.Text));
else
e.setCalif1(0);
if (txtCalif2.Text != "")
e.setCalif2(float.Parse(txtCalif2.Text));
else
e.setCalif2(0);
if (txtCalif3.Text != "")
e.setCalif3(float.Parse(txtCalif3.Text));
else
e.setCalif3(0);
if (txtCalif4.Text != "")
e.setCalif4(float.Parse(txtCalif4.Text));
else
e.setCalif4(0);
} 7Mtl. Lourdes Cahuich
Para generar reporte – estructura “for”
private void btnReporte_Click(object sender, EventArgs e)
{ String cadena = "";
float pc1, pc2, pc3, pc4, pp;
pc1 = pc2 = pc3 = pc4 = pp = 0;
cadena = "NOMBREttCAL1tCAL2tCAL3tCAL4tPROMn";
for (int i = 0; i < contador; i++)
{ cadena = cadena + string.Format("{0} t{1}t{2}t{3}t{4}t{5}n",
est[i].getNomEst().ToString(),
est[i].getCalif1().ToString(),
est[i].getCalif2().ToString(),
est[i].getCalif3().ToString(),
est[i].getCalif4().ToString(),
est[i].getPromedio().ToString());
pc1 = pc1 + est[i].getCalif1();
pc2 = pc2 + est[i].getCalif2();
pc3 = pc3 + est[i].getCalif3();
pc4 = pc4 + est[i].getCalif4();
pp = pp + est[i].getPromedio();
}
pc1 = pc1 /(contador -1);
pc2 = pc2 / (contador - 1);
pc3 = pc3 / (contador - 1);
pc4 = pc4 / (contador - 1);
pp = pp / (contador - 1);
cadena = cadena + string.Format("TOTALEStt{0}t{1}t{2}t{3}t{4}n",
pc1,pc2,pc3, pc4, pp);
//Mostrar reporte
MessageBox.Show(cadena,"Reporte calificaciones“,
MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
}
8Mtl. Lourdes Cahuich
Para generar reporte –estructura while
private void btnReporte_Click(object sender, EventArgs e)
{
int i = 0;
while (i < contador)
{
cadena = cadena + string.Format("{0}t{1}t{2}t{3}t{4}t{5}n",
est[i].getNomEst().ToString(),
est[i].getCalif1().ToString(),
est[i].getCalif2().ToString(), est[i].getCalif3().ToString(),
est[i].getCalif4().ToString(), est[i].getPromedio().ToString());
pc1 = pc1 + est[i].getCalif1();
pc2 = pc2 + est[i].getCalif2();
pc3 = pc3 + est[i].getCalif3();
pc4 = pc4 + est[i].getCalif4();
pp = pp + est[i].getPromedio();
i++;
}
pc1 = pc1 / (contador - 1);
pc2 = pc2 / (contador - 1);
pc3 = pc3 / (contador - 1);
pc4 = pc4 / (contador - 1);
pp = pp / (contador - 1);
cadena = cadena + string.Format("TOTALEStt{0}t{1}t{2}t{3}t{4}n", pc1, pc2, pc3, pc4, pp);
cadena = cadena + string.Format("nTotal de alumnos: {0}", contador);
//Mostrar reporte
MessageBox.Show(cadena, "Reporte calificaciones", MessageBoxButtons.OKCancel,
MessageBoxIcon.Asterisk);
}
9Mtl. Lourdes Cahuich
Estas son sólo unas soluciones…
• Pero en la ciencia de la computación y la
ingeniería, casi siempre hay varias soluciones
para un mismo problema.
• Sin embargo, siempre habrá soluciones más
eficientes, precisas y elegantes que otras, el
entrenamiento que viene de resolver y
desarrollar muchos programas/algoritmos, es
el que nos lleva a desarrollar mejores códigos
cada vez.
10Mtl. Lourdes Cahuich

Más contenido relacionado

Destacado

Función main()
Función main()Función main()
Función main()
UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
UVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
UVM
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
UVM
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
UVM
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
jlmanmons
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
UVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
UVM
 
Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
UVM
 
Tipos de herencia
Tipos de herenciaTipos de herencia
Tipos de herencia
UVM
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
Karlytoz_36
 

Destacado (13)

Función main()
Función main()Función main()
Función main()
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
 
Objetos y arreglos en C#
Objetos y arreglos en C#Objetos y arreglos en C#
Objetos y arreglos en C#
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Tipos de herencia
Tipos de herenciaTipos de herencia
Tipos de herencia
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 

Similar a Una solución para agregar estructura de repetición

Guia de-estructura-de-datos
Guia de-estructura-de-datosGuia de-estructura-de-datos
Guia de-estructura-de-datos
Felix Kerary Jimenez
 
Informe tecnico
Informe tecnicoInforme tecnico
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
Yesica Huallpa Laguna
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOLuiS YmAY
 
Informe tecnico victor_uex
Informe tecnico victor_uexInforme tecnico victor_uex
Informe tecnico victor_uex
victoruex
 
Informe tecnico de la unidad 1
Informe tecnico de la unidad 1Informe tecnico de la unidad 1
Informe tecnico de la unidad 1
Eliu Osseas Puc Puc
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bFRESH221 C.R
 
Cómo lograr mejores pruebas
Cómo lograr mejores pruebasCómo lograr mejores pruebas
Cómo lograr mejores pruebas
Andreína Romero
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
Ing Eduardo Perez Hernandez
 
JAVA ciclos (FOR Y WHILE)
JAVA ciclos  (FOR Y WHILE)JAVA ciclos  (FOR Y WHILE)
JAVA ciclos (FOR Y WHILE)
Universidad Santo Tomás
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
Jorge Ake Pech
 
Expo_Int
Expo_IntExpo_Int
Expo_Int
RogDer
 
Agregando comportamiento al objeto – estructura secuencial
Agregando comportamiento al objeto – estructura secuencial Agregando comportamiento al objeto – estructura secuencial
Agregando comportamiento al objeto – estructura secuencial
UVM
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
jack_corvil
 
Ejemplos robert miguel
Ejemplos robert miguelEjemplos robert miguel
Ejemplos robert miguel
Ronal Mejia Palacios
 
ALGORITMOS EN JAVA
ALGORITMOS EN JAVAALGORITMOS EN JAVA
ALGORITMOS EN JAVA
Shirley Contreras Ulloa
 
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
Luis Fernando Aguas Bucheli
 

Similar a Una solución para agregar estructura de repetición (20)

Guia de-estructura-de-datos
Guia de-estructura-de-datosGuia de-estructura-de-datos
Guia de-estructura-de-datos
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
algoritmos distribuidos
algoritmos distribuidosalgoritmos distribuidos
algoritmos distribuidos
 
Tema4 programación generica
Tema4   programación genericaTema4   programación generica
Tema4 programación generica
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Informe tecnico victor_uex
Informe tecnico victor_uexInforme tecnico victor_uex
Informe tecnico victor_uex
 
Informe tecnico de la unidad 1
Informe tecnico de la unidad 1Informe tecnico de la unidad 1
Informe tecnico de la unidad 1
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Cómo lograr mejores pruebas
Cómo lograr mejores pruebasCómo lograr mejores pruebas
Cómo lograr mejores pruebas
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
JAVA ciclos (FOR Y WHILE)
JAVA ciclos  (FOR Y WHILE)JAVA ciclos  (FOR Y WHILE)
JAVA ciclos (FOR Y WHILE)
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Expo_Int
Expo_IntExpo_Int
Expo_Int
 
Agregando comportamiento al objeto – estructura secuencial
Agregando comportamiento al objeto – estructura secuencial Agregando comportamiento al objeto – estructura secuencial
Agregando comportamiento al objeto – estructura secuencial
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
 
Ejemplos robert miguel
Ejemplos robert miguelEjemplos robert miguel
Ejemplos robert miguel
 
ALGORITMOS EN JAVA
ALGORITMOS EN JAVAALGORITMOS EN JAVA
ALGORITMOS EN JAVA
 
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
6-Unidad 1. Paradigma de la Programación-Orientación a Objetos
 

Más de UVM

Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
UVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
UVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
UVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
UVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
UVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
UVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
UVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
UVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
UVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
UVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
UVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
UVM
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
UVM
 
Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#
UVM
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parte
UVM
 
Agregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repeticiónAgregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repetición
UVM
 
Agregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decisionAgregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decision
UVM
 
Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15
UVM
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
UVM
 

Más de UVM (19)

Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parte
 
Agregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repeticiónAgregando comportamiento al objeto – estructuras de repetición
Agregando comportamiento al objeto – estructuras de repetición
 
Agregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decisionAgregando comportamiento al objeto – estructuras de decision
Agregando comportamiento al objeto – estructuras de decision
 
Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15Presentación de proyectos semestrales 01-15
Presentación de proyectos semestrales 01-15
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
 

Último

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 

Último (20)

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 

Una solución para agregar estructura de repetición

  • 1. Una solución para agregar estructura de repetición a código OO Apoyo POO
  • 2. Recordamos el código que teníamos • Un programa que debe generar un reporte de calificaciones de varios alumnos. • El reporte debe mostrar el nombre del alumno y las 4 calificaciones que obtuvo cada alumno, también el promedio de calificaciones de cada alumno. • Además se debe mostrar al final, el promedio total por cada calificación y el promedio de todos los promedios. 2Mtl. Lourdes Cahuich
  • 3. Una forma de hacer esto con un ciclo de repetición - for • Para limitar el número de alumnos a capturar • Imaginemos que queremos capturar un máximo de 10 alumnos • Tendremos que crear un arreglo de 10 objetos tipo alumno • Después iremos llenando la información de cada alumno en un objeto alumno diferente. 3Mtl. Lourdes Cahuich
  • 4. Creamos un arreglo de 10 objetos • Esto se agrega en el código principal const int MAX_EST = 10; Estudiante [] est = new Estudiante[MAX_EST]; int contador = 0; public frmMain() { InitializeComponent(); } 4Mtl. Lourdes Cahuich
  • 6. En el botón guardar tengo que controlar que sólo se guarden hasta 10 alumnos private void btnGuardaDatos_Click(object sender, EventArgs e) { if (contador < MAX_EST) { est[contador] = new Estudiante(); guardaDatosAlumnos(est[contador]); contador++; } } 6Mtl. Lourdes Cahuich
  • 7. Proceso: “guardaDatosAlumno” void guardaDatosAlumnos(Estudiante e){ e.setNomEst(txtNomEst.Text); if (txtCalif1.Text != "") e.setCalif1(float.Parse(txtCalif1.Text)); else e.setCalif1(0); if (txtCalif2.Text != "") e.setCalif2(float.Parse(txtCalif2.Text)); else e.setCalif2(0); if (txtCalif3.Text != "") e.setCalif3(float.Parse(txtCalif3.Text)); else e.setCalif3(0); if (txtCalif4.Text != "") e.setCalif4(float.Parse(txtCalif4.Text)); else e.setCalif4(0); } 7Mtl. Lourdes Cahuich
  • 8. Para generar reporte – estructura “for” private void btnReporte_Click(object sender, EventArgs e) { String cadena = ""; float pc1, pc2, pc3, pc4, pp; pc1 = pc2 = pc3 = pc4 = pp = 0; cadena = "NOMBREttCAL1tCAL2tCAL3tCAL4tPROMn"; for (int i = 0; i < contador; i++) { cadena = cadena + string.Format("{0} t{1}t{2}t{3}t{4}t{5}n", est[i].getNomEst().ToString(), est[i].getCalif1().ToString(), est[i].getCalif2().ToString(), est[i].getCalif3().ToString(), est[i].getCalif4().ToString(), est[i].getPromedio().ToString()); pc1 = pc1 + est[i].getCalif1(); pc2 = pc2 + est[i].getCalif2(); pc3 = pc3 + est[i].getCalif3(); pc4 = pc4 + est[i].getCalif4(); pp = pp + est[i].getPromedio(); } pc1 = pc1 /(contador -1); pc2 = pc2 / (contador - 1); pc3 = pc3 / (contador - 1); pc4 = pc4 / (contador - 1); pp = pp / (contador - 1); cadena = cadena + string.Format("TOTALEStt{0}t{1}t{2}t{3}t{4}n", pc1,pc2,pc3, pc4, pp); //Mostrar reporte MessageBox.Show(cadena,"Reporte calificaciones“, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); } 8Mtl. Lourdes Cahuich
  • 9. Para generar reporte –estructura while private void btnReporte_Click(object sender, EventArgs e) { int i = 0; while (i < contador) { cadena = cadena + string.Format("{0}t{1}t{2}t{3}t{4}t{5}n", est[i].getNomEst().ToString(), est[i].getCalif1().ToString(), est[i].getCalif2().ToString(), est[i].getCalif3().ToString(), est[i].getCalif4().ToString(), est[i].getPromedio().ToString()); pc1 = pc1 + est[i].getCalif1(); pc2 = pc2 + est[i].getCalif2(); pc3 = pc3 + est[i].getCalif3(); pc4 = pc4 + est[i].getCalif4(); pp = pp + est[i].getPromedio(); i++; } pc1 = pc1 / (contador - 1); pc2 = pc2 / (contador - 1); pc3 = pc3 / (contador - 1); pc4 = pc4 / (contador - 1); pp = pp / (contador - 1); cadena = cadena + string.Format("TOTALEStt{0}t{1}t{2}t{3}t{4}n", pc1, pc2, pc3, pc4, pp); cadena = cadena + string.Format("nTotal de alumnos: {0}", contador); //Mostrar reporte MessageBox.Show(cadena, "Reporte calificaciones", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); } 9Mtl. Lourdes Cahuich
  • 10. Estas son sólo unas soluciones… • Pero en la ciencia de la computación y la ingeniería, casi siempre hay varias soluciones para un mismo problema. • Sin embargo, siempre habrá soluciones más eficientes, precisas y elegantes que otras, el entrenamiento que viene de resolver y desarrollar muchos programas/algoritmos, es el que nos lleva a desarrollar mejores códigos cada vez. 10Mtl. Lourdes Cahuich