Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 11
Introducción a la ComputaciónIntroducció...
Estructuras iterativas oEstructuras iterativas o
repetitivas doblesrepetitivas dobles
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 33
De igual forma que se pueden anidarDe ig...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 44
Ejercicio 1Ejercicio 1
Por cada uno de l...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 55
SoluciónSolución
Análisis del problema:A...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 66
f.u.(1) 1) Inicializar (AcumProm, MayorP...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 77
11
repetir para(entero Seccirepetir para...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 88
AlumnoAlumno
alfanumérico Cédulaalfanumé...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 99
SecciónSección
real AcumNotareal AcumNot...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1010
AsignaturaAsignatura
real AcumPromreal...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1111
//// Definición de la estructura de la...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1212
//Desarrollo de los métodos de la clas...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1313
// Definición de la estructura de la c...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1414
//Métodos propios de la clase Sección/...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1515
real Sección SacarAcumNota()real Secci...
Profs. Vladimir Camacaro y ErysProfs. Vladimir Camacaro y Erys
Piñero.Piñero. 1616
real Seccion DetPromSecc()real Seccion ...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1717
//Definición de la estructura de la cl...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1818
//Métodos propios de la clase Asignatu...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1919
real Asignatura SacarAcumProm()real As...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2020
Asignatura AcumularProm(Seccion ↓ Secc...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2121
//Programa de aplicación//Programa de ...
Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2222
InterfazEntrada(AlumnoInterfazEntrada(...
Próxima SlideShare
Cargando en…5
×

Doble ciclo. Parte I

292 visualizaciones

Publicado el

Estructuras repetitivas dobles

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
292
En SlideShare
0
De insertados
0
Número de insertados
12
Acciones
Compartido
0
Descargas
3
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Doble ciclo. Parte I

  1. 1. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 11 Introducción a la ComputaciónIntroducción a la Computación Programa: Análisis de SistemasPrograma: Análisis de Sistemas Profesores: Erys PiñeroProfesores: Erys Piñero Vladimir CamacaroVladimir Camacaro
  2. 2. Estructuras iterativas oEstructuras iterativas o repetitivas doblesrepetitivas dobles
  3. 3. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 33 De igual forma que se pueden anidarDe igual forma que se pueden anidar estructuras selectivas, es posible incluir unestructuras selectivas, es posible incluir un ciclo dentro de otro. En este caso, cadaciclo dentro de otro. En este caso, cada vez que se produzca una alteración delvez que se produzca una alteración del valor del bucle externo, deberá ejecutarsevalor del bucle externo, deberá ejecutarse completamente el bucle interno.completamente el bucle interno. Las reglas para construir estructurasLas reglas para construir estructuras repetitivas anidadas son iguales en ambosrepetitivas anidadas son iguales en ambos casos: la estructura interna debe estarcasos: la estructura interna debe estar incluida totalmente dentro de la externa yincluida totalmente dentro de la externa y no puede existir solapamiento.no puede existir solapamiento.
  4. 4. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 44 Ejercicio 1Ejercicio 1 Por cada uno de los alumnos de las 7 seccionesPor cada uno de los alumnos de las 7 secciones de la asignatura Introducción a la Computaciónde la asignatura Introducción a la Computación se conoce el número de la cédula y la nota dese conoce el número de la cédula y la nota de los 30 alumnos de cada sección.los 30 alumnos de cada sección. Calcular:Calcular: Por cada sección:Por cada sección: Promedio de notasPromedio de notas Por asignaturaPor asignatura a.- Promedio de notasa.- Promedio de notas b.- Mayor Promediob.- Mayor Promedio
  5. 5. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 55 SoluciónSolución Análisis del problema:Análisis del problema: ListaLista ClasificaciónClasificación Alumno -------------------------------------Alumno ------------------------------------- ClaseClase Cédula --------------------------------------Cédula -------------------------------------- Atributo/AlumnoAtributo/Alumno Nota------------------------------------------Nota------------------------------------------ Atributo/AlumnoAtributo/Alumno Sección--------------------------------------Sección-------------------------------------- ClaseClase Calcular promedio de notas -----------Calcular promedio de notas ----------- Método/SecciónMétodo/Sección Asignatura----------------------------------Asignatura---------------------------------- ClaseClase Calcular promedio de notas-----------Calcular promedio de notas----------- Método/AsignaturaMétodo/Asignatura Determinar mayor promedio----------Determinar mayor promedio---------- Método/AsignaturaMétodo/Asignatura
  6. 6. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 66 f.u.(1) 1) Inicializar (AcumProm, MayorProm)f.u.(1) 1) Inicializar (AcumProm, MayorProm) f.m.(2) 2) Inicializar (AcumNota)f.m.(2) 2) Inicializar (AcumNota) f.m.(3) 3) Leer (Cédula, Nota)f.m.(3) 3) Leer (Cédula, Nota) f.m.(3) 4) Acumular nota: Acumnotaf.m.(3) 4) Acumular nota: Acumnota Acumnota + NotaAcumnota + Nota f.m.(4) 5) Calcula e imprime Promedio de notas de la secciónf.m.(4) 5) Calcula e imprime Promedio de notas de la sección Promedio ← AcumNota/30Promedio ← AcumNota/30 f.m.(4) 6) Acumular promedio de la secciónf.m.(4) 6) Acumular promedio de la sección AcumProm ← AcumProm + PromedioAcumProm ← AcumProm + Promedio f.m.(4) 7) Determinar mayor promediof.m.(4) 7) Determinar mayor promedio si (Promedio>MayorProm)si (Promedio>MayorProm) MayorProm ← PromedioMayorProm ← Promedio f.u. (5) 8) Calcular e imprimir promedio de la asignatura:f.u. (5) 8) Calcular e imprimir promedio de la asignatura: PromedioAsig ←AcumProm/7PromedioAsig ←AcumProm/7 f.u. (5) 9) Imprimir mayor promediof.u. (5) 9) Imprimir mayor promedio (MayorProm)(MayorProm)
  7. 7. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 77 11 repetir para(entero Seccirepetir para(entero Secci←1, Secci<=7, Secci ←Secci+1←1, Secci<=7, Secci ←Secci+1)) repetir para(entero Alumrepetir para(entero Alum←1, Alum<=30, Alum ←Alum+1←1, Alum<=30, Alum ←Alum+1)) 88 99 2 5 6 7 3 4
  8. 8. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 88 AlumnoAlumno alfanumérico Cédulaalfanumérico Cédula real Notareal Nota AsignarCedula(alfanumérico ↓Ced)AsignarCedula(alfanumérico ↓Ced) AsignarNota(real ↓ NT)AsignarNota(real ↓ NT) real SacarNota()real SacarNota() alfanumérico SacarCedula()alfanumérico SacarCedula()
  9. 9. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 99 SecciónSección real AcumNotareal AcumNota Inic()Inic() real SacarAcumNota()real SacarAcumNota() AcumularNota(Alumno ↓Alu)AcumularNota(Alumno ↓Alu) real DetPromSecc()real DetPromSecc()
  10. 10. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1010 AsignaturaAsignatura real AcumPromreal AcumProm real MayorPromreal MayorProm Inicializar()Inicializar() real SacarAcumProm()real SacarAcumProm() real SacarMayorProm()real SacarMayorProm() AcumularProm(Sección ↓ Secc)AcumularProm(Sección ↓ Secc) DetMayorProm(Sección ↓ Secc)DetMayorProm(Sección ↓ Secc) real DetPromAsig()real DetPromAsig()
  11. 11. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1111 //// Definición de la estructura de la clase AlumnoDefinición de la estructura de la clase Alumno //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// clase Alumnoclase Alumno inicioinicio privado:privado: alfanumérico Cédulaalfanumérico Cédula real Notareal Nota público:público: //Métodos para asignar o meter datos//Métodos para asignar o meter datos AsignarCedula (alfanumérico ↓Ced )AsignarCedula (alfanumérico ↓Ced ) AsignarNota(real ↓ NT)AsignarNota(real ↓ NT) //Métodos para sacar datos//Métodos para sacar datos alfanumérico SacarCedula()alfanumérico SacarCedula() real SacarNota()real SacarNota() fin //Alumnofin //Alumno
  12. 12. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1212 //Desarrollo de los métodos de la clase Alumno//Desarrollo de los métodos de la clase Alumno Alumno AsignarCedula(alfanumerico ↓ Ced)Alumno AsignarCedula(alfanumerico ↓ Ced) inicioinicio Cedula ← CedCedula ← Ced finfin Alumno AsignarNota(real ↓ NT)Alumno AsignarNota(real ↓ NT) inicioinicio Nota ← NTNota ← NT finfin alfanumérico Alumno SacarCedula()alfanumérico Alumno SacarCedula() inicioinicio retornar Cédularetornar Cédula finfin real Alumno SacarNota()real Alumno SacarNota() inicioinicio retornar Notaretornar Nota finfin
  13. 13. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1313 // Definición de la estructura de la clase Sección// Definición de la estructura de la clase Sección ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// clase Secciónclase Sección inicio privado:inicio privado: real AcumNota,Mayorreal AcumNota,Mayor público:público: //Métodos para inicializar datos//Métodos para inicializar datos Inic()Inic() //Métodos para sacar datos//Métodos para sacar datos real SacarAcumNota()real SacarAcumNota() // Otros métodos propios del objeto// Otros métodos propios del objeto AcumularNota(Alumno↓ Alum)AcumularNota(Alumno↓ Alum) real DetPromSecc()real DetPromSecc() fin // Secciónfin // Sección
  14. 14. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1414 //Métodos propios de la clase Sección//Métodos propios de la clase Sección Sección Inic()Sección Inic() inicioinicio AcumNota ← 0AcumNota ← 0 finfin
  15. 15. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1515 real Sección SacarAcumNota()real Sección SacarAcumNota() inicioinicio retornar AcumNotaretornar AcumNota finfin Seccion AcumularNota(Alumno ↓ Alu )Seccion AcumularNota(Alumno ↓ Alu ) inicioinicio AcumNota←AcumNota+Alu.SacarNota()AcumNota←AcumNota+Alu.SacarNota() finfin
  16. 16. Profs. Vladimir Camacaro y ErysProfs. Vladimir Camacaro y Erys Piñero.Piñero. 1616 real Seccion DetPromSecc()real Seccion DetPromSecc() inicioinicio real Promreal Prom Prom ← AcumNota/30Prom ← AcumNota/30 retornar Promretornar Prom finfin
  17. 17. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1717 //Definición de la estructura de la clase Asignatura//Definición de la estructura de la clase Asignatura clase Asignaturaclase Asignatura inicioinicio privado:privado: real AcumProm,MayorPromreal AcumProm,MayorProm publico:publico: Inicializar ()Inicializar () real SacarAcumProm()real SacarAcumProm() real SacarMayorProm()real SacarMayorProm() AcumularProm(Seccion↓ Secc)AcumularProm(Seccion↓ Secc) DelMayorProm(Seccion↓ Secc)DelMayorProm(Seccion↓ Secc) real DetPromAsig()real DetPromAsig() fin // Asignaturafin // Asignatura
  18. 18. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1818 //Métodos propios de la clase Asignatura//Métodos propios de la clase Asignatura Asignatura Inicializar ()Asignatura Inicializar () inicioinicio AcumProm ← 0AcumProm ← 0 MayorProm ← 0MayorProm ← 0 finfin
  19. 19. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 1919 real Asignatura SacarAcumProm()real Asignatura SacarAcumProm() iInicioiInicio retornar AcumPromretornar AcumProm finfin real Asignatura SacarMayorProm()real Asignatura SacarMayorProm() inicioinicio retornar MayorPromretornar MayorProm finfin
  20. 20. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2020 Asignatura AcumularProm(Seccion ↓ Secc)Asignatura AcumularProm(Seccion ↓ Secc) inicioinicio AcumProm ← AcumProm+Secc.DetPromSecc()AcumProm ← AcumProm+Secc.DetPromSecc() finfin Asignatura DetMayorProm(Seccion ↓ Secc)Asignatura DetMayorProm(Seccion ↓ Secc) inicioinicio si (Secc.DetPromSecc > MayorProm)si (Secc.DetPromSecc > MayorProm) MayorProm ← Secc . DetPromSecc()MayorProm ← Secc . DetPromSecc() finfin real Asignatura DetPromAsig()real Asignatura DetPromAsig() inicioinicio real PromAreal PromA PromA ← AcumProm / 7PromA ← AcumProm / 7 retornar PromAretornar PromA finfin
  21. 21. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2121 //Programa de aplicación//Programa de aplicación principal()principal() inicioinicio Alumno AluAlumno Alu Seccion SeccSeccion Secc Asignatura AsigAsignatura Asig Asig.Inicializar()Asig.Inicializar() repetir para (entero Secci ←1; Secci <= 7; Secci ← Secci + 1)repetir para (entero Secci ←1; Secci <= 7; Secci ← Secci + 1) inicioinicio Secc.Inic()Secc.Inic() repita para (repita para (entero Alum ←1; Alum <= 30 ; Alum ← Alum + 1entero Alum ←1; Alum <= 30 ; Alum ← Alum + 1)) inicioinicio InterfazEntrada(Alu)InterfazEntrada(Alu) Secc.AcumularNota(Alu)Secc.AcumularNota(Alu) finfin InterfazSalidaSeccion(Alum)InterfazSalidaSeccion(Alum) Asig.AcumularProm(Secc)Asig.AcumularProm(Secc) Asig.DetMayorProm(Secc)Asig.DetMayorProm(Secc) finfin InterfazSalidaAsig (Alum)InterfazSalidaAsig (Alum) finfin
  22. 22. Profs. Vladimir Camacaro y Erys Piñero.Profs. Vladimir Camacaro y Erys Piñero. 2222 InterfazEntrada(AlumnoInterfazEntrada(Alumno ↑↑ Alum)Alum) inicioinicio real NTreal NT alfanumérico cedalfanumérico ced escribir “Escriba su numero de cedula “)escribir “Escriba su numero de cedula “) leer cedleer ced Alu.AsignarCedula(Ced)Alu.AsignarCedula(Ced) escribir “Escriba su nota final)escribir “Escriba su nota final) leer NTleer NT Alu.AsignarNota(NT)Alu.AsignarNota(NT) finfin InterfazSalidaSeccion(SeccionInterfazSalidaSeccion(Seccion↓↓ Secc)Secc) inicioinicio escribir”El promedio de la sección es:” Secc. DetPromSecc()escribir”El promedio de la sección es:” Secc. DetPromSecc() finfin InterfazSalidaAsig (Asignatura ↓ Asig)InterfazSalidaAsig (Asignatura ↓ Asig) inicioinicio escribir “El promedio de la Asignatura es: “Asig. DetPromAsig ()escribir “El promedio de la Asignatura es: “Asig. DetPromAsig () escribir “El mayor promedio es: “Asig. SacarMayorprom()escribir “El mayor promedio es: “Asig. SacarMayorprom() finfin

×