Tuesday, April 29, 2008

Tuesday, April 29, 2008

I worked on a paper for my final project about the light bulbs controlled by the computer until 3:30 a.m. I also watched the movie A Beautiful Mind at the dawn. In the morning I went to different places to search the elements or components for my light bulbs project.

These are my grades so far:

Microprocessors and Assemblers
PERIOD I = 7.39
7.0 (exam 1, I really got 1.5 but another grade (the one of 50% of the period) was given to me for this evaluation too just as a gift from the professor to help us, he said the best grade either this one or the one gotten on the 50% would be the final grade for this exam1; 20% of the first period).
8.3 (evaluacion 2, exposition about interruptions, 30% of the period)
7.0 (final evaluation of the first period, 50% of the period)
PERIOD II = 7
7.0 (exam 1, evaluation about instructions of 8085 microprocessor and PIC microcontroller, 20% of the period).
9.o (exposition, evaluation about emu8086 program and about my final project of the light bulbs controlled by a PC, 30% of the period).
5.8 (final evaluation of the second period, about 8085 microprocessor and PIC microcontroller, 50% of the period).

Object-Oriented Programming
PERIOD I
10 (evaluation 1, about functions and procedures 20% of the first period)
10 (evaluation 2, about mathematical induction, 20% of the first period)
10 (evaluation 3, about structures, 10% of the first period)
PERIOD II
8 (evaluation 1, about declaring as Public, Private or Static, 20% of the second period)

Data Transmission
PERIOD I = 7.25
10 (evaluation 1, the written test with two questions, 15% of the first period).
5 (evaluation 2, research about "Punto de Nivel de Transmisión", 5% of the first period).
10 (evaluation 3, research about "Sofómetro", 5% of the first period).
4 (evaluation 3, written exam with 3 questions, and I failed on what is "capacitancia resistiva", 25% of the first period).
8 (evaluation 4, 50% of the first period).
PERIOD II = 5.875
5 (evaluation 1, a written test with two questions, 20% of the first period).
10 (evaluation 2, a written two questions test, 30% of the period).
3.75 (evaluation 3, a written ten questions test, 50% of the period).

Informatics Systems
PERIOD I = 9.08333
8 (evaluation 1, the game about using the mouse in Visual Basic 2005, 16.6666667% of the first period).
8 (evaluation 2, written test, 16.6666667% of the first period).
10 (evaluation 3, the game about mathematical operations for high school students in Visual Basic 2005, 16.6666667% of the first period).
9.5 (evaluation 4, 50% of the first period).
PERIOD II
10 (evaluation 2, the test at the computer lab about doing a program in Visual FoxPro 9.0 for converting a decimal number into its binary equivalent, 25% of the period).

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Monday, April 28, 2008

I worked on my Microprocessors and Assemblers final project (the light bulbs controlled by a computer), and I finished the program at about 4:00 a.m. I thought it would take me longer, but it was great to finish it fast. I continued working in the afternoon on the paper for that program. At 5:00 p.m. I was in the university and I had Object-Oriented Programming class and Microprocessors and Assemblers class at 6:30 p.m. Then at night I continued working with the paper (it's a both final user's and technical manual) of the light bulbs project. These are my grades so far:

Microprocessors and Assemblers
PERIOD I = 7.39
7.0 (exam 1, I really got 1.5 but another grade (the one of 50% of the period) was given to me for this evaluation too just as a gift from the professor to help us, he said the best grade either this one or the one gotten on the 50% would be the final grade for this exam1; 20% of the first period).
8.3 (evaluacion 2, exposition about interruptions, 30% of the period)
7.0 (final evaluation of the first period, 50% of the period)
PERIOD II = 7
7.0 (exam 1, evaluation about instructions of 8085 microprocessor and PIC microcontroller, 20% of the period).
9.o (exposition, evaluation about emu8086 program and about my final project of the light bulbs controlled by a PC, 30% of the period).
5.8 (final evaluation of the second period, about 8085 microprocessor and PIC microcontroller, 50% of the period).

Object-Oriented Programming
PERIOD I
10 (evaluation 1, about functions and procedures 20% of the first period)
10 (evaluation 2, about mathematical induction, 20% of the first period)
10 (evaluation 3, about structures, 10% of the first period)
PERIOD II
8 (evaluation 1, about declaring as Public, Private or Static, 20% of the second period)

Data Transmission
PERIOD I
10 (evaluation 1, the written test with two questions, 15% of the first period).
5 (evaluation 2, investigation about "Punto de Nivel de Transmisión", 5% of the first period).
4 (evaluation 3, written exam with 3 questions, and I failed on what is "capacitancia resistiva", 25% of the first period).
8 (evaluation 4, 50% of the first period).
PERIOD II
5 (evaluation 1, a written test with two questions, 20% of the first period).
10 (evaluation 2, a written two questions test, 30% of the period).

Informatics Systems
PERIOD I = 9.08333
8 (evaluation 1, the game about using the mouse in Visual Basic 2005, 16.6666667% of the first period).
8 (evaluation 2, written test, 16.6666667% of the first period).
10 (evaluation 3, the game about mathematical operations for high school students in Visual Basic 2005, 16.6666667% of the first period).
9.5 (evaluation 4, 50% of the first period).
PERIOD II
10 (evaluation 2, the test at the computer lab about doing a program in Visual FoxPro 9.0 for converting a decimal number into its binary equivalent, 25% of the period).

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Monday, April 28, 2008

Sunday, April 27, 2008

I worked until 1:00 a.m. on my final project for Microprocessors and Assemblers class (the project of the light bulbs...), and I continued working on that in the afternoon and at night. But I spent part of the morning trying to publish works in Blogspot in a very easy way, and I got to do it! I just copy and paste stuff that I have published first in my website, and everything looks great, even the images are pasted, and I changed the background color of the blog, so it looks pretty nice, a baby blue color for the first publication I did in Blogspot in this easy and cool way. What I like of Blogspot is that everything is found by the search engines, so everything I publish at Blogspot is read and seen by a lot of people. This is the first publication I did this way: http://archivosyregistrosenvisualcmasmas.blogspot.com/

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Sunday, April 27, 2008

Saturday, April 26, 2008

