* * *

Author Topic: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)  (Read 2707 times)

jjuanjj

  • Newbie
  • Posts: 2
AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« on: December 20, 2017, 03:48:46 am »
Buenas, comencé a estudiar ingeniería informática y en la materia me enseñaron pseudocódigo y Pascal. He hecho ya unos cuantos "programas" muy simples, mas que todo de cálculos matemáticos, estructuras secuenciales y repetitivas, (nada muy complejo para ustedes imagino) el punto es que mi profesora pues, no es muy aplicada que digamos, siento que lo que nos explico fue muy básico.

El punto es que para el 8 de enero tengo que entregar un programa que haga lo siguiente:

El supermercado Las Villas,  desea realizar un programa de una caja registradora para atender a sus clientes. Para este sistema se deben realizar lo siguiente:

-La caja registrara un máximo de 10 artículos por día.
-Contar las cantidades de productos vendidos
-Cantidad de facturas realizadas en el día.
-Imprimir la factura, esta debe detallar lo siguiente:

1)Nombre del supermercado.
2)Rif del Supermercado
3)Fecha de la compra.
4)Hora de la compra.
5)Nombre de cliente.
6)Dirección del cliente.
7)Rif del cliente.
8)Nombre del cajero (a).
9)Numero de factura.
11)El detalle de la compra:(Código del producto, Descripción del producto, Cantidad, Costo del producto.)
12)Total de la compra.
13)IVA de la compra.
14)Total a pagar.
15)Descripción del pago(Efectivo o con tarjeta de débito o con tarjeta de crédito)
Posdata (el rif es registro de informacion fiscal; es decir, un numero de 9 dígitos inventado. y el rif del cliente es la cédula, que también costa de 9 dígitos pero ese valor lo tiene que ingresar el usuario que utilice el programa).

Tengo que hacer esto en un tal "modo gráfico de lazarus". Es decir la factura tiene que ser de manera digital, los datos tienen que aparecer gráficamente. Parece que tendre que usar el inspector de objetos y formularios. Eso es algo que la profesora no nos explico, dijo que lo investiguemos y lo hagamos. Es raro porque en los ejercicios que hacíamos en clase casi siempre usabamos variables tipo entero o reales, y ahora resulta que nos cosas con string y demás.


Quisiera aprender a hacer programas como este, todo consejo sera recibido. Si alguien de casualidad tiene tiempo libre y tiene ganas de enseñarme pues solo que lo diga. Con que me digan con que empezar y los pasos a seguir me bastaría, de verdad quiero aprender, ya tengo la materia aprobada y me da igual si tengo una mala calificacion en esta actividad, lo que realemente quiero hacer es aprender, pero reconozco que no tengo ni p**a idea de donde comenzar con ese proyecto porque no se parece a nada de lo que vimos en el semestre y es mucho mas extenso de  los que he hecho.

Estare lo mas activo que pueda en este post. Agradezco cualquier tipo de comentario, paz.

molly

  • Hero Member
  • *****
  • Posts: 2345
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #1 on: December 20, 2017, 05:25:41 am »
Apparently teachers don't educate students about the basics of programming anymore  :o

First lesson would be to try and learn to read/write English asap, as most documentation/tutorials are written in the English.language. Unfortunately i don't speak/write Spanish so my English writings would have to do ...

With regards to your assignment:

1) You should know and understand relational databases. See here for a quick/small detailed overview.
2) Learn/understand how to design and access databases using Lazarus. Lazarus DataBase faq, Lazarus Database overview (with links to tutorials).
3) Organize all required data that needs to be stored into the database into logical well designed (relational) tables.
4) Design a (logic) flow for your program. Decide how many individual Forms your project requires to be able to access/view and/or enter all data. Personally, i prefer to use a flowchart for that.
5) Start a new project with Lazarus, add/create your forms, add required controls, connect your database(tables) and implement the program flow that you have designed.

In short: Do what your teacher (or teaching books) already should have mentioned to its students.

These are 5 basic steps that i would suggest to use as a starting point. There is not much detail in these steps but those details should come to you the moment you start doing. Usually the design-stage of an application raises enough theoretical and/or practical questions that require answers in order to be able to continue/refine your design.

In case your design-stage (or any other topic) raises question(s) that you are unable to answer yourself then please ask them, preferably with some (detailed) context or perhaps even some (compilable) source-code. It seems to me that you do not even have a minute to waste.

fwiw: I have no idea how someone who wasn't even taught about strings is able to pull off such an assignment in approx. 14 days.

Good Luck !
« Last Edit: December 20, 2017, 06:08:04 am by molly »

lainz

  • Hero Member
  • *****
  • Posts: 2828
    • Home
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #2 on: December 20, 2017, 02:54:59 pm »
I'm native spanish speaker =)

This looks like a simple assignment, these usually are made with a command line application. He must do the same but in a UI application. A database is overkill (for him) for this task, maybe he has not seen databases yet.

About strings, he at least must have used writeln or concatenated strings without knowking. In 6 months not seen strings...

If it is the first grade he has not seen objects as well, so he "must" do this with arrays or array of records.

----------

