Abril 21, 2018, 05:46:29 am

Autor Tema: Programar desde 0 / Nuevos acá.  (Leído 27904 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado .xAk.

  • el engendro
  • Colaborador
  • ****
  • Mensajes: 7311
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #15 en: Enero 24, 2010, 09:44:14 am »

Esta juventud me desconcierta ¿?
Is the truth out there?

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Programar desde 0 / Nuevos acá.
« Respuesta #16 en: Enero 24, 2010, 09:48:32 am »
Explayate mas bien pls
¡MI TWITTER You are not allowed to view links. Register or Login!
You are not allowed to view links. Register or Login !

Desconectado .xAk.

  • el engendro
  • Colaborador
  • ****
  • Mensajes: 7311
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #17 en: Enero 24, 2010, 10:10:42 am »
Claro. Que es eso de crea un nuevo tema. Hablar X hablar.

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Programar desde 0 / Nuevos acá.
« Respuesta #18 en: Enero 24, 2010, 10:21:36 am »
Hablar para que junten material o que su material lo exponga aparte

Desconectado .xAk.

  • el engendro
  • Colaborador
  • ****
  • Mensajes: 7311
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #19 en: Enero 24, 2010, 10:28:17 am »
JaAViEr que dijo coredump aparte de aportar un poco más sobre diagramas de flujo que desvíe el tema ?

Desconectado BlackSwan[Xzp]

  • Yo vivo en CPH
  • ***
  • Mensajes: 478
  • Sexo: Masculino
  • The Power of One
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #20 en: Enero 24, 2010, 12:22:34 pm »
Bueno bueno bueno :P
No me cambien de tema ni se pongan a discutir que quiero mas capitulos y me hicieron emosionar el dope :P

You are not allowed to view links. Register or Login
-> Estudiante de Ing. en Sistemas <-

Desconectado Solid Water

  • Moderador
  • *****
  • Mensajes: 1112
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #21 en: Enero 27, 2010, 05:37:35 pm »
Capítulo III
TeoríaIII – DiagramasIII

Introducción: Este capitulo esta destinado a avanzar en el tema, puesto que con las herramientas que poseemos hasta el momento, nos es casi imposible, o nos requiere de mucha labor diagramar programas demasiado amplios. Ergo, haremos una mezcla de teoría y diagramas poco eficaces para dar pie a nuevas “herramientas” al mismo tiempo que utilizamos las “ya dadas”.

“Un nuevo símbolo”



Conectores: Se utilizan en caso de que nuestro diagrama ocupe más de una carilla y sea necesario unir las líneas (para conseguir su seguimiento) con los mismos. Para no mezclarlos utilizamos un nombre que identifique a cada uno de ellos. Yo suelo usar “x”, “y”, “z” dependiendo de la cantidad que sean, pero el nombre que uno les de carece de importancia (siempre y cuando no nombremos a todos igual..) y cada uno tiene sus gustos y mañas. En el próximo diagrama de este mismo capitulo lo explica mejor..
      
         
Nueva teoría contadores ^ acumuladores


Contador: Es una variable destinada a contener distintos valores, incrementando o decreciendo su valor inicial en cantidades fijas (o constantes).
Por ejemplo, si yo quiero hacer un soft que cuento los ingresos de datos, a partir de cada ingreso de datos se vería la variable:      

Ingresos=ingresos +1

así si esta (la variable “ingresos”)  fue declarada con el valor 0, tras el primer ingreso pasara a valer “0+1” (por lo que ingresos ahora valdrá 1) y tras el segundo “1+1” (estamos siempre sumando 1 sobre el valor que ya contenía la variable), tras el tercero “2+1” (Ya se había incrementado 2 veces y esta será la tercera..), de este modo al finalizar el programa la variable contendrá como resultado un número que será igual número de ingreso de datos que hubo en nuestro diagrama, ya veremos como el diagrama lo explica mejor).

Acumulador: Es una variable destinada a contener distintos valores, incrementando o decreciendo en cantidades no constantes. Por ejemplo: supongamos que tenemos que hacer un programa en el que un hombre ingrese el valor de cada una de las ventas que va haciendo en tiempo real, y al finalizar desea saber cuanto saco en total. No sería justo que lo obliguemos a usar su calculadora, por lo que luego de cada ingreso de “ventas” deberíamos tener un acumuladores de las mismas, el cual podría ser:

