Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - sergioab1985

Páginas: [1]
1
Aprender a programar desde cero / Re:EJERCICIO CU00163A
« en: 09 de Noviembre 2012, 21:38 »
Gracias César. Ahora me queda mas claro. Confundí el contador con n

Saludos

2
Hola a todos. Voy por la lección CU00163A del curso básico.
Antes de ver la solución yo llegué al siguiente resultado:


INICIO

j=1

Mientras condicion_prevista <= 100 hacer
   Leer paquete (i)

   Si dato(j)>600 y dato(j)<700 entonces
      condicion_prevista = condicion_prevista + 1
      Datos_extraidos = Datos_extraidos + 1
   Sino
      Datos_extraidos = Datos_extraidos + 1
   FinSi

   Si j = 100 entonces
      i=i+1
      j=1
   Sino
      j=j+1
   FinSi

Repetir

Mostrar "Se cumple lo previsto."
Mostrar "Se extrajeron", condicion_prevista, "Datos con valores mayores que 600 y menores que 700 de", datos_extraidos, "datos totales revisados."

FIN

Ahora bien, cuando vi la solución publicada observé que el hecho de usar interruptores facilita las cosas, pero hay algunas cosas que no entiendo:

1.  Inicio [Extracción de datos p100]
   2.  n = 1
   3.  Mientras Esperado = Falso Hacer
      3.1  Desde i = n hasta n + 99 Hacer
         Leer Dato(i)
         Si Dato(i) > 600 y Dato(i) < 700 Entonces
            j = j + 1 
         FinSi
      Siguiente
      3.2  Si j > 100 Entonces
         Esperado = Verdadero
      FinSi
      3.3  Si Esperado = Verdadero Entonces
         Mostrar “Se cumple lo previsto habiendo extraído”, j, “datos de un total de”, n + 99, “datos”
      SiNo
      Mostrar “Extracción de un nuevo paquete” 
      n = n + 100 
      FinSi
   Repetir
4.  Fin


No entiendo porqué es necesario manipular el contador de este modo, pues a mi entender, n ya secuentra en el valor necesario en el caso de retomar el bucle o en caso de mostrar el mensaje
¿Cuál es la necesidad de poner
Mostrar “Se cumple lo previsto habiendo extraído”, j, “datos de un total de”, n + 99, “datos”?
Me parece que esto no es adecuado, porque de este modo se está sumando 99 al último valor de n en el bucle...

Lo mismo cuando se dice:

Mostrar “Extracción de un nuevo paquete” 
n = n + 100 

Si se vuelve a ingresar al bucle porque esperado=falso al finalizar el primer paquete, sin esta aclaración el bucle empezaría en n=101, con la instrucción n=n+100 se empezaría en 201...

No lo entiendo del todo... AYUDAAAAAAA!!!!!

a mi me queda asi:


INICIO

n=1
esperado = falso

Mientras esperado = falso hacer
   desde i = n hasta n+99 hacer

      leer Dato(i)
      
      Si dato(i)>600 y dato(o) < 700 entonces
         j=j+1
      FinSi
   Siguiente

      Si j>100 entonces
         esperado = verdadero
      FinSi

      Si esperado = verdadero entonces
         Mostrar "Se cumple lo previsto."
         Mostrar "Se extrajeron", j, "Datos con valores mayores que 600 y menores que 700 de", n, "datos totales revisados."
      Sino
         Mostrar "Extracción de un nuevo paquete de datos"
      FinSi
Repetir

FIN

3
Aprender a programar desde cero / Re:EJERCICIO CU00161A
« en: 03 de Noviembre 2012, 23:10 »
Hola!!! perdón por la demora en contestar, temas de trabajo no me permitieron estudiar esta semana...

Es cierto lo de i=i-1, esto lo había hecho para que el sistema pregunte nuevamente al mismo pedido si deseaba reajustar la cantidad de vacunas solicitadas, pero esto era necesario solo con la instrucción desde...hasta...hacer, que va aumentando automáticamente el contador. Al sacarla, esto quedó erroneo, pues daba la instrucción de dar un paso hacia atrás a la instrucción mientras...hacer

Lo de Mostrar "Abastecimiento completo" lo deduje erroneamente del diagrama de flujo, donde dos flechas desmbocan en esta instrucción

Adjunto la versión final!!! gracias!!!!


INICIO

i=1 : disponible=1000

