"ningun libro es inutil, a menos que no sea leido" (Autor desconocido)
Veras... cualquier libro que te pueda enseñar los conceptos de programacion es util. Indiferentemente del lenguaje que pienses usar (Pascal Basic, Phyton, assembler o binario puro y duro, JAJA) cualquier cosa que pueda enseñarte como comprender la funcionalidad de un programa o el diseño de algoritmos, puede ser util.
Por darte un ejemplo: (Ah, y yo tampoco soy programador.)
Un algoritmo es una serie de pasos a seguir que cuentan con una estructura, un orden y una finalidad. Esto es el paso principal al momento de diseñar un programa. Diseñar como trabaja. Para esto se usa comunmente un flujograma que no es mas que el diseño en bloques "Teoricos" como va a funcionar un programa. Despues, (En programacion orientada a objetos) cada paso es hecho en algun lenguaje. esto es para facilitar la interconeccion de modulos (Para entenderlo mas facilmente al momento de programarlo, se parece mas a un flujograma media vez se haya hecho.) y el ultimo paso, es hacerlo funcionar y debugearlo (Debugear quiere decir generalmente extirpar los errores)
Ahora bien. tu estas en un curso para programacion de especializada en contabilidad. Cada uno de los modulos de una "Suite contable" puede ser un programa aislado que trata con otros programas a la orden de un programa principal, que puede ser la interface de usuario.
para ilustrarte un poco el confuso parrafo que acabo de mencionarte, podemos poner como ejemplo, en esta suite contable, que el usuario tiene varias opciones de las cuales elegir.
Facturas, planilla, bodega, cajas, y Etc.
Si seleccionas la seccion Facturas, el programa principal llama a un modulo que podria ser un programa llamado Facturas. Este va a mostrarte un cuadro de dialogo en donde te pide llenar los datos de la factura.
Facturas tiene una rutina interna que le dice que a cada dato tecleado tiene que almacenarlo en pantalla, y en memoria.
despues de que los datos han sido aceptados por el usuario, se tiene que ir a escribir a la base de datos de "Cajas" que haga un ingreso de capital, y que añada el numerio de la factura a la cuenta de facturas hechas.
Tambien optativamente el programa puede escribir en el modulo de "impresion" (que en este caso puede ser un modulo escondido al usuario) para que imprima la factura.
Media vez cierras el subprograma "Facturas" el programa principal que puede llamarse "Contabilidad" queda libre para ejecutar otra tarea.
Ahora, separando el modulo de Facturas en sus pasos, en un bloque muy sencillo seria algo como :
Desplegar factura en limpio. (Campos: Nombre, Nit, Direccion, Monto, Descripcion; total.) (Si, vale es una factura de ejemplo. Cada valor tiene atibutos especiales. Total es un valor numerico en moneda, mientras que nombre es un valor alfanumerico [Numeros y letras] Descripcion cuenta con valores mixtos, puesto que el producto o servicio puede ser una descripcion alfanumerica, mientras que costo [En descripcion] es un valor numerico.)
Acceder a una entrada (Teclado en este caso, aunque podria ser un codigo de barras, lector de tarjetas magneticas o lo que sea)
Almacenar datos ingresados (Esto se hace generalmente en la memoria de trabajo del programa)
Mostrar datos (Esto se hace leyendo la informacion recien almacenada en memoria. Media vez terminas de escribir la factura, puede haber una instruccion en donde te pregunte, si quieres confirmar la factura o hacerle cambios)
Escribir en la base de datos (Ahora, si tu suite cuenta con una base de datos relacional, hara de una vez la descarga de bodega de los productos vendidos en la factura, un ingreso del capital en la base de datos de caja, y otro ingreso en la base de datos "libro contable" [Para hacienda o el fisco ] todos relacionados con "llamemosle Juan Perez". [Esto es muy util cuando al buscar a Juan Perez en la base de datos puedas tener los movimientos que este señor hizo. Cuanto le represento a tu empresa en ganancias, que compro, cuando y cuanto de impuestos pago, ademas de la ganancia a tu empresa.
Imprimir la factura. Aqui puede haber un modulo de impresion, el cual, [imaginemos que esta configurado para una impresora especial, como la de los supermercados) aunque no lo notes, es un programa aparte. No lo vez, por que, a menos que este requiera una confirmacion (Que seria raro) recibe los datos de la factura, los posiciona en el lugar adecuado de la factura real y la imprime, todo sin interaccion del usuario.
El flujograma.
Esto no es mas que un diagrama de pasos que el programa tiene que realizar.
Por darte una idea, el flujograma de la suite "Facturas" puede ser algo tan sencillo como
Mostrar factura
Nombre si o no. ([Condicional si] Si si, entonces pasar al siguiente campo. si no, mostrar mensaje de error "Falta el nombre) Sigueinte campo.
Monto. ([Condicional si / no.] Si monto = 0 entonces mostrar "error monto igual a cero no es valido"; de otro modo ir a siguiente campo)
Descripcion. (Pedir descripcion, luego costo. Si descripcion = a Vacia, entonces mostrar error "descripcion vacia, por favor infrese el dato"; de otro modo, pasar a campo "Costo" si "costo" = a vacio, mostrar "Costo nulo [Si/No], ([si, costo = nulo: imprimir en campo "sin valor"; de otro modo mostrar [Ingrese el costo]
Total: (Esta es una rutina automatica que toma los valores de Costo, los suma y optativamente los opera por un porcentaje [llamemosle el porcentaje de Ganancia] y automaticamente ingresa el valor al total.
Procesos escondidos. Tu suite puede tener varios procesos en los cuales el usuario no tiene ninguna interaccion como
Descargar de bodega. (Un codigo para cada producto es asignado a cada cosa que tengas. Cada vez que vendes uno, este codigo realiza una resta a la bodega y optativamente puede decirte a quien se le vendio. )
Añadir a Facturas. (Puedes tener una base de datos de tus clientes, o simplemente tener una base de datos de las facturas hechas. Estas, numeradas, tambien pueden ingresarse a la base de datos por otros valores, como cliente, monto gastado, y etc.)
Libro. (Esta base de datos puede ser simplemente la suma del Haber, menos el Debe. (un libro contable) pero puede tener relaciones en la base con el nombre del cliente. u otros datos que quieras ingresar.
Imprimir. (Este modulo toma los datos de tu factura almacenada en memoria, los formata (Coloca en donde debe) y la imprime.
Ufff... Creo que me he exagerado un pelito..... JEJE.
Espero te de al menos una idea. Deja saber como te fue.
Una correccion LordCenzo, en la programacion orientada a objetos no se hace cada modulo en un lenguaje diferente. los objetivos son:
Abstraccion, Encapsulamiento, Herencia y Polimorfismo principalmente, aunque no todos los lenguajes orientados a objetos cumplen con los 4.
Uno de los propositos principales, es que cada "Objeto" trabaje por si mismo, ofreciendo una interfaz para que lo puedas usar, pero no importando la implementacion interna, algo parecido a lo que buscan las capas de los Modelos de Referencia de construccion de Redes (OSI, TCI/IP,ATM, etc).
Solo era para aclarar el punto (porque yo si soy programdor) obviamente no explique todo el concepto de la programacion orientada a objetos ya que no es el tema del Hilo.
En cuanto a la pregunta original claro que te ayuda saber hacer algoritmos, para mi es la base de la programacion, si tienes la habilidad de hacer un algoritmo solo falta aprender las reglas del lenguaje en cuestion y listo, en cambio aunque sepas la definicion de un lenguaje de programacion si no puedes plantear "los pasos necesarios para resolver un problema" jamas podras programar ni un ABC
En efecto los lenguajes de programacion han cambiado radicalmente, en la actualidad los lenguajes de programacion de proposito general mas comunes son:
C++, C#, Delphi, Java y para mi desgracia VisualBasic.
Aclaro son los mas comunes en ambiente windows.
Lo que ha hecho cambiar mas a los lenguajes definitivamente es el paradigma de programacion de Moda, en la actualidad tenemos Programacion Orientada a Objetos y Programacion Orientada a Aspectos como complemento de la primera.
En cuanto al mejor entorno de programacion para hacer programas de contabilidad te recomiendo Delphi, la estructura de lenguaje Object Pascal al igual que el de sus predecesores muy facil de entender perfecto desde mi punto de vista para novatos, ademas existen miles de paginas dedicadas a Delphi. De echo hay programas que puedes hacer sin teclear una sola linea de codigo ( lo cual definitivamente desapruebo en un programador, ya que no puedes optimizarlo) pero si no te vas a dedicar a esto, al menos no te engorras tanto. La coneccion a BD es muy sencilla nada de ODBC, con solo crear la tabla, poner un componente en la forma y relacionarlos, listo.
El otro punto (Los algoritmos pueden ser codificados a diferentes lenguajes de programación), efectivamente un algoritmo son solo los pasos necesarios para resolver una problema, no solo de programacion sino de cualquier tipo, por lo tanto tu algoritmo seria igualmente valido para cualquier lenguaje de programacion.... bueno hasta cierto punto, pero en terminos generales si.
Ultimo punto, los tipos de diagramas, en efecto siguen siendo esos mismos 3, el mas recomendado es el diagrama de flujo desde mi punto de vista.
no, pues claro... es cierto. los modulos forman cadenas. ahora yo soy el que tiene una pregunta.... y creo que a ambos, (Aunque a mi me interesa mas la programacion general, no solo para paquetes contables) me interesaria que me informaras sobre algun ebbok o manual de programacion, que sea del tipo, para dummies. Me he metido a intentar con Phyton, pero como que no se me da... ademas algunas cosas aun se me chiflan. Aunque entiendo los conceptos, lo que se me dificulta mas son los lenguajes. (Basic lo medio aprendi.... hace siglos.... pero no me acuerdo de mas que print y cls) asi que me interesaria alguno que me pueda ayudar a aprender lo mas basico de progra, pero que no me deje trabado en un solo lenguaje (Mi intencion es aprender algo como Java o C++ o algo que sea semi "universalmente compilable". Alguna sugerencia?
no, pues claro... es cierto. los modulos forman cadenas. ahora yo soy el que tiene una pregunta.... y creo que a ambos, (Aunque a mi me interesa mas la programacion general, no solo para paquetes contables) me interesaria que me informaras sobre algun ebbok o manual de programacion, que sea del tipo, para dummies. Me he metido a intentar con Phyton, pero como que no se me da... ademas algunas cosas aun se me chiflan. Aunque entiendo los conceptos, lo que se me dificulta mas son los lenguajes. (Basic lo medio aprendi.... hace siglos.... pero no me acuerdo de mas que print y cls) asi que me interesaria alguno que me pueda ayudar a aprender lo mas basico de progra, pero que no me deje trabado en un solo lenguaje (Mi intencion es aprender algo como Java o C++ o algo que sea semi "universalmente compilable". Alguna sugerencia?
Gracias. de antemano.
D_V_L
Pues a mi me intereso la programación y le meti caña a php y c++ (tengan en cuenta que no se nada de programar pero me atrevo a cualquiera) hay buenos manuales en manualesgratis.com y alguna otra que revisare y postearé luego, además de que he leido y preguntado mucho para decidirme, saque en claro que son dos muy utilizables, parecidos, se pueden entroncar uno en otro, y estan de moda, muchas cosas más que me decidieron por ellos, pero no tengo ni idea de los algoritmos esos que dicen uds y cadenas y cosas raras que existen en SUS compus y no en la mia. pero me gustaria leer algo de eso, donde lo encuentro¿
groxº