Acumulador = Acumulador + ventas.

De este modo nuevamente suponiendo que la variable acumulador fue iniciada en 0, se le Irán sumando de modo acumulativo los valores que se ingresen en la variable “ventas”.
Así supongamos que tubo las siguientes 3 ventas:      $14  $25 $9

Acumulador = acumulador + ventas (ahora pasara a valer 14)
Acumulador = acumulador + ventas ( Ya valía 14 ahora aumenta en 25 por lo que pasa a valer 29)
Acumulador = acumulador + ventas (Valía 39 ahora aumenta en 9, vale 48)


Tanto el acumulador como el contador están operando sobre sus propios valores, si tu intentas verlo por el lado de las matemáticas creerás que no tiene sentido que algo sea igual a si mismo + otro valor. Pero recuerda que esto no es matemática y solo estamos intentado mostrar la lógica por la que trabaja un programa y del mismo modo que un dominio en la informática y uno en la matemática son dos cosas totalmente diferentes, la variable acumulador contiene un valor pero no es más que una dirección de memoria a lo que esta hace referencia, donde en realidad se encuentra ese valor por lo que quizás podríamos entender, acumulador = acumulador + ventas como:


Valor que contendrá la dirección de memoria a la que hace referencia la variable acumulador  IGUAL A valor que contiene en este momento MÁS valor que contiene la dirección a la que hace referencia la variable ventas.


Diagrama -  Ejemplificación

Siguiendo los ejemplos anteriores, se pide un programa que: permita el ingreso de las ventas que se van efectuando en el día, y al finalizar muestre la recaudación total de ventas y la cantidad de ventas realizadas: (Por favor, continua leyendo antes de criticar o decir que el diagrama es poco efectivo, puesto que esto esta echo apropósito para poder dar lugar a nuestra siguiente teoría)

 




 

Lógica utilizada:

A)

_Marco el comienzo
_Declaro las variables a utilizar: “Acu” (para acumular las ventas) “Cont” (para contar los ingresos, los cuales seran igual al número de ventas efectuadas) “$Respuesta” (sera una variable alfanumérica con la que comprobaremos si el usuario desea efectuar el ingreso de otra venta o desea salir del programa, recordamos que las alfanuméricas las declaramos con un signo $ adelante y las declaramos “vacias” utilizando comillas “”) “vent” (para el ingreso de las ventas)

B)
_Se ingresa la primera venta
_Se cuenta el ingreso de datos (o cantidad de ventas realizadas) como +1 (variable “cont”)
_Se acumula el valor de la venta (en nuestra variable “Acu”)
_ Preguntamos si el usuario desea hacer un nuevo ingreso mostrando por pantalla las pautas.
_ Guardamos el valor (la respuesta del usuario) en la variable “$respuesta”.
_ Utilizamos un flag para comprobar cual fue la respuesta del usuario en caso de que la respuesta sea diferente a “si”, mostramos por pantalla los la cantidad de ventas y la recaudación total del día. En caso de que el ingreso del usuario haya sido igual a “si”:
_Aclaramos que ya puede hacer el ingreso mostrando esto por pantalla..
_damos lugar a que haya un nuevo ingreso
_ Se cuenta el nuevo ingreso ya que esta variable finalmente contendrá un valor igual al número de ingresos echos por el usuario
_ Preguntamos nuevamente si se desea hacer otro ingreso, en caso de no, mostramos lo pactado, y marcamos el fin, en caso de “si”:
_ Se acumula nuevamente la venta para conseguir el total de lo recaudado en el día
_ Se repiten los 8 pasos anteriores..
_ Muestro por pantalla la recaudación de las ventas y las cantidades que hubo de estas.
_ Finaliza el programa.


¿Qué sucedió?

Los contadores y acumuladores fueron eficaces y bien utilizados, pero si el hombre realizara 100 ventas por día, ese diagrama solo soporta 3 y ya es extenso.., por lo que diagramar uno para 100 ventas ocuparía alrededor de 50 páginas repitiendo las mismas operaciones y de esta forma nuestra codificación sería también extensa y repetitiva..
La solución a este tipo de problemas son los bucles que en diagramación llamamos bucle “variar” y  bucle “mientras”. Muy semejantes al for y while (dependiendo del lengüaje) aunque no exactamente, pero estos últimos no son un tema del cual hablaremos ahora =)