I studied Data Transmission from 12:00 a.m. until 4:45 a.m., and then from about 12:00 p.m. until 1:15 p.m. I had my Data Transmission test (the final test of the second period) almost at 3:00 p.m. and I finished it almost at 5:00 p.m., but I felt that it was very difficult and it is super likely that my grade will be low this time, I guess 3 or 4, and I would be surprised if I get 5, because honestly I felt that it was very difficult, not only for me but for my classmates too. But I studied hard and I did my best. At night I continued working on the program about the light bulbs (for my final project in Microprocessors and Assemblers class).

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 25, 2008

Friday, April 25, 2008

I studied Data Transmission at the dawn until about 2:35 a.m. I had Object-Oriented Programming class at 5:00 p.m. and an Informatics Systems test at the computer lab at 6:30 p.m. I think I got 10, but I received help, and this is the program (the test was to convert a decimal number introduced by the user into the binary equivalent, in Visual FoxPro 9.0):

clear
STORE 0 TO a
STORE 0 TO b
STORE 0 TO c
INPUT "valor?" to a
b=SPACE(2)
DO WHILE a>0
c = MOD(a, 2)
b= STR(c,1,0)+b
a=INT(a/2)
ENDDO
?b

This is what we did/learn in the Object-Oriented Programming class:

Las clases se declaran en los módulos para que se encuentren disponibles en cualquier parte del programa.

¿Cómo se instancian las clases? Con la palabra clave "New".

Se tendría por ejemplo esta clase:

Module Module1
Public Class alumno
Public carnet As String
Public edad As String
Public cuota As Double
End Class
Public x As New alumno
End Module

Con "Dim x As alumno" se está declarando una variable. "x new alumno" se está instanciando la clase. Pero en Visual Basic se puede hacer eso en una sóla línea: "Dim x As new alumno". En una misma línea se está declarando y a la vez instanciando.

Ahora un formulario con estos TextBox:

Carnet (En TextBox1)
Edad (En TextBox2)
Couta (En TextBox3)

Carnet (En TextBox4)
Edad (En TextBox5)
Couta (En TextBox6)

Un botón que diga "Enviar a la clase", que contenga el siguiente código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
x.carnet = TextBox1.Text
x.edad = TextBox2.Text
x.cuota = TextBox3.Text
End Sub

Un botón que diga "Traer de la clase", que contenga el siguiente código:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox4.Text = x.carnet
TextBox5.Text = x.edad
TextBox6.Text = x.cuota
End Sub

Si uno manda datos:

Carnet (En TextBox1) = 2001
Edad (En TextBox2) = 11
Couta (En TextBox3) = 111

Clic en "Enviar a clase", luego:

Carnet (En TextBox1) = 2002
Edad (En TextBox2) = 22
Couta (En TextBox3) = 222

Clic en "Enviar a clase", luego:

Carnet (En TextBox1) = 2003
Edad (En TextBox2) = 33
Couta (En TextBox3) = 333

Al darle al botón "Traer de la clase" muerstra:

Carnet (En TextBox4) = 2003
Edad (En TextBox5) = 33
Couta (En TextBox6) = 333

Ahora bien, ¿dónde están los valores "2001, 11, 111" y "2002, 22, 222"?:

a) Se sobreescribieron.
b) Se perdieron.
c) Por ahí han de estar.

La respuesta correcta es: "Por ahí han de estar." No se sobreescribieron ni se perdieron. Existe el "Garbage Collector", cuya función es borrar aquello que no se usa como por cinco minutos por decir algo. Se van creando objetos nuevos y se van al "Garbage Collector", que es en la memoria RAM. Al paso del tiempo si no se usan, se borran.

At night I introduced and printed out my Curriculum Vitae at www.tecoloco.com, since I plan to participate in a program about learning English and possibly getting a job if I do speak English really well.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Thursday, April 24, 2008

I studied Data Transmission and after that Microprocessors and Assemblers until about 4:00 a.m. I continued studying Microprocessors and Assemblers class during the afternoon and I had a test at 6:30 p.m. (final test of the second period). I hope I don't get a bad grade. At night I studied Data Transmission.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Wednesday, April 23, 2008

Wednesday, April 23, 2008

I studied Informatics Systems at the dawn for about three hours, and at about 5:15 p.m. I had Informatics Systems exam. I did not feel that it was difficult, but I am not sure if my grade will be high or not. I will know it later.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Tuesday, April 22, 2008

I studied 8085 instruction set for about 2 hours at the dawn, and I continued doing that in the afternoon, but I also studied PIC microcontroller instruction set in the afternoon and at night as well. Then at the end of the day I started to gather material to study for the Informatics Systems test that I have tomorrow.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Sunday, April 20, 2008

Monday, April 21, 2008

I finished this code at about 12:20 a.m. (see yesterday's blog):

CLEAR
STORE "" TO numerostring &&This String variable is created because in order to use INPUTBOX() function, I have to give a String value to the function.
STORE 0 TO numero &&This is a Double type variable that will take the number introduced by the user, and it will be operated by the program to get the required answer.
STORE 0 TO flag1 &&Variable to control While cycle.
STORE 0 TO iteration &&Variable to know the iteration number (which is eventually the number of digits contained by the number introduced by the user).
numerostring=INPUTBOX(numerostring) &&Getting the value from the user (a number but with String type because that's the way INPUTBOX function works).
numero=VAL(numerostring) &&Converting the number from String type into Double. Then the number will be processed with mathematical calculations to reach the goal of this program.
flag1=1 &&If flag1=1, the While cycle will continue. If flag1=0, the While cycle will stop.
iteration=1 &&The first value for this variable is 1, assuming that the number has 1 digit, and it will be increasing depending on the number of digits that the number contains.
DO while (flag1=1) &&If flag1=1, the While cycle will continue. If flag1=0, the While cycle will stop.
IF ((numero >= (10^(iteration-1))) AND (numero < (10^iteration))) THEN &&In the first iteration, if(numero>=1 AND numero<10).>=10 AND numero<100).>=100 AND numero<1000). flag1="0" iteration =" iteration" iteration =" iteration" href="http://www.jaimemontoya.com/">www.jaimemontoya.com

Sunday, April 20, 2008

I continued working on my website until almost 1:00 a.m., and it is great that I can easily publish stuff with HTML and super fast, without Scribd nor Docstoc tools. From about 1:20 a.m. I studied Visual FoxPro 9.0 and this is what I did/learned:

In Command window I wrote this:

SET DEFAULT to "C:\Documents and Settings\hp pavilion a600n\Desktop"

