Pascal

Moderators: None (Apply to moderate this forum)
Number of threads: 4106
Number of posts: 14016

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Turbo Pascal Help Posted by sweet_serina on 22 Jun 2003 at 11:16 PM
I am a student taking a class in Turbo Pascal (the 5th Ed. book).
I'm terrible at programming and missed the last class. I haven't
been able to find anyone that could help me understand the last work
we were given . I was hoping someone might be able
to explain this to me. I won't receive a grade in this until I complete
all my work and I don't seem to be able to get past this.

self-check pg. 439 #1: (on arrays) Turbo Pascal
The following sequence of statements changes the contents of array X.
Describe what each statement does to the array, and show the final
contents of array X after all statements execute.

X = array
I = index range

I :=3;
X[I] := X[I] + 10.0;
X[I - 1] := X[2 * 1 - 1];
X[I + 1] := X[2 * 1] + X[2 * I + 1);
for I :=3 downto 1 do
X[I + 1] := X[I]

I would appreciate any help I can get with this.
Serina

Report
Re: Turbo Pascal Help Posted by Phat Nat on 23 Jun 2003 at 8:00 AM
: I am a student taking a class in Turbo Pascal (the 5th Ed. book).
: I'm terrible at programming and missed the last class. I haven't
: been able to find anyone that could help me understand the last work
: we were given . I was hoping someone might be able
: to explain this to me. I won't receive a grade in this until I complete
: all my work and I don't seem to be able to get past this.
:
: self-check pg. 439 #1: (on arrays) Turbo Pascal
: The following sequence of statements changes the contents of array X.
: Describe what each statement does to the array, and show the final
: contents of array X after all statements execute.
:
: X = array
: I = index range
:
: I :=3;
: X[I] := X[I] + 10.0;
: X[I - 1] := X[2 * 1 - 1];
: X[I + 1] := X[2 * 1] + X[2 * I + 1);
: for I :=3 downto 1 do
: X[I + 1] := X[I]
:
: I would appreciate any help I can get with this.
: Serina

Hey Serina,

First off, you need to understand what an array is. Think of it like a row of boxes on graph paper. In this case, we'll use 10 boxes in a row and number them from 1..10 You can change put tick marks in any one box, but it will only effect the one.

For the example above:
I :=3;

so just change all the 'I' to '3'. The second line then becomes:
X[3] := X[3] + 10.0;

So box #3 gets 10.0 ticks added to it.

X[3 - 1] := X[2 * 1 - 1];

So box #2 (3-1) will get the same number of ticks that are in box #1 (2*1-1). So if Box[1] (Box #1) has 6 tick marks, then you would make it so box[2] has 6 tick marks as well.

Hope this helps a bit. Monday mornings are not a good time to catch me...

Phat Nat

Report
Re: Turbo Pascal Help Posted by sweet_serina on 23 Jun 2003 at 4:34 PM
: : I am a student taking a class in Turbo Pascal (the 5th Ed. book).
: : I'm terrible at programming and missed the last class. I haven't
: : been able to find anyone that could help me understand the last work
: : we were given . I was hoping someone might be able
: : to explain this to me. I won't receive a grade in this until I complete
: : all my work and I don't seem to be able to get past this.
: :
: : self-check pg. 439 #1: (on arrays) Turbo Pascal
: : The following sequence of statements changes the contents of array X.
: : Describe what each statement does to the array, and show the final
: : contents of array X after all statements execute.
: :
: : X = array
: : I = index range
: :
: : I :=3;
: : X[I] := X[I] + 10.0;
: : X[I - 1] := X[2 * 1 - 1];
: : X[I + 1] := X[2 * 1] + X[2 * I + 1);
: : for I :=3 downto 1 do
: : X[I + 1] := X[I]
: :
: : I would appreciate any help I can get with this.
: : Serina
:
:
: Thanx Nat,
I appreciate your time. I think I understand it better.
Is this right?
1. I :=3; {index = 3}

2. X[3] := X[3] +10; {stores value of 10 in index 3}

3. X[3 - 1] := X[2 * 3 - 1]; {stores same value in index [2] as in index[5]}

4. X[3 + 1] := X[2 * 3] + X[2 * 3 + 1]; {index 4 = sum of index 6 and index 7}

5. for I := 5 to 7 do {initilizes I to 5}

6. X[I] := X[I + 1]; {adds 1 to I}
{index 5 := 5 + 1}
{index 6 := 6 + 1}
{index 7 := 7 +1}

7. for I := 3 down to 1 do {initializes I to 3}

8. X[3 + 1] := X[3] {adds 1 to I}
{X[2 + 1] := X[2]}
{X[1 + 1] := X[1]}

Does this look ok or am I still way off?
Thanx,
Serina


Report
Re: Turbo Pascal Help Posted by zibadian on 23 Jun 2003 at 9:24 PM
: : : I am a student taking a class in Turbo Pascal (the 5th Ed. book).
: : : I'm terrible at programming and missed the last class. I haven't
: : : been able to find anyone that could help me understand the last work
: : : we were given . I was hoping someone might be able
: : : to explain this to me. I won't receive a grade in this until I complete
: : : all my work and I don't seem to be able to get past this.
: : :
: : : self-check pg. 439 #1: (on arrays) Turbo Pascal
: : : The following sequence of statements changes the contents of array X.
: : : Describe what each statement does to the array, and show the final
: : : contents of array X after all statements execute.
: : :
: : : X = array
: : : I = index range
: : :
: : : I :=3;
: : : X[I] := X[I] + 10.0;
: : : X[I - 1] := X[2 * 1 - 1];
: : : X[I + 1] := X[2 * 1] + X[2 * I + 1);
: : : for I :=3 downto 1 do
: : : X[I + 1] := X[I]
: : :
: : : I would appreciate any help I can get with this.
: : : Serina
: :
: :
: : Thanx Nat,
: I appreciate your time. I think I understand it better.
: Is this right?
: 1. I :=3; {index = 3}
:
: 2. X[3] := X[3] +10; {stores value of 10 in index 3}
:
: 3. X[3 - 1] := X[2 * 3 - 1]; {stores same value in index [2] as in index[5]}
:
: 4. X[3 + 1] := X[2 * 3] + X[2 * 3 + 1]; {index 4 = sum of index 6 and index 7}
:
: 5. for I := 5 to 7 do {initilizes I to 5}
:
: 6. X[I] := X[I + 1]; {adds 1 to I}
: {index 5 := 5 + 1}
: {index 6 := 6 + 1}
: {index 7 := 7 +1}
:
: 7. for I := 3 down to 1 do {initializes I to 3}
:
: 8. X[3 + 1] := X[3] {adds 1 to I}
: {X[2 + 1] := X[2]}
: {X[1 + 1] := X[1]}
:
: Does this look ok or am I still way off?
: Thanx,
: Serina
:
A number of your explanations is still a little off. These are 2 and 5 thru 8. 5 & 6 are actually 2 parts of the same statement:
for I := 5 to 7 do  
  X[I] := X[I + 1]; { <== statement ends here } 

Just remember that Pascal uses a semicolon as statement separator. The for-do loop does a little more than initializing I to 5. It also checks if I <= 7 and increments I with each step. The same goes for 7 & 8.
Report
Re: Turbo Pascal Help Posted by sweet_serina on 24 Jun 2003 at 10:53 AM
: A number of your explanations is still a little off. These are 2 and 5 thru 8. 5 & 6 are actually 2 parts of the same statement:
:
: for I := 5 to 7 do  
:   X[I] := X[I + 1]; { <== statement ends here } 
: 

: Just remember that Pascal uses a semicolon as statement separator. The for-do loop does a little more than initializing I to 5. It also checks if I <= 7 and increments I with each step. The same goes for 7 & 8.


:Thanks zibadian,
That helped, I'm working on it.
Serina

Report
Re: Turbo Pascal Help Posted by Phat Nat on 24 Jun 2003 at 7:52 AM
: Thanx Nat,
: I appreciate your time. I think I understand it better.
: Is this right?
: 1. I :=3; {index = 3}
:
: 2. X[3] := X[3] +10; {stores value of 10 in index 3}
:
: 3. X[3 - 1] := X[2 * 3 - 1]; {stores same value in index [2] as in index[5]}
:
: 4. X[3 + 1] := X[2 * 3] + X[2 * 3 + 1]; {index 4 = sum of index 6 and index 7}
:
: 5. for I := 5 to 7 do {initilizes I to 5}
:
: 6. X[I] := X[I + 1]; {adds 1 to I}
: {index 5 := 5 + 1}
: {index 6 := 6 + 1}
: {index 7 := 7 +1}
:
: 7. for I := 3 down to 1 do {initializes I to 3}
:
: 8. X[3 + 1] := X[3] {adds 1 to I}
: {X[2 + 1] := X[2]}
: {X[1 + 1] := X[1]}
:
: Does this look ok or am I still way off?
: Thanx,
: Serina

Pretty close. There are just a few that are a little off:

X = array
I = index range

1. I :=3;
1. I :=3; {index = 3}

2. X[I] := X[I] + 10.0;
2. X[3] := X[3] +10; {stores value of 10 in index 3}
This actually adds 10 to the existing value. If X[3] was set to 5, then this would make it 15

3. X[I-1] := X[2*I-1];
3. X[3-1] := X[2*3-1]; {stores same value in index [2] as in index[5]}

4. X[3+1] := X[2*3] + X[2*3+1]; {index 4 = sum of index 6 and index 7}

5. for I := 5 to 7 do {initilizes I to 5}
this is a loop; usually used with BEGIN and END. This will set I=5, then add one until I=7. Example:
For I := 5 to 7 Do
Begin
     WriteLn(I);
End;

If you ran this, You would see:
5
6
7


6. X[I] := X[I + 1]; {adds 1 to I}
{index 5 := 5 + 1}
{index 6 := 6 + 1}
{index 7 := 7 + 1}

{index 5 := index 6 (5 + 1)}
{index 6 := index 7 (6 + 1)}
{index 7 := index 8 (7 + 1)}


7. for I :=3 downto 1 do
X[I + 1] := X[I]

7. For I := 3 down to 1 do {initializes I to 3}
X[3 + 1] := X[3] {adds 1 to I}
{X[2 + 1] := X[2]}
{X[1 + 1] := X[1]}
For I := 3 down to 1 do {initializes I to 3}
X[3 + 1] := X[3] {index 4 (3+1) = index[3]}
{X[2 + 1] := X[2]}
{X[1 + 1] := X[1]}
When DOWNTO is used in place of TO, I counts down, instead of up

Hope this clears up any problems. If you need more help, just leave a message.

Phat Nat

Report
Re: Turbo Pascal Help Posted by sweet_serina on 24 Jun 2003 at 11:19 AM
This message was edited by sweet_serina at 2003-6-24 20:5:16

:
: Thanx Phat Nat,

This is making more sense to me. This is what I have now:


: X = array
I = index range

1. I :=3; {index = 3}
:
: 2. X[3] := X[3] +10; {adds value of 10 in index 3}
:
: 3. X[3 - 1] := X[2 * 3 - 1]; { same value in index [2] as in
index[5]}
:
: 4. X[3 + 1] := X[2 * 3] + X[2 * 3 + 1];
{index 4 = sum of index 6 and index 7}
:
: 5. for I := 5 to 7 do {initilizes I to 5}
: X[I] := X[I + 1]; {checks if I is <=7 and adds 1 to I}
: {loop}
{index 5 := index 6 (5 + 1)}
: {index 6 := index 7 (6 + 1)}
: {index 7 := index 8 (7 + 1)}
:
: 6. for I := 3 down to 1 do {initializes I to 3}
: X[3 + 1] := X[3] {checks if I is <= 1 and adds 1 to I}
{loop}
: {index [4]= index [3]}
X[2 + 1] := X[2]
{index [3] = index [2]}
X[1 + 1] := X[1]
{index [2] = index [1]}

Am I closer? I'm supposed to show the final contents of array X after all statements execute. I just figured out that I am supposed to substitute code from one program with this code and then tell what it does. My mind doesn't even want to mess with this anymore. I have one program to finish writing and this assignment here to finish and I will earn an ass. degree in computer science, and that is what I feel like, an ass. I have until the 7th to finish but I am beginning to wonder. I think if I get a good nights sleep I'll do better tomorrow. Thanx for looking at this for me and all your help.
Serina


Report
Re: Turbo Pascal Help Posted by Phat Nat on 25 Jun 2003 at 7:53 AM
: 6. for I := 3 down to 1 do {initializes I to 3}
: X[3 + 1] := X[3] {checks if I is <= 1 and adds 1 to I}
: {loop}
: {index [4]= index [3]}
: X[2 + 1] := X[2]
: {index [3] = index [2]}
: X[1 + 1] := X[1]
: {index [2] = index [1]}
:
: Am I closer? I'm supposed to show the final contents of array X after all statements execute. I just figured out that I am supposed to substitute code from one program with this code and then tell what it does. My mind doesn't even want to mess with this anymore. I have one program to finish writing and this assignment here to finish and I will earn an ass. degree in computer science, and that is what I feel like, an ass. I have until the 7th to finish but I am beginning to wonder. I think if I get a good nights sleep I'll do better tomorrow. Thanx for looking at this for me and all your help.
: Serina


Looks good other than the part above. You got the numbers right, but the check is :
6. for I := 3 down to 1 do {initializes I to 3}
X[3 + 1] := X[3] {checks if I is >= 1 and adds 1 to I}

because it starts at 3 and goes down until 1

Phat Nat
Report
Re: Turbo Pascal Help Posted by sweet_serina on 28 Jun 2003 at 11:18 PM
Thanx Phat Nat,
Now I am supposed to use numbers from another program and say what it does and what the final outcome is.
(value of X[I] from other program)
X[1]= 16
X[2]= 12
X[3]=6
X[4]=8
X[5]=2.5
X[6]=12
X[7]=14
X[8]=-54.5
=======================================
I :=3;
X[I] := X[I] + 10;
X[I - 1] := X[2*I-1];
X[I+1] := X[2*I] + X[2*I+1];
for I := 5 to 7 do
X[I] := X[I + 1];
for I := 3 down to 1 do
X[I + 1] := X[I]
=========================================
Is this right?

I = index range
X = array

I := 3; {I = 3}
X[I] := X[I] + 10; { X[3] stores 6(from other program) + 10 = 16}
X[I - 1] := X[2*I-1]; {X[2] = X[5], X[5] = 2.5 }
X[I+1] := X[2*I] + X[2*I+1]; {X[4] = X[6] + X[7], X[4] = X[4]=26}
for I := 5 to 7 do {initializes I to 5 and checks if I>= 7
X[I] := X[I + 1];and increments with each loop}
{X[5]:= X[6], X[5] and X[6] = 12}
{X[6] := X[7], X[6]= 14}
{X[7] := X[8], X[7]= -54.5}

for I := 3 down to 1 do {initializes I to 3}
X[I + 1] := X[I]
{X[4] := X[3], X[4]= 16}
{X[3] := X[2], X[3]= 2.5}
{X[2] ;= X[1], X[2]= 16}

show final contents of array X:
X[1] = 16
X[2] = 16
X[3] = 2.5
X[4] = 16
X[5] = 12
X[6] = 14
X[7] = -54.5
X[8] = -54.5

I think I still did it wrong. I would appreciate it if you can check this for me.
Thanx, Serina


Report
Re: Turbo Pascal Help Posted by Phat Nat on 29 Jun 2003 at 10:54 AM
: Thanx Phat Nat,
: Now I am supposed to use numbers from another program and say what it does and what the final outcome is.
: (value of X[I] from other program)
: X[1]= 16
: X[2]= 12
: X[3]=6
: X[4]=8
: X[5]=2.5
: X[6]=12
: X[7]=14
: X[8]=-54.5
: =======================================
: I :=3;
: X[I] := X[I] + 10;
: X[I - 1] := X[2*I-1];
: X[I+1] := X[2*I] + X[2*I+1];
: for I := 5 to 7 do
: X[I] := X[I + 1];
: for I := 3 down to 1 do
: X[I + 1] := X[I]
: =========================================
: Is this right?
:
: I = index range
: X = array
:
: I := 3; {I = 3}
: X[I] := X[I] + 10; { X[3] stores 6(from other program) + 10 = 16}
: X[I - 1] := X[2*I-1]; {X[2] = X[5], X[5] = 2.5 }
: X[I+1] := X[2*I] + X[2*I+1]; {X[4] = X[6] + X[7], X[4] = X[4]=26}
: for I := 5 to 7 do {initializes I to 5 and checks if I>= 7
: X[I] := X[I + 1];and increments with each loop}
: {X[5]:= X[6], X[5] and X[6] = 12}
: {X[6] := X[7], X[6]= 14}
: {X[7] := X[8], X[7]= -54.5}
:
: for I := 3 down to 1 do {initializes I to 3}
: X[I + 1] := X[I]
: {X[4] := X[3], X[4]= 16}
: {X[3] := X[2], X[3]= 2.5}
: {X[2] ;= X[1], X[2]= 16}
:
: show final contents of array X:
: X[1] = 16
: X[2] = 16
: X[3] = 2.5
: X[4] = 16
: X[5] = 12
: X[6] = 14
: X[7] = -54.5
: X[8] = -54.5
:
: I think I still did it wrong. I would appreciate it if you can check this for me.
: Thanx, Serina

Looks right, but I'm in a rush so I may have counted wrong too. But you have the idea. I'll check it again later and make another post if it is wrong.
Phat Nat


Report
Re: Turbo Pascal Help Posted by sweet_serina on 14 Jul 2003 at 9:07 PM

: Phat Nat,
I wanted to thank you for all your help. I finished my work and turned it in on time. I couldn't have done it without understanding this last assignment. I hope alot of good things come your way. Thanks again.
Sweet Serina
:
:
:




 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.