En conclusión: El uso de contadores y acumuladores fue positivo y no falló nuestra lógica si no que hasta el momento estábamos escasos de “herramientas”, veamos que son estos nuevos símbolos “mientras” y “variar”, como trabajan, y para que nos son útiles.

« Última modificación: Febrero 07, 2010, 08:24:56 am por Solid Water »

Not for the money, not for the fame. Not for the power, just no more games.

Desconectado Solid Water

  • Moderador
  • *****
  • Mensajes: 1112
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #22 en: Enero 27, 2010, 05:37:52 pm »
            
Más Teoría:


Bucle mientras: Esto quizas es más facil de entender que de explicar. El bucle mientras repite las operaciones que se encuentran dentro de su ciclo mientras se cumpla o deje de cumplirse una determinada condición.

Ejemplo 1:


 
En este caso, todas las operaciones, muestras de pantalla, ingresos, se repetirán siempre que el valor de la variable “A” sea igual a “2”, previamente a esto debe haber un ingreso de “A” o bien que “A” ya haya sido declarada con el valor “2” (en la declaración principal de las variables) o de lo contrario, que “A” sea igual a “2” sería imposible (si hubiese sido iniciada en “0” y no hubiese habido un ingreso de datos para esta variable). Observemos que antes de salir del bucle, damos lugar a un nuevo ingreso para “A”, es decir si el usuario vuelve a ingresar el valor “2” para “A” el bucle se repetirá pero operando con los nuevos valores que contengan “B” y “C” en su nuevo ingreso. Es decir debemos dar lugar al usuario a que ingrese un nuevo valor para “A” o lo estaríamos encerrando en un bucle sin fin. (si “A” nunca cambia su valor de 2 por otro, este bucle se repetirá por siempre). Si al comienzo de este recorte de diagrama cuando se pide el primer ingreso de “A” se ingresará un valor distinto de “2” el bucle sería obviado, el diagrama seguiría su curso a las siguientes funciones, en este caso al “FIN”.
Las operaciones dentro del bucle son solo un ejemplo, pero podemos observar que en la primera vuelta del bucle tanto b como c no fueron ingresados por lo que operaran con el valor con el que hayan sido declarados principalmente, y que luego de la primera operación “B = B + C”,   “B” ya no contendrá el mismo valor para la siguiente operación “C = B * C” (Bueno al menos que “B” y “C” valiesen “0”..) y que por el contrario “C” si contendrá su valor inicial antes de efectuar la segunda operación pero ambos lo habrán cambiado para el momento de la muestra por pantalla.

Ejemplo 2
:


 
En este caso, las operaciones que se encuentran dentro del bucle (o ciclo) se repetiran siempre y cuando “A” contenga un valor diferente de “2” (lo mismo hubiese sido poner  “MIENTRAS A <> 2”, ambas expresiones significan los mismo)


Bucle variar: Las operaciones dentro del bucle variar se repetirán según la cantidad de veces especificadas en el siendo esto correlativo también a su steep (“o dicho de otra forma pasos en los que avanzara”) veremos que los ejemplos lo explican mejor.

Ejemplo 1:

 

Ejemplo 2:

 


Sin más que decir, espero que la diferencia entre ámbos bucles hayan quedado claras.


Diagrama - Explicación

Volviendo al ejercicio anterior (se pide un programa que: permita el ingreso de las ventas que se van efectuando en el día, y al finalizar muestre la recaudación total de ventas y la cantidad de ventas realizadas) lo llevaremos acabo en su forma correcta y efectiva utilizando nuestras nuevas herramientas.

 


Breve explicación: No solo se simplifico nuestro diagrama a la mitad de una carilla, si no que además esta vez, permitirá que el usuario ingrese todas las ventas que tenga/desee, en el día =)


Lógica utilizada:

