<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Help on Pascal Program: Pressure' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Help on Pascal Program: Pressure' posted on the 'Pascal' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Wed, 19 Jun 2013 03:37:45 -0700</pubDate>
    <lastBuildDate>Wed, 19 Jun 2013 03:37:45 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Help on Pascal Program: Pressure</title>
      <link>http://www.programmersheaven.com/mb/pasprog/415248/415248/help-on-pascal-program-pressure/</link>
      <description>Hi, I had a question about this program. I'm suppose to put the pressures in intervals. But everytime I read in multiple values, it outputs only the last value entered. I'm not allowed to use multiple variables for pressure, I only can use one and would have to do a loop to read in the values one by one. Can anyone tell me how I do that?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PROGRAM PRESSURES (INPUT, OUTPUT, DATA7, OUT7);&lt;br /&gt;
&lt;br /&gt;
VAR N, PRESSURE, HIGH, LOW, TOTAL, ICOUNT, AVERAGE, INTERVAL,&lt;br /&gt;
	PCOUNT: INTEGER;&lt;br /&gt;
    DATA7, OUT7: TEXT;&lt;br /&gt;
&lt;br /&gt;
(*************************************************
*******************)&lt;br /&gt;
&lt;br /&gt;
PROCEDURE ProcessPressures(VAR HIGH, PRESSURE, LOW, TOTAL, AVERAGE,&lt;br /&gt;
						   PCOUNT: INTEGER);&lt;br /&gt;
BEGIN	&lt;br /&gt;
TOTAL:= 0;					   &lt;br /&gt;
PCOUNT:= 0;&lt;br /&gt;
HIGH:= -MAXINT;&lt;br /&gt;
LOW:= MAXINT;&lt;br /&gt;
WRITELN('ENTER PRESSURES:');&lt;br /&gt;
READ(PRESSURE);&lt;br /&gt;
WHILE NOT EOF DO&lt;br /&gt;
	BEGIN	&lt;br /&gt;
	PCOUNT:= PCOUNT + 1;&lt;br /&gt;
	TOTAL:= TOTAL + PCOUNT;&lt;br /&gt;
	IF EOLN&lt;br /&gt;
		THEN READLN;&lt;br /&gt;
	IF NOT EOF&lt;br /&gt;
		THEN READ(PRESSURE);&lt;br /&gt;
	IF PRESSURE &amp;gt; HIGH&lt;br /&gt;
		THEN HIGH:= PRESSURE;&lt;br /&gt;
	IF PRESSURE &amp;lt; LOW&lt;br /&gt;
		THEN LOW:= PRESSURE;&lt;br /&gt;
				&lt;br /&gt;
	&lt;br /&gt;
	END;&lt;br /&gt;
	AVERAGE:= TOTAL DIV PCOUNT;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
(*************************************************
********************)&lt;br /&gt;
&lt;br /&gt;
PROCEDURE PrintsSummaryResults(VAR INTERVAL, PRESSURE, HIGH, LOW, &lt;br /&gt;
                               AVERAGE: INTEGER);&lt;br /&gt;