That was because I want the files to be saved in my Windows XP desktop. Then in Command window I wrote:

MODIFY COMMAND invert_digits

When pressing Enter, "invert_digits.prg" window appears. I wrote a program and just proved code to practice, but I finished practicing at about 1:45 a.m.

I continued studying Visual FoxPro 9.0 from 11:40 a.m. until 12:36 p.m. NOTE for Visual FoxPro 9.0 programming language: if Command windows does not appear or if I close it, it will appear again by pressing
Ctrl + F2.

I studied Visual FoxPro 9.0 again in the afternoon and at night too, and I learned/did this:

I studied and commented this program for inverting digits:


CLEAR &&Cleaning the screen from previous calculations.
STORE "" TO number1 &&Declaring "number1" variable as String. This variable will be processed later as Integet (converter by using the function Val()), but it's necessary to have it first as String because it's necessary to know the number of digits that the number has, and the function LEN() receives a String value.
STORE 0 TO newnumber1 &&This Integer variable will be getting a new number in the process of the calculations in every iteration of the For cycle.
number1=INPUTBOX(number1) &&Getting a String value from the user (which is supposed to be composed by digits only).
longitud=len(number1) &&Getting the length of the String value introduced (which is supposed to be composed by digits only).
total1=0 &&The final result is 0 before the For cycle.
c=longitud &&This variable is to control the number of iterations that will be done by the For cycle. For example if the user introduces "2452", c=4, since the value has 4 digits.
for i=0 to c - 1 &&If the user intruduces "25111", the cycle will go from 0 to 4, which means that it will have 5 iterations.
integerpart=int(val(number1)/10^(longitud-1)) &&The variable "integerpart" takes the first digit from left to right. For example, if the number is "3549", it will be 3549/(10^(4-1))=3.549, but only the integer part will be taken, so number 3 will be taken. Accordingly, integerpart=3 in the first iteration if the number given is 3549.
total1=total1+integerpart*10^i &&In the example of the comment given in the line above, the numbe gotten was 3. Now we want it to become the units of the new number that will be generated. So we 3*(10^0)=3. Accordingly, total1=3 in the first iteration if the number given is 3549.
newnumber1=mod(val(number1),10^(longitud-1)) &&We will have a new number generated. In this case, let's say that we were working with the number "3549", we will have 3549 MOD (10^(4-1))=549. Accordingly, newnumber1=549 in the first iteration if the number given is 3549.
number1=Str(newnumber1) &&newnumber1=549 in the first iteration if the number given is 3549. But "newnumber1" is a variable whose type is Integer. So we use the function Str() to convert the content of the variable "newnumber1" into String and storage or save this result into "number1" variable, which has String type.
longitud=longitud-1 &&This is because if we are in the first iteration and the original number given was 3549, in the two lines above the new number was converter into 549, so "lenght" variable must be 3 because it was 4, since "3549" had 4 digits but now "549" has 3 digits. This way everything will work well with the variables, iterations and everything.
ENDFOR &&End of For cycle.
?INT(total1) &&Prints the total, which is stored in the variable "total1". So if the value introduced was 3549, the final result that will be printed is 9453. If 1234567 was introduced, 7654321 will be printed out.

Something important: I know MOD() is a function to get the residual part of a division, for example
10 MOD 7 = 3. But let's say that I do not have a computer, but only a calculator, and I want to know the residual part of the operation. This is the process to follow:

10 / 7 = 1.428571429
1.428571429 - 1 = 0.4285714286
0.4285714286 * 7 = 3

So
10 MOD 7 = 3

Another example. 42 MOD 55 = 42. So:

42 / 55 = 0.7636363636
0.7636363636 * 55 = 42

Finally
42 MOD 55 = 42

Ejercicio: Sumar cinco números y mostrar la respuesta. Por ejemplo 4 + 5 + 7 + 8 + 9 = 33.

In Command line I wrote:

MODIFY command sumar

Then I wrote the program:

STORE "" TO a
STORE "" TO b
STORE "" TO c
STORE "" TO d
STORE "" TO e
STORE 0 TO result
a=INPUTBOX(a)
b=INPUTBOX(b)
c=INPUTBOX(c)
d=INPUTBOX(d)
e=INPUTBOX(e)
result=VAL(a)+VAL(b)+VAL(c)+VAL(d)+VAL(e)
?result

If I write 1.1+2.2+3.3+4.4+5.5, the output will be 16.5.

Another way to write this program (but a not efficient way because the values must be introduced from the program code and not from the user of this program) is:

a=1.1
b=2.2
c=3.3
d=4.4
e=5.5
result=a+b+c+d+e
?result

In the same way, if I write 1.1+2.2+3.3+4.4+5.5, the output will be 16.5.

Important detail: INPUTBOX() function receives String arguments, not Integer nor Double. If I write INPUTBOX(a) and "a" is Integer type, I will receive this error message in Visual FoxPro 9.0: "Function argument value, type, or count is invalid." Also, just to write in a line "INPUTBOX(a)" would get a value, but it's like just calling a function, it would return a value, but if I do not use that value, what's the sense in calling a function? So I have to use a variable which would take the value returned by the function, for example like this: "a=INPUTBOX(a)" or "variable=INPUTBOX(a)".

I remember I was told that "STORE 0 To a" was declaring "a" as integer, but I have realized that it is not true, and it is just to declare it as number, either Double or Integer.

Ejercicio: Para 320, que como salida se tenga: "El número 320 tiene 3 cifras." Para 4440, salida, salida: "El número 4440 tiene 4 cifras." Pero que el tipo sea numérico para el número introducido, que no sea letra o tipo String.

I typed SET DEFAULT TO "C:\Users\Jaime Montoya\Desktop" in Command so that the programs I do are saved on my Windows Vista desktop. Then I wrote MODIFY COMMAND numberofdigits and on the window numberofdigits.prg I wrote the program:


