Pseudo Code Solutions
Pseudo Code Solutions
ANSWER:
TotalCost <-- 0
FOR Count <-- 1 TO 1000
INPUT ItemType, PartsCost
IF ItemType=1 THEN ItemCost=PartsCost*1.5
ELSE IF ItemType=2 THEN ItemCost=PartsCost*2.5
ELSE IF ItemType=3 THEN ItemCost=PartsCost*5.0
OUTPUT Item Cost
TotalCost <-- TotalCost + ItemCost
NEXT
Average=TotalCost/1000
OUTPUT Average
ANSWER:
a) ValidNumber <-- 1 b) Count <-- 1
Count <-- 1 Total <-- 0
WHILE Count<50 DO FOR Count <-- 1 TO 100
INPUT Number INPUT Number
IF Number>100 Total <-- Total+Number
THEN ValidNumber <-- ValidNumber+1 NEXT
ENDWHILE Average=Total/100
OUTPUT ValidNumber OUTPUT Average
ANSWER:
Highest <-- -200
Lowest <-- 200
Total_Year_Temp <-- 0
FOR Days <-- 1 TO 365
Total_Day_Temp <-- 0
FOR Count <-- 1 TO 10
INPUT Temp
Total_Day_Temp = Total_Day_Temp + Temp
Total_Year_Temp = Total_Year_Temp + Temp
IF Temp>Highest THEN Highest=Temp
IF Temp<Lowest THEN Lowest=Temp
NEXT Count
Average_Day_Temp=Total_Day_Temp/10
OUTPUT Average_Day_Temp
NEXT
Average_Year_Temp=Total_Year_Temp/3650
OUTPUT Highest, Lowest, Average_Year_Temp
ANSWER:
a) 100 km/h
b) Lowest <-- 1000
Highest <-- 0
Total_Speed <-- 0
FOR Cars <-- 1 TO 500
INPUT Time
Final_Speed=200/Time
Total_Speed <-- Total_Speed+Final_Speed
IF Final_Speed>Highest THEN Highest=Final_Speed
IF Final_Speed<Lowest THEN Lowest=Final_Speed
OUTPUT Final_Speed
NEXT
Average_Final_Speed=Total_Speed/500
OUTPUT Highest, Lowest, Average_Final_Speed
ANSWER:
Total_Height <-- 0
Total_Weight <-- 0
FOR Count <-- 1 TO 1000
INPUT Height, Weight
IF Height>10 OR Height<0
THEN OUTPUT 'Error'
IF Weight>300 OR Weight<0
THEN OUTPUT 'Error'
ELSE Total_Height<-- Total_Height+Height
AND Total_Weight<-- Total_Weight+Weight
NEXT
Average_Height=Total_Height/1000
Average_Weight=Total_Weight/1000
OUTPUT Average_Height, Average_Weight
ANSWER:
1digit<--0
2digit<--0
3digit<--0
4digit<--0
OutsideRange<--0
FOR Count<--1 TO 5000
INPUT Number
IF Number>999 THEN 4digit<--4digit+1
ELSE IF Number>99 THEN 3digit<--3digit+1
ELSE IF Number>9 THEN 2digit<--2digit+1
ELSE IF Number>=0 OR Number<=9 THEN 1digit<--1digit+1
ELSE OutsideRange<--OutsideRange+1
NEXT
Outside_percent=(OutsideRange/5000)*100
OUTPUT 1digit, 2digit, 3digit, 4digit, Outside_percent
ANSWER:
INPUT NumberCount
Total<--0
FOR Count<--1 TO NumberCount
INPUT Number
Total<--Total+Number
NEXT
Avg=Total/NumberCount
OUTPUT Total, Avg
ANSWER:
Count<--0
Positive<--0
Zero<--0
WHILE Count<1000 DO
INPUT Number
IF Number>0
THEN Positive<--Positive+1
ELSE IF Number=0
THEN Zero<--Zero+1
Count<--Count+1
ENDWHILE
OUTPUT Positive, "Positive Numbers"
OUTPUT Zero, "Zeros"
ANSWER:
REPEAT
INPUT Number1, Number2, Number3
UNTIL Number1<>Number2 AND Number2<>Number3 AND Number1<>Number3
IF Number1<Number2 AND Number1<Number3
THEN Answer<--Number2*Number3
ENDIF
IF Number2<Number1 AND Number2<Number3
THEN Answer<--Number1*Number3
ENDIF
IF Number3<Number2 AND Number3<Number1
THEN Answer<--Number2*Number1
ENDIF
OUTPUT "Answer=", Answer
ANSWER:
FOR Count<--1 TO 5000
INPUT House
IF House>200000 THEN Tax=House*0.02
ELSE IF House>100000 THEN Tax=House*0.015
ELSE IF House>50000 THEN Tax=House*0.01
ELSE Tax=0
PRINT Tax
NEXT
ANSWER:
Days_below<--0
Days_above<--0
FOR Count<--1 TO 100
INPUT Temperature
IF Temperature<20 THEN Days_below<--Days_below+1
ELSE IF Temperature>20 THEN Days_above<--Days_above+1
NEXT
OUTPUT Days_below, Days_above
ANSWER:
1. IF…THEN…ELSE…ENDIF
2. CASE…OF…OTHERWISE…ENDCASE
ANSWER:
a) 1. FOR…TO…NEXT
2. WHILE…DO…ENDWHILE
3. REPEAT…UNTIL
b)
i) Total<--0 ii)Total<--0 iii) Total<--0
FOR Count<--1 TO 10 INPUT Number REPEAT
INPUT Number WHILE Number<>-1 DO INPUT Number
Total<--Total+Number Total<--Total+Number Total<--Total+Number
NEXT Count INPUT Number UNTIL Total>20
PRINT Total ENDWHILE PRINT Total
PRINT Total
ANSWER:
Total<--0
PositiveCount<--0
FOR Count<--1 TO 20
INPUT Number
IF Number>0
THEN Total<--Total+Number
PositiveCount<--PositiveCount+1
NEXT Count
Average=Total/PositiveCount
OUTPUT "Average of the positive numbers is", Average
ANSWER:
Put the input statement in a REPEAT UNTIL loop that rejects any number less
than zero.
ANSWER:
OutRange<--0
FOR Count<--1 TO 50
INPUT Number
IF Number<1000 OR Number>9999
THEN OutRange<--OutRange+1
NEXT Count
Percent=(OutRange/50)*100
OUTPUT OutRange, Percent
ANSWER:
a) Error 1: product=0 on line 2
Description: Should have use product=1
Error 2: count<=10 on line 3
Description: count<10 should have been used or in line 1 count=1 should have been used.
Error 3: print product on line 7 before endwhile
Description: print product should be outside the loop after endwhile statement.
b) REPEAT FOR count=1 TO 10
UNTIL count=10 NEXT Count
ANSWER:
Sum<--0
FOR Count<--1 TO 10
INPUT Number
IF
Number%2=0
THEN Sum<--Sum+Number
NEXT Count
OUTPUT Sum
ANSWER:
Books<--0
Maps<--0
Magazines<--0
REPEAT
INPUT code
IF code>999 AND code<2000
THEN Books<--Books+1
ELSE IF code>1999 AND code<3000
THEN Maps<--Maps+1
ELSE IF code>2999 AND code<4000
THEN Magazines<--Magazines+1
ELSE PRINT "Input Error"
ENDIF
ENDIF
ENDIF
UNTIL code=9999
PRINT Books, Maps, Magazines
ANSWER:
Car<--0
Lorry<--0
Bus<--0
Other<--0
FOR Count<--1 TO 10000
INPUT vehicle
IF vehicle=Car THEN Car<--Car+1
ELSE IF vehicle=Lorry THEN Lorry<--Lorry+1
ELSE IF vehicle=Bus THEN Bus<--Bus+1
ELSE Other<--Other+1
NEXT Count
OUTPUT "The number of cars is", Car
OUTPUT "The number of lorries is", Lorry
OUTPUT "The number of buses is", Bus
OUTPUT "The number of vehicles that weren't cars,buses,lorries is", Other
ANSWER:
Total<--0
Ticket<--0
INPUT StartNum, DestinationNum, PasNum
CASE Direction OF
A: Ascending
B: Descending
OTHERWISE
ENDCASE
IF Direction=A AND PasNum>=3
THEN FareDiscount=(2*(DestinationNum-StartNum))*0.9
Total<--Total+FareDiscount
Ticket<--Ticket+PasNum
ENDIF
IF Direction=A AND PasNum<3
THEN Fare=2*(DestinationNum-StartNum)
Total<--Total+Fare
Ticket<--Ticket+PasNum
ENDIF
IF Direction=B AND PasNum>=3
THEN FareDiscount=(2*(StartNum-DestinationNum))*0.9
Total<--Total+FareDiscount
Ticket<--Ticket+PasNum
ENDIF
IF Direction=A AND PasNum<3
THEN Fare=2*(StartNum-DestinationNum)
Total<--Total+Fare
Ticket<--Ticket+PasNum
ENDIF
OUTPUT Total
PRINT Ticket, "Tickets"
Fastest<--0
Slowest<--1000
Total<--0
FOR Count<--1 TO 5000
INPUT Speed
IF Speed>Fastest
THEN Fastest=Speed
IF Speed<Slowest
THEN Slowest=Speed
Total<--Total+Speed
NEXT Count
Average=Total/5000
OUTPUT Fastest, Slowest, Average
Total_temp<--0
Total_Shrs<--0
FOR Count<--1 to 365
INPUT temp
Total_temp<--Total_temp + temp
INPUT Shours
Total_Shrs<--Total_Shrs + Shours
NEXT Count
Avgtemp<--Total_temp/365
AvgShrs<--Total_Shrs/365
PRINT “Average temperature for whole year is:”, Avgtemp
PRINT “Average Sunshine hours for whole year is:”, AvgShrs