BEGIN&lt;br /&gt;
WRITELN('NUMBER OF INTERVALS TO MONITOR: ', N);&lt;br /&gt;
WRITELN('*****************************************
*************');&lt;br /&gt;
WRITELN('PROCESS 1  PRESSURE: ', PRESSURE);&lt;br /&gt;
WRITELN('PROCESS 2  PRESSURE: ', PRESSURE);&lt;br /&gt;
WRITELN('PROCESS 3  PRESSURE: ', PRESSURE);&lt;br /&gt;
WRITELN('PROCESS 4  PRESSURE: ', PRESSURE);&lt;br /&gt;
WRITELN('PROCESS 5  PRESSURE: ', PRESSURE);&lt;br /&gt;
WRITELN('PROCESS 6  PRESSURE: ', PRESSURE);&lt;br /&gt;
IF HIGH &amp;gt; 5000&lt;br /&gt;
	THEN WRITELN('DANGER!  OVERPRESSURE OF ', HIGH);&lt;br /&gt;
IF LOW &amp;lt; 14&lt;br /&gt;
	THEN WRITELN('DANGER!  VACUUM OF ', LOW);&lt;br /&gt;
&lt;br /&gt;
WRITELN('HIGH PRESSURE IS ', HIGH);&lt;br /&gt;
WRITELN('LOW PRESSURE IS ', LOW);&lt;br /&gt;
WRITELN('AVERAGE PRESSURE IS ', AVERAGE);&lt;br /&gt;
WRITELN('*****************************************
*************');&lt;br /&gt;
END;&lt;br /&gt;
(*************************************************
*********************)&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
RESET(DATA7);&lt;br /&gt;
REWRITE(OUT7);&lt;br /&gt;
WRITE('ENTER NUMBER OF INTERVALS:'); &lt;br /&gt;
READ(N);&lt;br /&gt;
ICOUNT:= 0;&lt;br /&gt;
WHILE NOT EOF DO &lt;br /&gt;
	BEGIN&lt;br /&gt;
	ProcessPressures(HIGH, PRESSURE, LOW, AVERAGE, TOTAL, PCOUNT);&lt;br /&gt;
	PrintsSummaryResults(INTERVAL, PRESSURE, HIGH, LOW, AVERAGE);&lt;br /&gt;
	ICOUNT:= ICOUNT + 1&lt;br /&gt;
	END;&lt;br /&gt;
END.&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/pasprog/415248/415248/help-on-pascal-program-pressure/</guid>
      <pubDate>Wed, 07 Apr 2010 13:19:57 -0700</pubDate>
      <category>Pascal</category>
    </item>
    <item>
      <title>Re: Help on Pascal Program: Pressure</title>
      <link>http://www.programmersheaven.com/mb/pasprog/415248/415278/re-help-on-pascal-program-pressure/#415278</link>
      <description>&lt;pre class="sourcecode"&gt;
program Pressures ;

CONST
    MAXREAL = 1.0E37 ;

type
    pressuretype = array [1 .. 1000] of real ;


    Procedure GetPressures (var n : integer ; var pressure : pressuretype) ;

    begin
        n := 1 ;

        writeln ('ENTER A NEGATIVE PRESSURE TO TERMINATE DATA INPUT.') ;
        writeln ;

        while TRUE do begin
            write ('ENTER PRESSURE #', n:0, ' ') ;
            readln (pressure[n]) ;
            if pressure[n] &amp;lt; 0.0 then begin
                n := n - 1 ;
                exit
            end ;
            n := n + 1
        end
    end ;


    procedure ProcessPressures (n                       : integer ;
                                pressure                : pressuretype ;
                                var
                                    high, low, average  : real) ;

    var
        total   :   real ;
        count   :   integer ;

    begin
        total   :=  0.0 ;
        count   :=  0 ;
        high    :=  pressure[1] ;
        low     :=  pressure[1] ;

        for count := 1 to n do begin
            total := total + pressure[count] ;
            if pressure[count] &amp;gt; high then
                high := pressure[count] ;
            if pressure[count] &amp;lt; low then
                low  := pressure[count]
        end ;

        average := total / count
    end ;


    procedure PrintSummaryResults  (n                   :   integer ;
                                    pressure            :   pressuretype ;
                                    high, low, average  :   real) ;

    var
        i   :   integer ;

    begin
        writeln('NUMBER OF INTERVALS TO MONITOR: ', n) ;
        writeln('**********************************') ;

        for i := 1 to n do
            writeln('PROCESS ', i:0, ' PRESSURE: ', pressure[i]:10:3);
        writeln ;
        if high &amp;gt; 5000.0 then
            writeln('DANGER! OVERPRESSURE OF ', high:0:3) ;
        if low &amp;lt; 14.0 then
            writeln('DANGER! VACUUM OF ', low:0:3) ;
        
        writeln('HIGH PRESSURE IS ', high:0:3) ;
        writeln('LOW PRESSURE IS ', low:0:3) ;
        writeln('AVERAGE PRESSURE IS ', average:0:3) ;
        writeln('************************************')
    end;


var
    n           :   integer ;
    pressure    :   pressuretype ;
    high,
    low,
    average     :   real ;

begin
    GetPressures (n, pressure) ;
    ProcessPressures (n, pressure, high, low, average);
    PrintSummaryResults (n, pressure, high, low, average);
end.
&lt;/pre&gt;&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/pasprog/415248/415278/re-help-on-pascal-program-pressure/#415278</guid>
      <pubDate>Thu, 08 Apr 2010 20:31:50 -0700</pubDate>
      <category>Pascal</category>
    </item>
  </channel>
</rss>