_Marco el comienzo.
_ Declaro las variables: “cont” (para el contador que dara como resultado las cantidad de ventas que hubo en el día), “Acu” (para acumular los valores de las ventas y obtener el total recaudado en el día) “Vent” (para ingresar el dinero de cada venta), $respuesta (para determinar si se desean seguir ingresando datos, este ya de antemano esta iniciado en “Si” como pueden ver en el diagrama, para que sea posible entrar sin paso previo al bucle mientras, es decir, al iniciar el programa, lo primero que aparecerá será la primera muestra por pantalla que se haya dentro del ciclo [“ahora puede ingresar..].
_ El mientras marca como condición que mientras la variable alfanumérica o alfabética “$respuesta” contenga como valor “si” se llevaran acabo repetitivamente (aunque no iguales) todas las operaciones dentro del mismo.
_ Muestro por pantalla que ya puede ingresar la venta.
_ Tomo el ingreso de datos (el valor de la venta)
_ Se incrementa el contador (ya que una venta fue efectuada, el contador finalmente contendrá un valor igual a todas las ventas realizadas, es decir, si cada vez que hay un ingreso el contador se aumenta en 1 por lógica podríamos decir que el contador cuenta los ingresos de datos).
_Se acumula la ultima venta ingresada (al salir del bucle esta variable contendrá la sumatoria de todas las ventas ingresadas lo cual será igual al total recaudado)
_ Doy a elegir al usuario si desea ingresar más ventas o ver los resultados o ver cuantas ventas hizo en el día, cuanto recaudo, y salir del programa.
_ Tomo la respuesta del usuario, si esta es “si” el bucle volverá a comenzar desde su primera operación, guardando los resultados de las anteriores (para seguir contando y acumulando), cuando el usuario ingrese algo distinto de “si” por no querer ingresar más datos el bucle se cerrara y continuara el recorrido hacia la muestra por pantalla de “Cont y acu” (cantidad de ventas y total recaudado) y tras esto el programa llegará a su FIN.
Es decir el usuario decide cuando desea ver los resultados y salir del programa.
Se podría haber echo algo más complejo, pero esto es solo parte de nuestro aprendizaje.


Información:

Si bien pensaba, incluir en este mismo capitulo la prueba de escritorio, ejemplos de uso del ciclo variar, ejercicios y otras tantas cosas, puesto que el capitulo se a tornado bastante extenso, dejare estos conceptos para el siguiente capitulo.
No olviden que lo prometido es deuda, y pido paciencia para la espera del siguiente capítulo =)
Espero que expongas todas sus dudas ahora, y previo a esto damos por finalizado capitulo III del curso 0.

PD: Los temas designados para el siguiente capitulo, al menos que se torne tan extenso como este serán: ejemplos con variar, prueba de escritorio, variables auxiliares, decisión múltiple (switch), uso del “mod”, ejercicios y otras tantas cosas.

Gracias a todos por su paciencia.
Disculpen me desinscribí de mi propio tema no se por que.. luego de dudas o lo que sea respondo todo lo anterior junto para no hacer 3 post seguidos y abarcar todo en el mismo.

Saludos :copas:
« Última modificación: Enero 27, 2010, 06:18:39 pm por Solid Water »

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Programar desde 0 / Nuevos acá.
« Respuesta #23 en: Enero 27, 2010, 06:18:07 pm »
Esto se pone bueno

Desconectado Solid Water

  • Moderador
  • *****
  • Mensajes: 1112
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #24 en: Enero 27, 2010, 06:28:09 pm »

Gracias, haz como te paresca,  si vámos a dictar el curso, creo que sería bueno, dividir los capitulos, para no repetir los 2 el mismo tema.

Ahí tenes =)

Gracias por la motivación ;D

PD: Perdón a todos me desinscribí del tema sin querer.

Saludos :copas:

« Última modificación: Noviembre 19, 2011, 09:54:56 pm por گӨ£ĭÐ ﮖŋąќЭ »

Desconectado coredump

  • Yo vivo en CPH
  • ***
  • Mensajes: 408
  • Sexo: Masculino
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #25 en: Enero 27, 2010, 09:24:32 pm »
Acabo de crear un nuevo tema, donde de a poco voy a ir presentando un estilo diferente de diagramas. Pero no voy a entrar en tema de algoritmos propiamente dicho, creo que lo que estás haciendo aquí es más que suficiente. En lo posible, me gustaría ir traduciendo a estos otros diagramas los algoritmos que vayas planteando (si estás de acuerdo, claro).

Es este: You are not allowed to view links. Register or Login

