29 de marzo de 2012

Lliure

Hui he tingut la classe lluire, perquè ja he acabat l'examen. Estic intentant ajudar els meus companys i comparar el meu programa amb altres que estan fets amb xicotetes diferències.

28 de marzo de 2012

Versió 3 Factorial

Hui ja he finalitzat els programes de l'examen. He sigut la primera de la classe en fer-los els dos. Estic molt contenta perquè m'he adonat que he aprés molt de programació en aquest temps. Encara que es podien mirar els apunts i preguntar, només he preguntat dubtes amb les variables, cosa uqe no hem donat a classe. He aconseguit fer en una hora l'exercici de factorials. Anava a un bon camí, pero el rpograma se ficaba a un bucle infinit i es bloquetjava. He aconseguit donar-me compte de com fer-ho per que quedara bé. Ara tins un dia o dos de descans mentre la resta de la classe acaba els exercicis. Demà ajudare a Sara que esta una mica perduda amb el programa de factorials.

27 de marzo de 2012

Versió 2 de SumaPositivos

Ricardo ja s'ha donat compte que el examen ha eixit horrible, i ens ha donat una nova oportunitat. Amb l'examen a la mà, hem d'anar actualitzant-lo dia a dia amb el FreePascal i resolent els errors. Hui, primer hem passar a Pascal el que haviem fet a paper, sense canviar res. Eixa era la versió 1. M'ha donat molta rabia veure errors que he comes, com punts comes i lletres... Però a l'hora de versionar-ho, l'he fet prou be. Avans que acabara la classe ja havia deixat fet el primer treball, que n oestaba res malament al paper, sols amb errors d'escriptura i als bucles. Demá faré la versió 3 i m'encarregarè del programa de factorials. Aquest si em dòna més por, la veritat.

26 de marzo de 2012

Examen


Hui no hem pujat a l'aula d'informàtica. Era dia per a fer l'examen. L'examen era a paper, haviem de fer els algoritmes de dos programas explicats a l'enunciat i fer tambéel programa com l'escriuriem a Pascal. La veritat es que m'ha eixit prou malament, perque m'he envolicat a l'algoritme i al programa he cotmet molts errors.


Els programes havien d'obrirse amb la presentació i tindre repetició infinita.
El primer programa tractaba de sumar números, que havien de ser sencers i possitius. He provat de fer-ho mitjansant funcions de condició, però no sabia ben be com possar que es realitzara la suma quan s'introduira el 0. 


El segon programa, que consistia en el calcul del factorial d'un número sencer, fou un autèntic caos. No tenia idea de com fero, i ni tan sols he acabat el algoritme. A aquest no he ficet la introducció que estaba ja possada al primer, però si es repetia infinitament.


En resum, el examen no ha eixit bé. Havia esudiat com i quan possar les diferents opcions, però m'ha fallat principalment el plantetjament dels programes.

22 de marzo de 2012

Randomize amb repetició

Ja tornem de les vacances de falles, i tornem amb un programa vell pero remasteritzat. El programa de endevinar un numero, amb repetició infinita i dient quantes oportunitats tens. El randomize que escollia un numero al atzar i havies d'endevinar-lo actualitzat amb repetició infinita en un bucle. No ha sigut dificil fer-ho, pero com que estem encara una miqueta de vacances, l'hem acabat hui. És a dir, ens ha llevat dos dies. A vore que fem demà.

13 de marzo de 2012

Vectors

Ahir vam començar un nou programa. Aci la dificultat ja es prou major. Es tracta d'un programa amb vectors. Em que més m'esta costant es entendre com s'ha de fer i per que. S'empren vectors numerats amb diferents elements cadascun (x, y, z, t...).

