Page 1 of 1

[IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:05 pm
by Nathan
Oef : Schrijf een programma dat een reëel getal afleest en daarna de getallen voor en de getallen na de komma apart weergeeft. (Maak gebruik van ENTIER)
Dit heb ik tot nu toe :

PROCEDURE Oef6*();

VAR
x, nakomma, eenheden: REAL;

BEGIN
In.Open();
In.Real(x);

eenheden := ENTIER(x);
In.Real(x);
nakomma := x-ENTIER(x);

OutExt.String("Aantal eenheden dat uw getal bevat: ");
OutExt.RealFix(eenheden,0,0);
OutExt.Ln();
OutExt.String("Dit zijn de getallen na de komma: ");
OutExt.RealFix(nakomma, 0,5);
OutExt.Ln();

END Oef6;

En ik krijg als output voor bij 12,12345 :
Aantal eenheden dat uw getal bevat : 12.
Dit zijn de getallen na de komma: 0.0000

Terwijl ik dan toch 0.12345 zou moeten krijgen, aangezien x - [x] = de getallen na de komma van x?
Zou iemand kunne helpen =D?

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:07 pm
by smitske
kzou zeggen doe i:INTEGER
i := ENTIER (x) ; en dan daarmee werken, werkten toch voor mij (1 van de enige oefeningen overigens xp)

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:10 pm
by Timmy
Het probleem is daar dat ge 2x In.Real(x); doet, dus ge zegt eigenlijk tegen u programma om 2x een getal in te lezen. Gevolg: Die leest de eerste keer u getal in, en daarna 0 (omdattem niets meer vindt).

Die 2de In.Real(x) is overbodig, want ge doet enkel ENTIER(x);, wat niets verandert aan die x, dus die x blijft gewoon u ingelezen getal. Als ge die weghaalt zou het moeten werken denk ik :)

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:15 pm
by Nathan
Timmy wrote:Het probleem is daar dat ge 2x In.Real(x); doet, dus ge zegt eigenlijk tegen u programma om 2x een getal in te lezen. Gevolg: Die leest de eerste keer u getal in, en daarna 0 (omdattem niets meer vindt).

Die 2de In.Real(x) is overbodig, want ge doet enkel ENTIER(x);, wat niets verandert aan die x, dus die x blijft gewoon u ingelezen getal. Als ge die weghaalt zou het moeten werken denk ik :)
Negative, nog steeds 0.0000

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:24 pm
by Nathan
smitske wrote:kzou zeggen doe i:INTEGER
i := ENTIER (x) ; en dan daarmee werken, werkten toch voor mij (1 van de enige oefeningen overigens xp)
Kunde uwe code is copy pasten dan, want als ik da doe krijg ik error. Ik neem aan omdat em Genen Int wil nemen door me ne Real te rekenen?

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:26 pm
by Timmy

Code: Select all

PROCEDURE Test*();
		VAR
			in, after : REAL;
			before : LONGINT;
	BEGIN
		In.Open();
		In.Real(in);
		before := ENTIER(in);
		after := in - ENTIER(in);
		OutExt.Int(before,10); OutExt.RealFix(after,10,10);
		OutExt.Ln;
		
	END Test;
Hebk in de rapte ff gecode (omslachtig, maar twas weer ff wennen aan die syntax :D), werkt hier :)

Output code:

Test.Test 10.5548656489
10 0.5548658300

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 8:35 pm
by Nathan
Timmy wrote:PROCEDURE Test*();
VAR
in, after : REAL;
before : LONGINT;
BEGIN
In.Open();
In.Real(in);
before := ENTIER(in);
after := in - ENTIER(in);
OutExt.Int(before,10); OutExt.RealFix(after,10,10);
OutExt.Ln;

END Test;

Hebk in de rapte ff gecode (omslachtig, maar twas weer ff wennen aan die syntax :D), werkt hier :)

Output code:

Test.Test 10.5548656489
10 0.5548658300
En zo werkt het dan wel, Fucking computers, how do they work.
Thx!

Lol, voor de een of andere reden, geeft hij, als ik em om 10 getallen na de komma laat staan, voor het getal 12.22222
De uitkomst 12 / 0.2222200402
Altijd leuk xD

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 9:52 pm
by Fristi
Je kan in het vervolg ook gebruik maken van onze "code" tags die zelfs syntax highlighting hebben voor oberon-2! :)

Re: [IP] Oberon reeks2

Posted: Wed Oct 20, 2010 10:17 pm
by Tom
[syntax=oberon2]PROCEDURE Test*();
VAR
in, after : REAL;
before : LONGINT;
BEGIN
In.Open();
In.Real(in);
before := ENTIER(in);
after := in - ENTIER(in);
OutExt.Int(before,10); OutExt.RealFix(after,10,10);
OutExt.Ln;

END Test;[/syntax]

Welke syntax highlighting? :-(

edit by joachim: aub :p

Re: [IP] Oberon reeks2

Posted: Fri Oct 22, 2010 11:58 pm
by djgl3nn
Nathan wrote:
Timmy wrote:PR
En zo werkt het dan wel, Fucking computers, how do they work.
Thx!

Lol, voor de een of andere reden, geeft hij, als ik em om 10 getallen na de komma laat staan, voor het getal 12.22222
De uitkomst 12 / 0.2222200402
Altijd leuk xD
ge ga bij CSCA nog wel zien waarom da da getal ni exact hetzelfde is :p

en nog iets.. kopieer GEEN code van elkaar.. loopt slecht af ,)

Re: [IP] Oberon reeks2

Posted: Sat Oct 23, 2010 1:08 am
by BFC
djgl3nn wrote:
Nathan wrote:
Timmy wrote:PR
En zo werkt het dan wel, Fucking computers, how do they work.
Thx!

Lol, voor de een of andere reden, geeft hij, als ik em om 10 getallen na de komma laat staan, voor het getal 12.22222
De uitkomst 12 / 0.2222200402
Altijd leuk xD
ge ga bij CSCA nog wel zien waarom da da getal ni exact hetzelfde is :p

en nog iets.. kopieer GEEN code van elkaar.. loopt slecht af ,)
En zelfs als kopieert ge nie, loopt het soms slecht af ;)

Re: [IP] Oberon reeks2

Posted: Sun Oct 24, 2010 11:56 am
by JR
Voor dit soort functies is de kans sowieso wel vrij groot dat er een paar mensen "dezelfde" code hebben.

Re: [IP] Oberon reeks2

Posted: Sun Oct 24, 2010 3:07 pm
by Chrizzle
't is ook niet dat dit persé op punten staat. Het gaat hem voornamelijk om de gelinkte lijst die ge aan 't einde van het semester moet schrijven.

Re: [IP] Oberon reeks2

Posted: Mon Oct 25, 2010 3:22 pm
by djgl3nn
Christophe_ wrote:'t is ook niet dat dit persé op punten staat. Het gaat hem voornamelijk om de gelinkte lijst die ge aan 't einde van het semester moet schrijven.
en matrix & vector in OO is ook best handig