(See the code finished in tomorrow's blog)...

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Saturday, April 19, 2008

Saturday, April 19, 2008

I studied Data Transmission from 12:00 a.m. until 1:00 a.m. Then I continued studying from about 11:00 a.m. until about 12:30 a.m. I had Data Transmission class in the afternoon, and a written test at the end of the class, at 5:00 p.m. I think I will get 10 in this test, since I felt it was very easy. If I do not get 10 I will be surprised. At night I worked on my website trying to publish stuff without Scribd nor DocStoc systems, but just with HTML. Wow I found a wonderful way to convert files into HTML with the WC3 standards: having a Word document, Save As... and select "Página Web" or "Página Web (filtrado)". Then I just copy the code and put it well on my website, according to my needs. This is the first page I published like this: www.jaimemontoya.com/creaciondearchivosymanejod.php
elIt made me feel really happy to be capable to do this. It was something that I wanted to do since long ago, to publish stuff like this, and I did it before with this page for example: www.jaimemontoya.com/propuestadelproyectoconso.php, but it took me so long. Now I can do it easily by transforming from Microsoft Word into HTML.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 18, 2008

I studied a FoxPro manual until about 3:00 a.m. I had Informatics Systems class at night. When coming back home I studied Data Transmission, since it is very likely that I have a test tomorrow. This is what I wrote from the practical lab class I have tonight in Informatics Systems class:

cada vez que se comience una sesió, lo primero que se debe hacer es escribir "SET DEFAULT to "[ruta_destino]"".
Para el parcial:
1. Laboratorio 1 que hicimos, lo mismo de 3 exposiciones.
2. Primeros 2 o 3 capítulos de cualquier libro de Visual FoxPro,
3. Clase de ahora y clase de viernes pasado, práctica.

UTILIZACIÓN DEL CICLO FOR

En ventana de comandos escribir:

SET DEFAULT to "C:\jaimemontoya"
modify command for_for

Luego aparecerá la ventana "for_for.prg", y escribir ahí:

STORE 0 TO i
FOR i=0 TO 10
?i
ENDfor

Al ejecutarlo, pedirá que se guarde, poner que sí, y aparecerá:

0
1
2
3
4
5
6
7
8
9
10

Lo anterior en Visual Basic sería parecido a esto:

Dim i As Integer
For i=0 To 10
.....
Next i

Ahora lo mismo anterior pero usando While en Visual Basic:

Dim i As Integer
i=0
While i<=10
....
i=i+1
End While

Ahora eso en Visual FoxPro:

Escribir en la ventana de comandos "MODIFY COMMAND while_while", y cuando aparezca la ventana "while_while.prg", escribir:

Store 0 to i
Do while i<=10
?i
i=i+1
enddo

Se imprimirá lo siguiente:

0
1
2
3
4
5
6
7
8
9
10

Para los ciclos suele usarse también el "loop" y el "exit". "loop" es para que regrese al bucle. "exit" es para que se salga anormalmente del buble.

Escribir "MODIFY COMMAND case_case", y aparece la ventana "case_case.prg". Escribir esto ahí y ejecutarlo:

STORE CMONTH(DATE( )) TO month && The month today

DO CASE && Begins loop

CASE INLIST(month,'January','February','March')
STORE 'First Quarter Earnings' TO rpt_title

CASE INLIST(month,'April','May','June')
STORE 'Second Quarter Earnings' TO rpt_title

CASE INLIST(month,'July','August','September')
STORE 'Third Quarter Earnings' TO rpt_title

OTHERWISE
STORE 'Fourth Quarter Earnings' TO rpt_title
ENDCASE && Ends loop
WAIT WINDOW rpt_title NOWAIT

Aparece un cuadrito arriba a la derecha que dice: "Second Quarter Earnings".

Ejercicio 1: Sumar 4 + 5 + 7 + 8 + 9. Respuesta debe dar 33.

Ejercicio 2: Teniendo por ejemplo el número 1048, que invierta posiciones, y quedaría 8401. Eso para cualquier número que sea numérico.

Ejercicio 3: Para 320, que como salida se tenga: "El número 320 tiene 3 cifras." Para 4440, salida, salida: "El número 4440 tiene 4 cifras." Pero que el tipo sea numérico para el número introducido, que no sea letra o tipo String.

Solución del ejercicio 2 queda por ejemplo así:

numero="33461"
longitud=len(numero)
sumasparciales=0
c=longitud
for i=0 to c - 1
parteentera=int(val(numero)/10^(longitud-1))
sumasparciales=sumasparciales+parteentera*10^i
nuevonumero=mod(val(numero),10^(longitud-1))
numero=Str(nuevonumero)
longitud=longitud-1
endfor
?INT(sumasparciales)

Para ejecutarlo, en la ventana Command, escribir "invertirdigitos" y en la ventana "invertirdigitos.prg" que aparezca escribir el siguiente código:

numero="33461"
longitud=len(numero)
sumasparciales=0
c=longitud
for i=0 to c - 1
parteentera=int(val(numero)/10^(longitud-1))
sumasparciales=sumasparciales+parteentera*10^i
nuevonumero=mod(val(numero),10^(longitud-1))
numero=Str(nuevonumero)
longitud=longitud-1
endfor
?INT(sumasparciales)

Luego ejecutarlo y cuando pregunte que si desea guardar ponerle que sí. La salida será:

16433

Para poner comentarios en Visual FoxPro: "&&" o "*".

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 18, 2008

Thursday, April 17, 2008

I watched the movie "The Pursuit of Happyness" from YouTube from 12:00 a.m. until 2:15 a.m., but I was reading a FoxPro manual at the same time, haha, I guess it's like a multitasking skill. I continued studying FoxPro until about 4:00 a.m. In the afternoon I explained a friend everything about the presentation due tonight in Microprocessors and Assemblers class. We had the presentation at 6:45 p.m. and wow things worked out really great. The whole group got a grade of 9.0, or I am not sure if more, but I guess the minimum is 9.0, so we did it great. We explained examples of emu8086 simulator and our final project about the light bulbs, with the program to control everything by using the parallel port, etc. At night I continued reading and studying material of FoxPro (a nice manual in Spanish).

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Thursday, April 17, 2008

Wednesday, April 16, 2008

I had Informatics Systems test in the afternoon and I felt the first part very confusing. After that I explained things to my team for the presentation for Microprocessors and Assemblers class due tomorrow. At night I started to study a PDF manual about FoxPro, and it is a great manual, since everything is explained very nicely and clear. These are my grades so far at the university:

Microprocessors and Assemblers
PERIOD I
7.0 (exam 1, I really got 1.5 but another grade (the one of 50% of the period) was given to me for this evaluation too just as a gift from the professor to help us, he said the best grade either this one or the one gotten on the 50% would be the final grade for this exam1; 20% of the first period).
8.3 (evaluacion 2, exposition about interruptions, 30% of the period)
7.0 (final evaluation of the first period, 50% of the period)
PERIOD I
7.0 (exam 1, evaluation about instructions of 8085 microprocessor and PIC microcontroller, 20% of the period).

Object-Oriented Programming
PERIOD I
10 (evaluation 1, about functions and procedures 20% of the first period)
10 (evaluation 2, about mathematical induction, 20% of the first period)
10 (evaluation 3, about structures, 10% of the first period)
PERIOD II
8 (evaluation 1, about declaring as Public, Private or Static, 20% of the second period)

Data Transmission
PERIOD I
10 (evaluation 1, the written test with two questions, 15% of the first period)
5 (evaluation 2, investigation about "Punto de Nivel de Transmisión", 5% of the first period)
4 (evaluation 3, written exam with 3 questions, and I failed on what is "capacitancia resistiva", 25% of the first period)
8 (evaluation 4, 50% of the first period)
PERIOD I
5 (evaluation 1, a written test with two questions, 20% of the first period)

Informatics Systems
PERIOD I
8 (evaluation 1, the game about using the mouse in Visual Basic 2005, 16.6666667% of the first period)
8 (evaluation 2, written test, 16.6666667% of the first period)
10 (evaluation 3, the game about mathematical operations for high school students in Visual Basic 2005, 16.6666667% of the first period)
9.5 (evaluation 4, 50% of the first period)

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Tuesday, April 15, 2008

Tuesday, April 15, 2008

I studied the program emu8086 during the dawn, then I ate my breakfast and after that I continued studying emu8086 simulator until 7:50 a.m., and these are the examples I got for my team's presentation due this Thursday (I commented the code):

;EXAMPLE 1:

name "bin-oct-hex-decimal" ;Es opcional ponerle nombre al programa. En este caso se llamará "bin-oct-hex-decimal".
org 100h ;Obligatorio en programas COM, pues estos se cargan en el segmento CS=100.
mov al, 00000101b ;Carga valor binario (hex:5h).
mov bl, 0ah ;Carga valor hexadecimal.
mov cl, 10o ;Carga valor octal (hex:8h).
mov dl, 16 ;Carga valor decimal (hex:10h).
add al, bl ;5 + 10 = 15 (0fh).
sub al, cl ;15 - 8 = 7.
ret ;Returns the control to the operating system.

;EXAMPLE 2:

;High bits (los primeros 4 bits de izquierda a derecha) fijan el color de fondo y low bits (los últimos 4 bits de izquierda a derecha) fijan el color de letra. Por ejemplo, el número binario 01011111 significa que el color de fondo es magenta y el color de la letra es blando.
; hex bin color
;
; 0 0000 black
; 1 0001 blue
; 2 0010 green
; 3 0011 cyan
; 4 0100 red
; 5 0101 magenta
; 6 0110 brown
; 7 0111 light gray
; 8 1000 dark gray
; 9 1001 light blue
; a 1010 light green
; b 1011 light cyan
; c 1100 light red
; d 1101 light magenta
; e 1110 yellow
; f 1111 white

name "hola" ;Es opcional ponerle nombre al programa. En este caso se llamará "holamundo".
ORG 100h ;Obligatorio en programas COM, pues estos se cargan en el segmento CS=100.
MOV AX, 0B800h ;Fija AX = B800h (dirección para memoria VGA).
MOV DS, AX ;Copia el valor de AX a DS.
MOV CL, 'H' ;CL = 48h (código ASCII).
MOV CH, 01011111b ;CH = color del atributo, que en este caso es fondo magenta y letra blanca.
MOV BX, 2h ;BX = posicón en pantalla.
MOV [BX], CX ;Escribir [0B800h:0002h] = CX, es decir en la posición de memoria [0B800h:0002h], lo que hay en CX (la letra H que es ASCII 48h con el color de fondo y color de letra seleccionado).

MOV AX, 0B800h ;Fija AX = B800h (dirección para memoria VGA).
MOV DS, AX ;Copia el valor de AX a DS.
MOV CL, 'O' ;CL = 4Fh (código ASCII).
MOV CH, 11110001b ;CH = color del atributo, que en este caso es fondo blanco y letra azul.
MOV BX, 4h ;BX = posicón en pantalla.
MOV [BX], CX ;Escribir [0B800h:0004h] = CX, es decir en la posición de memoria [0B800h:0004h], lo que hay en CX (la letra O que es ASCII 4Fh con el color de fondo y color de letra seleccionado).

MOV AX, 0B800h ;Fija AX = B800h (dirección para memoria VGA).
MOV DS, AX ;Copia el valor de AX a DS.
MOV CL, 'L' ;CL = 4Ch (ASCII code).
MOV CH, 00101111b ;CH = color del atributo, que en este caso es fondo verde y letra blanca.
MOV BX, 6h ;BX = posicón en pantalla.
MOV [BX], CX ;Escribir [0B800h:0006h] = CX, es decir en la posición de memoria [0B800h:0006h], lo que hay en CX (la letra O que es ASCII 4Ch con el color de fondo y color de letra seleccionado).

MOV AX, 0B800h ;Fija AX = B800h (dirección para memoria VGA).
MOV DS, AX ;Copia el valor de AX a DS.
MOV CL, 'A' ; CL = 41h (ASCII code).
MOV CH, 01001110b ;CH = color del atributo, que en este caso es fondo rojo y letra amarilla.
MOV BX, 8h ;BX = posicón en pantalla.
MOV [BX], CX ;Escribir [0B800h:0008h] = CX, es decir en la posición de memoria [0B800h:0008h], lo que hay en CX (la letra O que es ASCII 41h con el color de fondo y color de letra seleccionado).

RET ;Retorna al sistema operativo.

;EXAMPLE 3:

name "interrupciones" ;Es opcional ponerle nombre al programa. En este caso se llamará "interrupciones".
org 100h ;Obligatorio en programas COM, pues estos se cargan en el segmento CS=100.
mov al, 00h ;Si AH=0 y AL=00h, al llamar a la interrupción INT 10h, se tendrá la consola modo texto con un tamaño de 40x25 y 16 colores.
mov ah, 0 ;Leer la explicación para la línea anterior.
int 10h ;Se ejecuta la interrupción, que trabajará de acuerdo a los valores programados en el registro AX (que se compone por AL y AH).
mov ah, 2ah ;Si AH=2Ah y se llama INT 21h, se obtiene la fecha del sistema de esta forma: CX=año (1980-2099) DH=mes DL=día AL=día de la semana, donde 00h=Domingo.
int 21h ;Se ejecuta INT21, que debido a que AH=2Ah, dará a conocer la fecha del sistema mediante los registros.
mov ah,2ch ;Al ejecutar INT 21, obtiene la hora del sistema, así: CH=hora CL=minuto DH=segundo DL=1/100 segundos.
int 21h ;Para obtener la hora del sistema.
mov dx, offset filepath ;La variable "pathname" está declarada al final del código, y tendrá el valor de 43 hexadecimal porque comienza con "C", que corresponde a 43 hexadecimal en código ASCII, pero con el "offset" se hace que se vaya dando el desplazamiento para que se tome toda la cadena "C:\mydir".
mov ah, 39h ;Se debe tener AH=39h para que cuando se llame a la interrupción INT 21h, sea posible crear un directorio.
int 21h ;Se llama la interrupción para que se ejecute la creación del directorio.
ret ;Retorna el control al sistema operativo.
filepath DB "C:\mydir", 0 ;Variable llamada "filepath", cuyo valor es "C:\mydir". Sirve para definir la ubicación en la que se va a crear el directorio o carpeta. Si este programa se corre con el simulador emu8086, se creatá el directorio c:\emu8086\vdrive\C\mydir. Debe ponerse el ", 0" al final, pues si se omite, al final del nombre del directorio aparecerá un símbolo especial, y si se pone otro no se creará el archivo.

;EXAMPLE 4:

name "emu8086libreria" ;Es opcional ponerle nombre al programa. En este caso se llamará "emu8086libreria".
include "emu8086.inc" ;Librería para usar macros y procedimientos predefinidos.
org 100h ;Obligatorio en programas COM, pues estos se cargan en el segmento CS=100.
jmp start ;Saltar sobre las declaraciones.
define_scan_num ;"Se define la función "scan_num", que lo que hace es leer un número introducido por el usuario y guardarlo en el registro CX.
define_print_string ;"Se define la función "print_string", que lo que hace es imprimir una cadena terminada en NULL. La dirección de la cadena está en ds:si.
define_print_num ;Se define la función "print_num", que lo que hace es imprimir un número con signo en AX. "print_num" requiere la declaración de "print_num_uns". "print_num_uns" imprime un número sin signo en AX.
define_print_num_uns ;"print_num" requiere esta declaración.
start: ;Comienza el programa luego de haber hecho las declaraciones.
;Imprime algunos caracteres usando macros de la librerí "emu8086.inc".
putc 'H'
putc 'o'
putc 'l'
putc 'a'
putc ' '
putc 'a'
putc 'm'
putc 'i'
putc 'g'
putc 'o'
putc 's'
putc '!'
;Nueva l&iate;nea.
putc 0Dh
putc 0Ah
printn "El lenguaje ensamblador es de gran utilidad!" ;Imprime cadena usando macro con retorno de carro al final.
;Imprimir cadena usando procedimiento.
lea si, msg ;La variable "msg" se declara al final del código y contiene el mensaje que se va a mostrar en pantalla para pedir que se introduzca un número.
call print_string
call scan_num ;Introduce un número en CX usando procedimiento.
;Nueva línea.
putc 0Dh
putc 0Ah
print "Tu numero de suerte es: " ;Impresión de mensaje.
mov ax, cx ;Se mueve lo que hay en el registro CX hacia el registro AX, pues con la función "scan_num" se habí introducido un número al registro CX usando procedimiento.
call print_num ;Imprime el número en AX usando procedimiento.
;Dar dos saltos de línea.
printn ""
printn ""
;Las siguientes tres líneas son para que no se cierre la consola, sino hasta que el usuario presione un botón, haciendo uso de la interrupción INT 16h cuando AH=0.
printn "Presione cualquier tecla..."
mov ah, 0
int 16h
ret ;Retorna el control al sistema operativo.
msg db "Introduzca un numero entre -32768 y 32767: ", 0 ;Declaración de una variable usada en el código del programa.

In the morning I had a meeting with friends of my team of Microprocessor and Assemblrs class, for the presentation due next Thursay. I explained them things about emu8086 simulator, and about the project and program about the light bulbs. I slept during the afternoon and at night I continued working on stuff for the presentation due next Thursday, learning about the parallel port of the PC and formatting with color the code written right above, since I have to print it out and to be ready with everything for the presentation.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Monday, April 14, 2008

Monday, April 14, 2008

I studied emu8086 program during the down and until 2:50 a.m. In the afternoon I studied Object-Oriented Programming since 2:45 p.m., and I had a test in this class at 5:30 p.m., and I felt the test very easy, so I hope I get a good grade and excellent if possible. After that at 6:45 p.m. I had Microprocessors and Assemblers class. At night I continued studying emu8086 program.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Sunday, April 13, 2008

Sunday, April 13, 2008

I studied the program emu8086 during the dawn since about 3:00 a.m. and I studied some code, and I just commented it, and this is what I learned:

name "hi-world" ;Se puede comenzar a escribir un programa con comentarios o bien con la palabra "name" seguida del nombre que se le va a dar al programa entre comillas, aunque se puede comenzar directamente escribiendo "org 100h", sin escribir al inicio el nombre del programa.
org 100h ;La instrucción "org 100h" es obligatoria en programas COM, porque se cargarán en memoria en la posición CS:100, sabiendo que CS es el registro del segmento de código.
;Debido a que se harán impresiones en pantalla, el primer paso es configurar el modo de video, lo cual se hace utilizando la insterrupción INT 10h junto con el registro AX.
mov ax, 3 ;Con esto se está asignando AH=00h y AL=03h, lo cual sirve para programar modo texto 80x25 de 16 colores y 8 páginas, cuando INT 10h se invoque. Si dejamos AX=0000 (AH=00 y AL=00) y si escribimos "int 10h", lo que sucederá es que la ventana será 40x25, es la única diferencia.
int 10h ;Se llama a la interrupción, que trabaja junto con el registro AX para programar el modo de video. Esto ejecuta una acción directamente, que en este caso es que aparezca la pantalla o consola en modo texto, que tenga medidas 80x25. de 16 colores y 8 páginas.
;Ahora se cancelará el parpadeo y se habilitarán todos los 16 colores.
mov ax, 1003h ;Poner AX=1003h es requisito para que junto con el valor que tenga BX, se pueda regular la intensidad de colores y el parpadeo.
mov bx, 0 ;BX=0000. Tener BH=0 es para evitar problemas sobre algunos adaptadores. Si se pone BL=1, se activa el parpadeo, entonces para desactivarlo se pondrá BL=0, y eso habilita colores intensos, es decir los 16 colores disponibles se tendrán todos habilitados.
int 10h ;Gracias a invocar esta interrupción y a los valores que tiene AX y BX al hacer esta llamada de la interrupción 10h, lo que se está haciendo es cancelar el parpadeo y activar los 16 colores.

I finished to study emu8086 until about 7:30 a.m., and I continued studying this program in part of the afternoon and at night.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Saturday, April 12, 2008

Saturday, April 12, 2008

I worked during the dawn and until almost 5:00 a.m. on a Flash presentation for the exposition that I will have next Thursday, about my final project for Microprocessors and Assemblers class. I finished the presentation in the afternoon and published everything in my website, but with limited access. At night I started to study the program emu8086, which is the one I chose for the presentation that I will have next Thursday. It seems a great program, and it has a great documentation. At night but before starting to study the program emu8086, I finished the test in the course God Has Spoken, the one that I am studying with World Bible School. The exam was extremely easy, but I really love the material and I feel that it is helping my spiritual life. I am glad being a WBS student. I like the courses they have sent to me so far, and hopefully the doctrine is always great, because until this moment from what I have read, everything is wonderful. But I will totally know if all the doctrine is pure until I finish all the courses they are giving to me for free. I really like the courses so far.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 11, 2008

I worked in the dawn until about 3:30 a.m. trying to play some mp3 files on Windows Media Player and making it work in my light bulbs project, but it did not work. It is weird, since it works without problems in Winamp. Windows Media Player really dissapointed me, it was supposed to work these mp3 files, but I don't know why it does not do it. Anyway I will have to use other files. In the afternoon I continued working on my light bulbs project, now trying to begin the presentations. I had Object-Oriented Programming class at 5:15 p.m. and Informatics Systems class after that, at 6:30 p.m. This is what I wrote in a Notepad text processor, from what I learned today in Informatics Systems class:

En la ventana "Command" (Ctrl + F2 si no aparece), aparece por ejemplo:

? 2 + 5 en esa ventana, generara impresión de 5. "?" sirve para imprimir.

En todas las practicas poner en la ventana Command:

Set default to "C:\jaimemontoya", para guardar en esa carpeta.

Si Fox no manda mensaje, se ha ejecutado bien la instrucción.

Para sumar 2 numeros en Visual Basic:

Dim a As Integer
Dim b As Integer
Dim c As Integer
Inputbox(a)
Inputbox(b)
c=a+b
Messagebox(c)

El mismo programa anterior en Visual FoxPro 9, queda así:

"MODIFY COMMAND Entrada1" y presionar Enter.
Aparecerá una ventana llamada "entrada1.prg". Si aparece un asterizco en la barra de título de esa ventana significa que el contenido no se ha guardado. Para guardar, Ctrl + W, o la otra forma, clic en cerrar ventana y guardar.

La palabra Dim de Visual Basic, en FoxPro es el equivalente de Store:

Store 0 to a
Store 0 to b
Store 0 to c

Eso declara a, b y c como enteros. "0.0" en vez de "0" para Double, y "" ó " " para Char.

"@f,c say mensaje get variable" la "f" significa fila, la palabra "c" significa columnas, y las columnas van desde la 1 hasta la 80.

El código queda:

Store 0 to a
Store 0 to b
Store 0 to c
@5,10 say "valor1?" get a
@7,10 say "valor2?" get b
READ
c = a + b
@10,10 say "la suma es "
@10,15 say c

Todo el código anterior escribirlo en la ventana "entrada1.prg" que aparece, y el resultado se verá en el área principal de trabajo de Visual FoxPro. Entonces si uno escribe los valores 1 y 2, se verá el resultado.
Ahora en la ventana Command, escribir "Modify Command Entrada2", y aparecerá la ventana "entrada2.prg". En esa ventana, escribir lo siguiente:

CLEAR
Store 0 to a
Store 0 to b
Store 0 to c
Input "valor1?" to a
Input "valor2?" to b
READ
c = a + b
@10,10 say "la suma es "
@10,15 say c

Se usó "CLEAR" para limpiar pantalla.

Luego clic en el signo rojo de admiración para ejecutar, y hace lo mismo, pide dos números y da como resultado la suma de ellos. Para guardar lo que hay en la ventana "entrada2.prg", Ctrl + W y desaparece dicha ventana, pero para que vuelva a aparecer, en la ventana "Command" escribir "MODIFY COMMAND Entrada2".

Ahora escribir en la ventana "Command", lo siguiente:

MODIFY COMMAND Entrada3, y aparece la ventana "entrada3.prg", en la cual escribir esto:

CLEAR
Store 0 to a
Store 0 to b
Store 0 to c
a=Inputbox("valor1?")
b=Inputbox("valor2?")
c = a + b
@10,10 say "la suma es "
@10,15 say c

Luego ejecutar eso, presionando el signo de admiración rojo, y cuando pida guardar ponerle que sí.

Lo que hace es que si escribo valor1=3 y valor2=5, el resultado será "35", porque concatena. Para corregir eso, hacer lo siguiente:

CLEAR
Store 0 to a
Store 0 to b
Store 0 to c
a=Inputbox("valor1?")
b=Inputbox("valor2?")
c = Val(a) + Val(b)
@10,10 say "la suma es " + c
@10,15 say c

Dará el error "Operator/operand type mismatch", pues hay errores queriendo sumar número con letra. Corregirlo así:

CLEAR
Store 0 to a
Store 0 to b
Store 0 to c
a=Inputbox("valor1?")
b=Inputbox("valor2?")
c = Val(a) + Val(b)
@10,10 say "la suma es " + Str(c)
@10,15 say c

Ahora:

CLEAR
Store 0 to a
Store 0 to b
Store 0 to c
a=Inputbox("valor1?", "usando Inputbox")
b=Inputbox("valor2?", "usando Inputbox")
c = Val(a) + Val(b)
@10,10 say "la suma es " + Str(c)
@10,15 say c

Al ejecutar, hace lo mismo pero pone en la barra de título "usando Inputbox" en las ventanas de captura de datos.

TAREA: leer los primeros 3 capítulos de cualquier manual de Visual FoxPro.

EJERCICIO.

Elaborar un diagrama de flujo que permita introducir 3 valores enteros. El diagrama de flujo mostrará el mayor de ellos.

Ahora escribir en la ventana Command: "Modify Command Mayor". Aparecerá la ventana "mayor.prg", y escribir ahí lo siguiente:

Clear
Store 0 to a
Store 0 to b
Store 0 to c
a=Inputbox("Valor 1?")
b=Inputbox("Valor 2?")
c=Inputbox("valor 3?")
if a>b
temp=a
else
temp=b
endif
if c>temp
temp=c
endif
?temp

Clic en el signo de admiración rojo para ejecutar, luego en la ventana guardar darle que sí, y probar el programa.

Si uno escribe 99, 98 y 101 en los 3 valores a,b y c, dará que el mayor es 99. Eso no es error del diagrama de flujo del programa, sino que el problema es que compara código ASCII de cada valor, y en "101" reconoce que es menor que "99". Corregirlo con herramientas de programación para conversión de tipos, etc.

El código anterior, usarlo con "iif". Irse a la ayuda de Fox, luego en la pestaña Índice escribir "iif" y darle clic a MOstrar.

Hacer el mismo programa mayor de tres números pero con el "iif(parametro1,parametro2,parametro3).

Primero modify command mayor2

Luego ahí programar el programa, ejecutarlo y guardarlo y que funcione.

Queda así:

Clear
Store 0 to a
Store 0 to b
Store 0 to c
STORE 0 TO mayor
STORE 0 TO mayor1
a=Inputbox("Valor 1?")
b=Inputbox("Valor 2?")
c=Inputbox("valor 3?")
mayor = iIF(VAL(A)>VAL(B),A,B)
?IIF(VAL(c)>VAL(mayor),c,mayor)

I began to create presentations in Macromedia Flash 8.0 for my presentation about the light bulbs, which is due this Thursday.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 11, 2008

Thursday, April 10, 2008

I worked during the dawn and until about 6:30 a.m. o my Microprocessors and Assemblers final project. I continued working on that in the afternoon (doing the paper) and at night I tried to fix a problem with Windows Media Player, since it can't read some mp3 files, while Winamp can easily do it, and I need to use sound files for my project of the light bulbs controlled by the parallel port of the PC. Before that at 6:30 p.m. I had Microprocessors and Assemblers class at the university.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Thursday, April 10, 2008

Wednesday, April 9, 2008

I worked until about 2:30 or 3:00 a.m. on my Microprocessors and Assemblers final project about the light bulbs controlled by the PC, and I continued working on that in the afternoon, and right in the afternoon I did a very clever and great way to control a binary counter with the light bulbs by using only 1 Timer object, which was great! I had Informatics Systems class at 5:00 p.m. and at night I continued working on my Microprocessors and Assemblers project, and I worked on the paper or manual of the project.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Wednesday, April 9, 2008

Tuesday, April 8, 2008

I worked until almost 5:00 a.m. on my light bulbs project, and I advanced a lot in the programming part. I continued working on that project in the afternoon and night.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Tuesday, April 8, 2008

Monday, April 7, 2008

I worked during the dawn until 3:00 a.m. on my Microprocessors and Assemblers project about the light bulbs controlled by the parallel port of the PC, and I continued working on that a little in the afternoon. At 5:30 p.m. I had Object-Oriented Programming class and at 6:50 p.m. Microprocessors and Assemblers class. At night I continued working on the project of the light bulbs.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Monday, April 7, 2008

Sunday, April 6, 2008

I worked hard during the dawn and until 5:30 a.m. on my Microprocessors and Assemblers class final project about light bulbs controlled by the parallel port of the PC, and I continued working on that at night. I am advancing a lot, but it does not mean that things are already finished; on the contrary, there is a lot of more work to do for this project.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Saturday, April 5, 2008

Saturday, April 5, 2008

I studied Data Transmission a little in the afternoon and at noon. At 2:00 p.m. I was in Data Transmission class. I had a test at 5:00 p.m., and I surely got 5.0. It's very frustrating because I studied a lot for this test, but the grading system is usually 2 questions and that's it, and a lot of the time 1 of the questions is very difficult to answer correctly, but what can I do?, my responsability is to study hard, and I am really doing my best effort. At night I studied Object-Oriented Programming, specifically about classes, objects, inheritance, encapsulation, abstraction and polymorphism. After that I continued programming in Visual Basic 2005, since I am still working on the program for the project of light bulbs controlled by the parallel port of the PC.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 4, 2008

I studied Data Transmission during the dawn until 4:30 a.m., and I continued studying that in the afternoon. I went to Informatics Systems class at night, and when coming back home from university I continued studying Data Transmission, since I probably have test tomorrow.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Friday, April 4, 2008

Thursday, April 3, 2008

I continued working on the publication Investigaciones de Campo (publishing the paper and presentation) until 1:30 a.m. In the afternoon I worked on the projects of lights controlled with the parallel port of the PC. At night I went to Microprocessors and Assemblers class, and when I came back home I just ate and studied Data Transmission, since it is very likely that I have a test next Saturday.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Thursday, April 3, 2008

Wednesday, April 2, 2008

I worked in the afternoon on a paper about "Investigaciones de Campo", which was for the presentation I had today at 5:00 p.m. in Informatics Systems class. At night I published this material: Investigaciones de Campo. It took me a lot of time because I had to face some problems with Scribd system, but I am glad because I found Docstoc, which is pretty similar, and this is wonderful because now I have two options for publishing my own works. I will use both of them, and I will compare and decide later which on is better and why, but I would say that both of them are great, and Scribd has advantages and disadvantages, just like Docstoc has advantages and disadvantages too. But in general I will evaluate which one has more advantages for me, and the one that I prefer. Right now I see them pretty similar, and I can't say that I like one more than the other one. They both are great and super useful.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

Wednesday, April 2, 2008

Tuesday, April 1, 2008

I had a difficult day because I was with fever during the day, and I felt really bad. But I worked since about 10:00 a.m. and during the afternoon and night, on a Macromedia Flash presentation for my exposition tomorrow in Informatics Systems class.

Jaime Montoya
webmaster@jaimemontoya.com
www.jaimemontoya.com

About Me