Ahir fèrem l'algoritme amb ajuda da Ricardo, i hui comencem a programar-lo. Em sembla prou dificil fer-ho, pero, a poc a poc, aconsegueix solucionar els errors.
El programa comença amb una condició en la qual es distingueix entre les dos opcions, completament intependents. Tot el programa també te la opció de repetició infinita.
La primera opció consisteix en el càlcul de la suma (s:=v[1]+v[2]+v[3]+v[4]+v[5]) i la mitjana (m:=s/5) d'un vector de cinc components, també amb la funció for.
Per a la segona opció, he emprat la expressió for per a introduir els elements, i passar al següent vector. El programa calcula la suma (vT[i]:=v1[i]+v2[i]), el producte escalar (pe:=v1[1]*v2[1]+v1[2]*v2[2]+v1[3]*v2[3]) i els mòduls dels dos vectors (mv:=sqr(sqrt(v[i])).
He posat una condició per que quan no s'escollisca ni la opció a ni la b, isca un missatge que diu: "Perdona, no te entendido de nuevo, ¿puedes repetirlo?", i torne a la selecció de la opció.

7 de marzo de 2012

Programes amb bucles

Hui hem emprat la classe en passar tots els algoritmes de les tables a Pascal. Haviem començat ja i sols hem acavat de passar-los i comprovat que funcionaven tots despres de netejar els errors. No m'ha emprat molt de temps mirant els algoritmes i els exemples de la explicació teòrica i hge tingut també per ajudar als meus companys. Els errors més importants son els punts (.) i els punts i comes (;), que no se mai on posar-los i els coloque arbitrariament més o mens fins que em funciona.
Demà continuarem amb açò i farem també amb cualsevol d'aquestos tres programes el de repetició infinita.




6 de marzo de 2012

Bucles

I ara, amb açò, dir que ahir començàrem a fer diferents programes amb el mateix resultat pero utilitzant els diferents bucles.
L'emprarem per a fer les taules de multiplicar. Fèrem una amb repeat, altra amb for i una altra amb while, i observarem el diferent funcionament i com s'escriu cadascuna d'una forma diferent.

Bucles


Aquestes sòn les indicacions teoriques per a fer els tres diferents bucles que es poder programar:


While



While Condicion do
Sentencia

a:=1;
while a<=10 do
begin
   writeln (a);
   a:=a+1;
end;



Repeat

Repeat Sentencia
until Condicion

a:=1;
repeat
   writeln(a);
   a:=a+1;
until a>10;




For

For i:= Valor Inicial to Valor Final do
Sentencia

For a:=1 to 10 do
Begin
   Writeln(a);
End;

Aunque el algoritmo real del for y del while son casi identicos a la hora de la implementacion del programa, la asignacion inicial, la condicion (sólo es en el while pues en el for es unicamente un “conteo”) y la asignacion incremental (en el for va ya incluida en la instruccion en si) se hacen de forma diferente


Bucle para hacer que un programa se repita hasta que nosotros queramos:


Program  zzz;
uses crt;
var a:char;
Begin
  Repeat      
      write (‘Deseas volver a ejecutar el programa S/N? ‘);
      a:=readkey;
  until a in [‘n’,’N’];
End.

1 de marzo de 2012

Randomize


Ahir vam acavar el programa de óptica. Vaig fer-ho amb l'algoritme que havia pujat Ricardo, contemplant les diferents opcions uqe ell havia possat. Vaig trobar tots els errors. Em donava també error a les designacions de les variables, però Ricardo les va arreglar. (integer, real, short, large...).
Hui hem aprés una nova funció: el randomize. Aquesta opció tria nombres a l'atzar dins d'un interval: Per exeple, n1:=random(9)+1 ( del 1 al 10), ó n2:=random(10) (del 0 al 11). El número del parénteris es uan unidad menso que el número más alto de lintervalo. Fuera del paréntesis se suma en número más bajo del intervalo (si no se suma nada es desde cero, y si se queire empezar por el uno, debe sumarse 1).
El programa que hem de fer consisteix en endevinar un numero que el programa tria arbitrariament. Per a fer-hom, tenim un nombre màxim d'intents. No ho he acabat perquè m'han eixit molts errors i no entenia prou bé com solucionar-los. Demà intentare acabar.