Mostrar "¿Cuántos puntos de entrega habrá?"
Pedir P

   Mientras i <= P disponible >= 200 hacer
      Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
      Pedir entrega
      Si entrega <= disponible entonces
         disponible = disponible - entrega
         i= i+1
      Sino
         Mostrar "No se cuenta con disponibilidad para este abastecimiento.Hay disponibles", disponible, "vacunas."
      FinSi
   Repetir

Si disponible < 200 entonces
   Mostrar "El inventario está por debajo de 200 unidades; se cuenta con", disponible, "vacunas."

   Mientras i <= P y disponible > 0 hacer
      Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
      Pedir entrega
         Si entrega <= disponible
            disponible = disponible - entrega
            i= i+1
         Sino
         Mostrar "No se cuenta con disponibilidad para la demanda."
         Mostrar "¿Desea que se le entregue el remaniente? s/n"
         Pedir remanente
            Si remanente = "s" entonces
               disponible = 0
            Sino
               i= i+1
            FinSi
         FinSi   
   Repetir
Sino
   Mostrar "Abastecimiento completo"
FinSi

FIN

4
Aprender a programar desde cero / Re:EJERCICIO CU00161A
« en: 27 de Octubre 2012, 22:40 »
GRACIAS MASTERMIND!!! tus recomendaciones me ayudaron mucho

lo de

Si disponible <> 0 entonces
            i= i+1
         FinSi

Me quedó residual de las distintas modificaciones que fui haciendo, pues en el principio no habia puesto como condicion para ingresar al bucle que DISPONIBLE debía ser >0.

Adjunto para que vean como quedó... Si hay algún error o más recomendaciones siempre serán bienvenidas.

-----------------------------------------------------------------------------

INICIO

i=1 : disponible=1000

Mostrar "¿Cuántos puntos de entrega habrá?"
Pedir P

   Mientras i <= P disponible >= 200 hacer
      Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
      Pedir entrega
      Si entrega <= disponible entonces
         disponible = disponible - entrega
         i= i+1
      Sino
         Mostrar "No se cuenta con disponibilidad para este abastecimiento.Hay disponibles", disponible, "vacunas."
         i= i-1
      FinSi
   Repetir

Si disponible < 200 entonces
   Mostrar "El inventario está por debajo de 200 unidades; se cuenta con", disponible, "vacunas."

   Mientras i <= P y disponible > 0 hacer
      Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
      Pedir entrega
         Si entrega <= disponible
            disponible = disponible - entrega
            i= i+1
         Sino
         Mostrar "No se cuenta con disponibilidad para la demanda."
         Mostrar "¿Desea que se le entregue el remaniente? s/n"
         Pedir remanente
            Si remanente = "s" entonces
               disponible = 0
            Sino
               i= i+1
            FinSi
         FinSi   
   Repetir
   Mostrar "Abastecimiento completo"
Sino
   Mostrar "Abastecimiento completo"
FinSi

FIN

-------------------------------------------------------------------------------
Gracias!!!

5
Hola a todos.

Hice el 1° ejercicio de la entrega CU00161A. La verdad es que cuando vi la solución era mucho más simple de lo que yo había pensado, pero igual comparto como lo resolví... si alguien encuentra algún error o alguna sugerencia será bienvenida y agradecida.

Saludos!!! (El diagrama de flujo va adjunto)


INICIO

i=1 : disponible=1000

Mostrar "¿Cuántos puntos de entrega habrá?"
Pedir P

Desde i= 1 hasta P hacer

   Mientras disponible >= 200 hacer
      Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
      Pedir entrega
      Si entrega <= disponible entonces
         disponible = disponible - entrega
      Sino
         Mostrar "No se cuenta con disponibilidad para este abastecimiento.Hay disponibles", disponible, "vacunas."
         i= i-1
      FinSi
   Repetir
Siguiente
Mostrar "El inventario está por debajo de 200 unidades; se cuenta con", disponible, "vacunas."

Mientras i <= P y disponible > 0 hacer
   Mostrar "¿Cuál es el abastecimiento para el punto de entrega", i, "?"
   Pedir entrega
      Si entrega <= disponible
         disponible = disponible - entrega
         Si disponible <> 0 entonces
            i= i+1
         FinSi
      Sino
      Mostrar "No se cuenta con disponibilidad para la demanda."
      Mostrar "¿Desesa que se le entregue el remaniente? s/n"
      Pedir remanente
         Si remanente = "s" entonces
            disponible = 0
         Sino
            i= i+1
         FinSi
      FinSi   
Repetir
Mostrar "Abastecimiento completo"

FIN