1, 2: constantes
3, 4: usar now()
5, 6, 7: se cargan en inputs
8: seleccionar de un combobox
9: input numerico
etc...

Imprimir supongo que sera en pantalla, no creo que te hagan imprimir en un papel para un programa tan simple.
« Last Edit: December 20, 2017, 03:23:49 pm by lainz »

molly

  • Hero Member
  • *****
  • Posts: 2345
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #3 on: December 20, 2017, 07:03:45 pm »
Thank you very much lainz.

It might indeed be that i'm a bit off there, as i'm depending on translators. The reason for my reply was this sentence:
Quote
Tengo que hacer esto en un tal "modo gráfico de lazarus". Es decir la factura tiene que ser de manera digital, los datos tienen que aparecer gráficamente. Parece que tendre que usar el inspector de objetos y formularios. Eso es algo que la profesora no nos explico, dijo que lo investiguemos y lo hagamos. Es raro porque en los ejercicios que hacíamos en clase casi siempre usabamos variables tipo entero o reales, y ahora resulta que nos cosas con string y demás.
That roughly translates for me into:
Quote
I have to do this in a "Lazarus graphic mode". That is to say the invoice has to be digitally, the data have to appear graphically. Looks like I'll have to use the object and Forms Inspector. That is something that the teacher did not explain to us, she said that we investigate it and we do it. It's weird because in the exercises we did in class we almost always used integer or real variables, and now it turns out that we have things with string and so on.

Having said that, i did not looked at the topic (so missed the first semester part).

Nevertheless, why don't use the tools that are "given" to you by the teacher and restrict yourself instead ?  :)

It is asked to implement a complete sales/invoice system... dragging in Lazarus and not make use of it does not really make any sense to me, even though when never used visual design, oop and databases before would make this assignment a very steep learning curve. (and in my experience 14 days would be too short for that).

jjuanjj

  • Newbie
  • Posts: 2
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #4 on: December 21, 2017, 04:10:42 am »
Exactamente Lainz, cuando dice imprimir se refiere a la pantalla.

Ñuño_Martínez

  • Hero Member
  • *****
  • Posts: 808
    • Burdjia
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #5 on: December 21, 2017, 09:48:31 am »
Hola jjuanjj.  Bienvenido.

Te voy a dar unos consejos para evitar algunos errores y dificultades que soléis tener los novatos (yo los cometí y tuve cuando empecé, también ;)).

Divide el gran problema en problemas pequeños y ve uno a uno.  Si el problema pequeño todavía es complicado, divídelo también.  Así hasta que encuentres problemas que puedas manejar.  Luego es ir juntando las pequeñas soluciones como un puzle.

La mejor herramienta de desarrollo que existe es una libreta y un boli.  En serio.  Da igual lo que te digan.  Esta es una verdad como una catedral de grande (y soy de Burgos, así que de catedrales sé un un rato :D).  Haz todos los esquemas, tablas y notas que necesites hasta que lo tengas claro.  De verdad.

Por último (por ahora) no metas todo en una única unidad o programa:  separa en unidades y archivos siempre que puedas.  Que cada unidad sea para manejar una cosa.  Lazarus ya te divide cada ventana o diálogo (Form) en un archivo, pero incluso puedes dividir en más:  por ejemplo, en tu caso, yo crearía (al menos) una unidad que definiera los tipos para almacenar y manejar la información de una venta, en vez de meterla en la unidad de la ventana (Form).

Espero que te ayude.
Are you interested in game programming? Join the Pascal Game Development community!
Also visit the Game Development Portal

turrican

  • Full Member
  • ***
  • Posts: 132
  • Pascal is my life.
    • Homepage
Re: AYUDA: Mi primer "gran proyecto". 1er semestre. (Novato)
« Reply #6 on: December 21, 2017, 10:53:02 am »
Hola jjuanjj.  Bienvenido.

Te voy a dar unos consejos para evitar algunos errores y dificultades que soléis tener los novatos (yo los cometí y tuve cuando empecé, también ;)).

Divide el gran problema en problemas pequeños y ve uno a uno.  Si el problema pequeño todavía es complicado, divídelo también.  Así hasta que encuentres problemas que puedas manejar.  Luego es ir juntando las pequeñas soluciones como un puzle.

La mejor herramienta de desarrollo que existe es una libreta y un boli.  En serio.  Da igual lo que te digan.  Esta es una verdad como una catedral de grande (y soy de Burgos, así que de catedrales sé un un rato :D).  Haz todos los esquemas, tablas y notas que necesites hasta que lo tengas claro.  De verdad.

Por último (por ahora) no metas todo en una única unidad o programa:  separa en unidades y archivos siempre que puedas.  Que cada unidad sea para manejar una cosa.  Lazarus ya te divide cada ventana o diálogo (Form) en un archivo, pero incluso puedes dividir en más:  por ejemplo, en tu caso, yo crearía (al menos) una unidad que definiera los tipos para almacenar y manejar la información de una venta, en vez de meterla en la unidad de la ventana (Form).

Espero que te ayude.

+1

Añadir además aplicar los consejos de Ñuño, siempre son muy útiles ;)

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus