Question

Help me with Pascal

Asked by: dreamvb

I want to use the mod and div functions properly in pascal for a college project
Can anyone help?

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2000-01-14 at 04:41:18ID10259411
Tags

pascal

,

div

,

mod

,

help

Topic

Pascal Programming Language

Participating Experts
2
Points
50
Comments
7

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Pascal?
    What is Pascal, is it a relative to C
  2. Pascal to C
    I came across some Pascal graphics code and wondered if anyone could please convert it to C. I'm not really familiar with Pascal and wanted to know if someone could help me out. Let me know if you have any questions. Thanks a ton. Program Burn; uses Dos,Crt; Const Ro...
  3. Heap in pascal
    Hello. I need a simple implementation of a heap data structure in pascal. a node in the heap should contain an integer number. I need it to run some algorithms on it, and I'm not sure I can write it well myself. I need it in plain pascal and not Delphi. A source code pro...
  4. Borland Turbo Pascal
    OK, bit of a weird question here, seem as turbo pascal is so similar to delphi I thought some one might know the answer. How do you load text files and edit and save them in turbo pascal?
  5. pascal disadvantages
    what are disadvantages of Pascal language ?
  6. Free Pascal Editor
    Yeasterday I installed Free Pascal for Linux (Full Packge) I was install it on RH7. where can I found the editor, I found only command-line applications such as fpc386 Motaz

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: BatalfPosted on 2000-01-14 at 05:38:59ID: 2352781

Hi

What exactly do you need help to?

Mod
var
  a,b : integer;

begin
   a:=123;
   b:=a mod 50;
   (** gives you B = 23 = the
   rest when 123 are divided by 50
   50 * 2 = 100 + rest(23) = 123*)

   b:=a div 50;
   (**gives you b=2 = what whole
   number you could divide 123 by(the dividend).
   50 = 123 : 50 = 2,.... everything
   behind the comma are taken away

   then we can say that
   
   (a mod 50) + (a div 50)*50 = 123 **)

Regards
Batalf
   

 

by: BatalfPosted on 2000-01-14 at 05:39:15ID: 2352783

Hi

What exactly do you need help to?

Mod
var
  a,b : integer;

begin
   a:=123;
   b:=a mod 50;
   (** gives you B = 23 = the
   rest when 123 are divided by 50
   50 * 2 = 100 + rest(23) = 123*)

   b:=a div 50;
   (**gives you b=2 = what whole
   number you could divide 123 by(the dividend).
   50 = 123 : 50 = 2,.... everything
   behind the comma are taken away

   then we can say that
   
   (a mod 50) + (a div 50)*50 = 123 **)

Regards
Batalf
   

 

by: BatalfPosted on 2000-01-14 at 06:14:56ID: 2352893

Copy of the help for these operators :

"Arithmetic operators, which take real or integer operands, include +, –, *, /, div, and mod.

Operator      Operation      Operand types      Result type      Example
+      addition      integer, real      integer, real      X + Y
–      subtraction      integer, real      integer, real      Result - 1
*      multiplication      integer, real      integer, real      P * InterestRate
/      real division      integer, real      real      X / 2
div      integer division      integer      integer      Total div UnitSize
mod      remainder      integer      integer      Y mod 6
Operator      Operation      Operand type      Result type      Example
+ (unary)      sign identity      integer, real      integer, real      +7
– (unary)      sign negation      integer, real      integer, real      -X
The following rules apply to arithmetic operators.

The value of x/y is of type Extended, regardless of the types of x and y. For other arithmetic operators, the result is of type Extended whenever at least one operand is a real; otherwise, the result is of type Int64 when at least one operand is of type Int64; otherwise, the result is of type Integer. If an operand’s type is a subrange of an integer type, it is treated as if it were of the integer type.

The value of x div y is the value of x/y rounded in the direction of zero to the nearest integer.
      The mod operator returns the remainder obtained by dividing its operands. In other words, x mod y = x – (x div y) * y.
      A runtime error occurs when y is zero in an expression of the form x/y, x div y, or x mod y."

 

by: dreamvbPosted on 2000-01-14 at 14:33:56ID: 2354488

Thanks Batalf
I need it to change money in pennies to notes and change
ie 1500 pennies into 1 £10 pound note and one £5 pound note

 

by: pear49Posted on 2000-01-14 at 18:28:16ID: 2354821

This is basically a currency conversion problem. You know what you are going to do:
- change between pennies to notes and notes to pennies
But to change from one form to another, you need to know how to convert it. At this point, programming is not needed yet. Consider how you will convert money in pennies to notes in real life. As you had already known, to convert money in pennies to notes:
1500 pennies = 1 £10 pound note and one £5 pound note
From this, we get the following information:
£10 pound note = 1000 pennies
£5 pound note   = 500 pennies
Since this is the information we have, we will assume that only 2 types of notes are available, the £10 pound note and £5 pound note.
Basically we want to have as little notes as possible, so that we don't have to handle so many notes. Hence, we want to use the £10 pound note when we can represent the same amount of pennies with £10 pound note and £5 pound notes. So we will find out the maximum number of £10 pound notes we can use to represent as much of the pennies as possible. Then we will represent rest of the pennies with £5 pound notes. However, the £5 notes may not represent all of the rest of the pennies. So we will leave the rest of the pennies as it is.

Here is what we have to do:
- Use as much £10 notes as possible to represent as much of the pennies
- Use as much £5 notes as possible to represent as much of the remainder of pennies
- Keep the rest of the pennies as it is

By simple arithmetic, we know that to maximize the number of £10 notes used, we divide the number of pennies by 1000 and round down. In Pascal, we use / and div for division purposes. The / is the same as what we usually do in arithmetic, that is it will give the decimals. The div however, does the division only until the ones' place. Hence you can say that div, is the normal division followed by rounding down the result. We use it as how we normally use a division in arithmetic:
c:= a div b
with the exception that we have to assign the result to a variable.
Hence to find the number of £10 notes needed:

tenpound_num := numofpennies div 1000;

The modulo function complements the div function, it gives the remainder when you divide by a number, like what you do in normal arithmetic.
Hence to find the number of pennies left:

numofpennies := numofpennies mod 1000;

Do not be confuse by this statement, the 2nd numofpennies is the original value, we take the remainder of this value divided by 1000 and store it in numofpennies. Numofpennies is updated at the last step.

Next we will convert the remainder of the pennies into £5 notes using the same method:

fivepound_num := numofpennies div 500;
numofpennies := numofpennies mod 500;

Hence we have tenpound_num of £10 notes, fivepound_num of £5 notes and numofpennies of pennies.

 

by: dreamvbPosted on 2000-01-15 at 06:41:42ID: 2355618

Cheers Pear49
How do I convert it back?

 

by: pear49Posted on 2000-01-15 at 17:24:53ID: 2356401

Similarly, converting it back is a reverse of what we have done. All we have to know is the value of a £10 note and £5 note in terms of pennies.
So we know,

£10 = 1000 pennies
£5   = 500 pennies

So if we do not want to use notes, we have to use the equivalent amount of pennies to represent the same amount of money. Hence to find out how many pennies needed for then £10 notes, we multiply tenpound_num by 1000. Then we add it to the number of pennies we have:

numofpennies := numofpennies + tenpound_num * 1000;

Notice we add it to numofpennies, not put it in the variable numofpennies. This is so because numofpennies contains the remainder of the pennies that are not converted to notes, hence may not be zero.

Similarly, we convert the £5 notes to pennies:

numofpennies := numofpennies + fivepound_num * 500;

Now we will have 0 £10 notes, 0 £5 notes and numofpennies of pennies.

Cheers dreamvb

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...