[IP] Oberon reeks2

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Nathan
Posts: 64
Contact:

[IP] Oberon reeks2

Post#1 » Wed Oct 20, 2010 8:05 pm

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?
"Man is least himself when he talks in his own person...Give him a mask and he will tell the truth." - Anon.

2010-2011: WINAK Schacht.
2011-2012: WINAK Ancien.
2012-2013: WINAK Ancien.

User avatar
smitske
Posts: 34

Re: [IP] Oberon reeks2

Post#2 » Wed Oct 20, 2010 8:07 pm

kzou zeggen doe i:INTEGER
i := ENTIER (x) ; en dan daarmee werken, werkten toch voor mij (1 van de enige oefeningen overigens xp)
"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe."
Albert E.

User avatar
Timmy
Posts: 844

Re: [IP] Oberon reeks2

Post#3 » Wed Oct 20, 2010 8:10 pm

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 :)

User avatar
Nathan
Posts: 64
Contact:

Re: [IP] Oberon reeks2

Post#4 » Wed Oct 20, 2010 8:15 pm

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
"Man is least himself when he talks in his own person...Give him a mask and he will tell the truth." - Anon.

2010-2011: WINAK Schacht.
2011-2012: WINAK Ancien.
2012-2013: WINAK Ancien.

User avatar
Nathan
Posts: 64
Contact:

Re: [IP] Oberon reeks2

Post#5 » Wed Oct 20, 2010 8:24 pm

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?
"Man is least himself when he talks in his own person...Give him a mask and he will tell the truth." - Anon.

2010-2011: WINAK Schacht.
2011-2012: WINAK Ancien.
2012-2013: WINAK Ancien.

User avatar
Timmy
Posts: 844

Re: [IP] Oberon reeks2

Post#6 » Wed Oct 20, 2010 8:26 pm

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
Last edited by Timmy on Wed Oct 20, 2010 11:49 pm, edited 1 time in total.

User avatar
Nathan
Posts: 64
Contact:

Re: [IP] Oberon reeks2

Post#7 » Wed Oct 20, 2010 8:35 pm

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
"Man is least himself when he talks in his own person...Give him a mask and he will tell the truth." - Anon.

2010-2011: WINAK Schacht.
2011-2012: WINAK Ancien.
2012-2013: WINAK Ancien.

User avatar
Fristi
WOZ
Posts: 4565

Re: [IP] Oberon reeks2

Post#8 » Wed Oct 20, 2010 9:52 pm

Je kan in het vervolg ook gebruik maken van onze "code" tags die zelfs syntax highlighting hebben voor oberon-2! :)
Fristi Ad Infinitum

WINAK WOZ 2013 - ...
WINAK Magister Fristi 2012-2013
WINAK Feest 2011-2012
WINAK Schachtentemmer 2010-2011
WINAK Scriptor 2008-2009 | 2009-2010

User avatar
Tom
Posts: 602

Re: [IP] Oberon reeks2

Post#9 » Wed Oct 20, 2010 10:17 pm

[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

User avatar
djgl3nn
WOZ
Posts: 1938

Re: [IP] Oberon reeks2

Post#10 » Fri Oct 22, 2010 11:58 pm

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 ,)
WINAK Schacht 2009-2010
WINAK Sport 2010-2011
WINAK Mentor Informatica 2011-2012
WINAK Ouwe Zak 2012-...

UA Sportraad Webmaster 2012-...

User avatar
BFC
WOZ
Posts: 719

Re: [IP] Oberon reeks2

Post#11 » Sat Oct 23, 2010 1:08 am

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 ;)
I'm not random, you just can't think as fast as me

JR
Posts: 23

Re: [IP] Oberon reeks2

Post#12 » Sun Oct 24, 2010 11:56 am

Voor dit soort functies is de kans sowieso wel vrij groot dat er een paar mensen "dezelfde" code hebben.

User avatar
Chrizzle
WOZ
Posts: 449

Re: [IP] Oberon reeks2

Post#13 » Sun Oct 24, 2010 3:07 pm

'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.
irc.winak.be:6667
#winak

User avatar
djgl3nn
WOZ
Posts: 1938

Re: [IP] Oberon reeks2

Post#14 » Mon Oct 25, 2010 3:22 pm

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
WINAK Schacht 2009-2010
WINAK Sport 2010-2011
WINAK Mentor Informatica 2011-2012
WINAK Ouwe Zak 2012-...

UA Sportraad Webmaster 2012-...

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 3 guests

cron