Saludos!!
« Última modificación: Enero 27, 2010, 10:06:00 pm por coredump »
Generation no: 298
Generation no: 299
Generation no: 300
The end of all the generations.
The best solution found is Program number: 42
+--DIV
|  +--[0]
|  +--[0]
The fitness value is: 68
Press any key to terminate....

Desconectado Solid Water

  • Moderador
  • *****
  • Mensajes: 1112
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #26 en: Enero 28, 2010, 01:09:45 am »
You are not allowed to view links. Register or Login[/url]

Saludos!!

Buena onda, estaría bueno un pseudocódigo también. Si sabes pasarlo a mi me serviría ;D
El de las "carpas" ya lo había visto xD

Saludos :copas:
« Última modificación: Enero 28, 2010, 11:42:05 pm por Solid Water »

Desconectado lord_x

  • Me das tu IP?
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #27 en: Enero 29, 2010, 12:11:13 pm »
Buenas yo tampoco soy experto pero podria ayudar con esto deberiamos anotar quien quiere realizar el curso o iniciar el aprendizaje y colocarnos de lleno con esto y luego a psar a un lenguaje.. pero como ustedes dicen iniciar desde cero..

salu2.

   By LorD x
You are not allowed to view links. Register or Login You are not allowed to view links. Register or Login

Desconectado angelcont22

  • Me das tu IP?
  • *
  • Mensajes: 176
    • Ver Perfil
Re: Programar desde 0 / Nuevos acá.
« Respuesta #28 en: Febrero 01, 2010, 11:18:32 pm »
Ok definitivamente me integro a este  curso, ya me meto a realizar este ejercicio y presentare mi solucion.

Espero edites mas informacion,  es muy útil, esto esta muy bien... Gracias.

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: Programar desde 0 / Nuevos acá.
« Respuesta #29 en: Febrero 01, 2010, 11:20:15 pm »
Si, el crea Capitulos interesantes... Ya esperamos mas
Mientras puedes realizar los ejercicios...
« Última modificación: Febrero 01, 2010, 11:21:03 pm por JaAViEr »


xx
Aprender a Programar en C/C++ desde cero.

Iniciado por Cadm

1 Respuestas
1151 Vistas
Último mensaje Mayo 31, 2014, 06:06:33 am
por .xAk.
xx
Programar desde linux para windows

Iniciado por pinger

6 Respuestas
2345 Vistas
Último mensaje Marzo 15, 2007, 01:18:34 pm
por kamui23
xx
Programar la bios de seven para que arranque desde el puerto usb

Iniciado por angelcont22

4 Respuestas
1836 Vistas
Último mensaje Abril 29, 2012, 10:41:31 pm
por angelcont22
exclamation
Otros diagramas de flujos (apéndice a "Programar desde 0")

Iniciado por coredump

6 Respuestas
2686 Vistas
Último mensaje Febrero 10, 2010, 11:17:35 pm
por angelcont22
xx
CURSO HACKING DESDE CERO [NUEVOS AQUÍ]

Iniciado por DUDA!

1 Respuestas
930 Vistas
Último mensaje Abril 04, 2017, 12:39:18 pm
por Xamplo!
xx
[python]VideoTraining Aprende A Programar En Python desde 0

Iniciado por juh

1 Respuestas
2280 Vistas
Último mensaje ſeptiembre 30, 2010, 07:54:52 pm
por Sthefano02
resuelto
[Solucionado] ¿Programar en VB6 es lo mismo que programar en VBS?

Iniciado por klaine

2 Respuestas
1396 Vistas
Último mensaje ſeptiembre 01, 2010, 07:39:09 pm
por klaine
resuelto
Nuevos viejos nuevos rangos

Iniciado por rgb90

33 Respuestas
14841 Vistas
Último mensaje Febrero 22, 2011, 02:29:02 pm
por Josekpo123
xx
Quisiera logearme desde la consola (GNU/Linux) a facebook desde Python

Iniciado por SixP4ck3r

3 Respuestas
1847 Vistas
Último mensaje Mayo 14, 2012, 06:52:54 pm
por leyenda1
question
habilitar servicio telnet desde DOS en w vista en una pc remota desde mi cliente

Iniciado por dinamix

0 Respuestas
1740 Vistas
Último mensaje Noviembre 06, 2009, 02:53:02 pm
por dinamix