6
Hola! mirá, yo empecé los cursos de esta página hace unos meses y la verdad que estoy aprendiendo muchisimo, asi que podría recomendarte que hagas los cursos básicos (son los que estoy haciendo) y después pases a estudiar algún lenguaje... por lo menos es lo que estoy haciendo yo y hasta ahora solo puedo decir cosas buenas del curso... además, cualquier duda que tengas, desde el foro siempre te ayudan.

Saludos

7
Gracias César!!!! ahora me queda más claro.
Voy a tomar en cuenta la recomendación.

Saludos!

8
Hola a todos. El ejercicio de la entrega CU00158A tiene dos resoluciones. Una está presentada (Desde - hasta - Siguiente). La otra (Mientras - Repetir)no está presentada pero se ponen aclaraciones de cómo debería ser:

· Crear una línea 1.5 i = 1.
· Cambiar la línea 2. Sería 2. Mientras i <= 35 Hacer.
· Crear una línea 2.5 i = i + 1.
· Y por último cambiar Siguiente por Repetir.


No me queda claro del todo. Yo lo hice de este modo antes de leer la resolución y me quedó el siguiente pseudocódigo:

1. INICIO
2. Leer nota(i)

2. mientras i<=35 hacer
   4. aprobados = aprobados + 1
   5. suspensos = suspensos + 1
   6. nota_10 = nota_10 + 1
   7. nota_0 = nota_0 + 1
8. repetir

11. Mostrar "Han aporobado el", porcentaje_aprobados= (aprobados * 35)/100, "% de los alumnos"
12. Mostrar "Han quedado en suspenso el", porcentaje_suspensos = (suspensos*35)/100, "% de los alumnos"
13. Mostrar "Han obtenido nota 10 un total de", nota_10, "alumnos."
14. Mostrar "Han obtenido nota 0 un total de", nota_0, "alumnos."

15. FIN

¿Porqué hay que poner una línea "i=1"? ¿No comienza por este array al leer el fichero?
¿porqué debería crear una linea "i+1"? ¿no hace este trabajo la variable contador de por si?
¿En qué parte del código irian estas líneas? sin entenderlo del todo estimo que i=1 va justo antes de ingresar a la instrucción "Mientras-hacer" y i+1 justo antes de la linea "repetir", por favor ayudenme que no lo entiendo del todo

Gracias!!!

9
Aprender a programar desde cero / Re:Duda en ejercicio 2 - CU00111A
« en: 24 de Septiembre 2012, 22:19 »
Gracias!! ahora tengo la certeza de que mi pregunta era bien tonta.

Saludos!

10
Aprender a programar desde cero / Re:Ejemplo CU00115A ¿error?
« en: 24 de Septiembre 2012, 22:17 »
Gracias Alex! esto de los FOROS es de mucha ayuda!! saludos

11
Aprender a programar desde cero / Re:Ejemplo CU00115A ¿error?
« en: 24 de Septiembre 2012, 20:13 »
Adjunto denuevo el gráfico, tenía un error el anterior

12
Hola a todos. Haciendo el ejercicio de tablas de desición, en el curso CU00115A hay un diagrama de flujo. Intenté hacerlo y cuando lo terminé me di cuenta de que tenía una diferencia respecto del diagrama que se da en la página...

En el módulo que dice "¿Aprueba prácticas de campo?" sale una sola respuesta posible, que es "si", la cual lleva a la acción "calcular media y obtener nota". Mi opinión es que de aquí también debe salir la opción "no", que llevaría a "citar en despacho". El tema es que no sé como graficarlo, porque se me cruzan las flechas y creo que llevaría a confusión.

Dejo el archivo adjunto para que vean como quedaría.

Slds.

13
Hola a todos. Recién empiezo a aprender a programar por acá y en mi caso es de absolutamente CERO!!! pero lo voy a intentar igual... Por otro lado soy un poco de madera con las matemáticas, cosa que compenso con el interés que me despiertan...

Acá va mi duda, que vale aclarar que es bastante tonta:

Porqué en el EJERCICIO 2, de iteración, de la entrega CU00111A, se dice que se sabe que la solución está entre 1 y 10 y luego se aclara que "el intervalo de búsqueda comprende 10 - 1 = 9"? a mi me resulta contradictorio, porque se dice que se intentará barrer todo el intervalo de búsqueda, que contiene 10 enteros, no 9...

Tengo la sensación de que estoy haciendo una pregunta muy tonta, pero bueno, como estoy en un nivel básico, si quiero que me sea provechoso el curso creo que la base tiene que ser solida, asi que voy a preguntar cosas muy tontas tal vez ::)...

gracias a todos!!!!

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".