Attribution Non-Commercial (BY-NC)

13 tayangan

Attribution Non-Commercial (BY-NC)

- C programming Lesson on One-Dimensional Arrays
- Alv Output Editable and saving the data to database
- Tutorial de JavaScript-06
- Array in C
- A Little Book of r for Time Series
- Analysis and Implementation of a Data Pre-processing System
- 6 Define
- MATLAB Tutorial of Fundamental Programming
- Built in Functions
- A Little Book of R for Time Series
- oplg
- VBCSetup
- 2013 SP 12 Computer Science 03
- A Little Book of r for Time Series
- Array Concept
- Lecture IP1 2012
- Loop Programming Patterns
- A Little Book of r for Time Series
- A Little Book of r for Time Series
- Introduction to Data Structures 2

Anda di halaman 1dari 20

1

Federal University of Paraíba

Algorithms and PASCAL

Professor: Gilberto Farias de Sousa Filho

JOAO PESSOA / PB MARCO DE 2005

Programming Languages and Techniques I

2

Chapter 1

ALGORITHMS

1.1. CONCEPT

The word algorithm, at first glance, it seems strange. Although it has name unkn

own, we make use of algorithms constantly in our daily life: the way a person ta

kes a bath is an algorithm. Other algorithms are often found: • • • • • instruct

ions for using an appliance, a recipe for preparing a dish; guide to completing

the declaration of income tax, the rule for determining maximum and minimum of f

unctions by successive derivatives ; how water bills, electricity and telephone

are calculated monthly, etc.

Several concepts for the algorithm. We chose some to be presented here: "A finit

e set of rules that provides a sequence of operations to solve a specific type o

f problem [Knuth]" orderly sequence, and unambiguous, the steps that lead to sol

ving a given problem [ TREMBLAY] "Procedure for calculating or solving a group o

f similar problems, which stipulates, in general, without limitation, the formal

rules for obtaining the result or the solution of the problem" [Aurelius]

1.2. WHY WE NEED ALGORITHMS?

Here's what some important people for Computer Science, said about the algorithm

: "The notion of algorithm is basic to all computer programming." [Knuth - Stanf

ord University Professor, author of the collection "The art of computer programm

ing"] "The central concept of programming and computer science is the concept of

algorithm." [WIRTH - Professor, University of Zurich, author of several books i

n the area and responsible for creating programming languages like Algol, Pascal

and Modula-2] The importance of the algorithm is in fact terms that specify a s

equence of logical steps to the computer can perform any task, because it alone

had no choice, just do what we order. With an algorithmic tool, we can design a

solution to a given problem, regardless of a specific language and even the comp

uter itself.

1.3. FEATURES

Every algorithm must present some basic characteristics: • • • • • have an end,

not give rise to double reading (not ambiguous); ability to receive data (s) of

entry from the outside world, to generate output information to the outside worl

d to the environment of the algorithm, to be effective (all steps specified in t

he algorithm must be reached in a finite time).

Programming Languages and Techniques I

3

Programming Languages and Techniques I

4

1.4. FORMS OF REPRESENTATION

Algorithms can be represented, among other ways, by: 1.4.1. NARRATIVE DESCRIPTIO

N It is used to describe the Portuguese algorithms. EXAMPLE: Recipe for Cake: Ar

range butter, eggs, 2 pounds of pasta, etc.. Mix ingredients Pour the mixture in

to the cake pan Bring the pan to the oven Wait 20 minutes Remove pan from oven C

ool Prove ADVANTAGES: • Portuguese is well known to us; DISADVANTAGES: • vaguene

ss; • unreliability (the vagueness entails distrust) • Extension (usually writte

n as much to say little). 1.4.2. FLOWCHART use of graphic symbols to represent a

lgorithms. In the flow chart symbols are standardized for initiation, data entry

, calculations, data output, order, etc..

Calculation

Decision EXAMPLE

Entry

Output Explanation

Start / End

Home Read NUM

Top of the algorithm

Input number

DOUBLE <- NUM * 2

Calculation of double the number

Write DOUBLE End ADVANTAGES: • One of the best known tools; • Pictures speak lou

der than words; • Standard global

Presentation of results

End of algorithm

DISADVANTAGES: • It makes the solution of the problem is already tied to physica

l devices; • Little attention to data, not offering features to describe them or

represent them;

Programming Languages and Techniques I

5

• complicates itself as the algorithm grows. 1.4.3. LANGUAGE algorithm consists

in defining a pseudolinguagem programming, whose commands are in Portuguese, to

represent algorithms. EXAMPLE: Algorithm CALCULA_DOBRO early Read 2 * IN A DOU

BLE IN DOUBLE Write order

ADVANTAGES: • Physical independence of the solution (only logical) • Uses the Po

rtuguese as a base; • You can define what and how data will be structured; • Pas

sage almost immediate algorithm to any one programming language.DISADVANTAGES:

• Requires the definition of a language not for real work • Not standardized.

1.5. AN ENVIRONMENT FOR WRITING ALGORITHMS

Describe a hypothetical machine for which write our algorithms. Our hypothetical

computer displays the following organization: Central Processing Unit (2) Arith

metic and Logic Unit (1) Input Device (3) Control Unit (5) Output Device

(4) Main Memory

Convention:

path of data path control signals

Each of the constituent parts of the figure above has the following meanings: (a

) Input device (keyboard): It is the means by which the data that will be worked

by the algorithm will be introduced in our hypothetical computer, (2) Logic Uni

t arithmetic (ALU): Party responsible for mathematical operations and logical as

sessments, (3) Control Unit: It exerts control over other parts of our computer.

It is a real manager who distributes tasks to other units, (4) Memory: Stores t

he algorithm to be executed and data to be used by it. All data supplied to the

computer and the results of its operations are stored in memory;

Programming Languages and Techniques I

6

(5) Output Device (video and printer): It is the means that are available for pr

esentation of results. 1.5.1. OPERATION OF OUR COMPUTER All computers, regardles

s of their sizes, are conceptually similar to the layout of the previous figure

(there are some differences, but not discussed here the special cases). Briefly,

we can say that there are four (4) basic operations that any computer can perfo

rm: a) input and output operations: read data from the keyboard and write data o

n the screen are examples of these operations. They are used to enter data in th

e memory of our computer and display data that is already stored there;

b) arithmetic operations: they are used in performing mathematical operations (a

ddition, subtraction, multiplication and division), c) logical and relational op

erations: they have applicability in comparison, tests on logical conditions (2>

6 "X = Y?)

d) moving data between the various components: the arithmetic operations are per

formed in the Arithmetic Logic Unit, requiring the transfer of data to that driv

e and turn the final result to be stored in memory.

Chapter 2

PASCAL PROGRAMMING LANGUAGE

3.1. INTRODUCTION

To store an algorithm in a computer memory and he can then command the operation

s to be performed, it needs to be programmed, ie which is transcribed into a lan

guage the computer can understand, directly or indirectly .

3.1.1. PROGRAMMING LANGUAGES Language is a way of communication that follows a s

hape and structure with interpretable meaning. Therefore, language is a finite s

et of words, commands and instructions written in order to guide the completion

of a task by the computer. Logically, the language we use in our daily life is d

ifferent from the language used by the machine. The machine works only with code

numbers (machine language) based on the numbers 0 and 1 (binary system), which

represent electrical impulses, absent and present. Thus, any programming languag

e must be situated between two extremes: the natural language of man (very clear

, but slow) and machine language (very fast but complex). This is the concept of

language-level: high level to the closest of human language, low level to the m

ost similar to machine language.

3.1.2. TRANSLATION For one computer can "understand" a program written in a high

-level language, it becomes a necessary means of translation between the languag

e used in the program and machine language. This medium can be of two types: the

compiler and interpreter.

Programming Languages and Techniques I

7

Compiler - translates programs written in high level language (source program) t

o an equivalent program written in machine language (object program).

Source Program Ling. High Level COMPILER

Program Object Ling. Low

Executive TION

Results

Interpreter - translates and sends them to execution, instruction by instruction

and the program remains in the form source.

Source Program Ling. High Level INTERPRETING

IMPLEMENTATION

Results

Examples of programming languages: Pascal, C, CLIPPER, BASIC, COBOL, etc..

Programming Languages and Techniques I

8

3.1.3. LANGUAGE PASCAL programming language PASCAL is designed to be an educatio

nal tool, that in the early 70s by Professor. Niklaus Wirth, University of Zuric

h.It was named for its founder in honor of the great mathematician Blaise Pasca

l, inventor of one of the first logical machines known. Was based on some struct

ured languages existing at the time, and ALGOL PLI. Despite its initial purpose,

the PASCAL began to be used by programmers of other languages, becoming, to the

surprise of his own Niklaus, a commercial product. However, only the end of 198

3 was that the American company Borland International released TURBO PASCAL. Tur

bo Pascal is a program that contains, besides the PASCAL compiler, a complete pr

ogramming environment, with program editor, debugger, error-help system, etc.. W

e will study the following are key items that make up the language PASCAL.

3.2. BASIC ELEMENTS

3.2.1. Identifiers are names chosen to represent constants, variables, types, fu

nctions, procedures, units, programs and fields of a record. To define an identi

fier, we should note the following: • can have any length, but only 63 / 1 chara

cters are significant, • must have a letter as first character; • after the firs

t letter can only contain letters, digits or underscore ( _) • can not contain s

paces; • uppercase and lowercase letters are indifferent; • identifiers can not

be repeated; • can not be a reserved word. 3.2.2. Reserved words are words that

have a predetermined direction in language and can not be used as identifiers. A

BSOLUTE AND ARRAY BEGIN CASE CONST DIV downto ELSE END OF FILE EXTERNAL FUNCTION

GOTO IF FORWARD FOR IMPLEMENTATION IN INLINE LABEL INTERRUPT INTERFACE MOD NIL

NOT OF RECORD OR PACKED PROGRAM REPEAT PROCEDURE SET SHL SHR STRING UNIT THEN TO

TYPE UNTIL VAR WHILE WITH USES XOR

Programming Languages and Techniques I

9

3.3. TYPES OF DATA

3.3.1. SIMPLE INTEGER - Involves the integers. In version 5.0 of Turbo Pascal, t

here are also other types of integers: SHORTINT, BYTE, WORD and LongInt. Type SH

ORTINT BYTE INTEGER WORD LongInt Minimum -32 768 -128 0 0 -2147483648 Maximum 12

7 255 65 535 3276 7 2147483647 Bytes occupied January 1 2 2 4

Examples: -45, 1, 138, 0, -2 REAL - covers the actual numbers. In version 5.0, t

here are also other types of real numbers: SINGLE, DOUBLE, EXTENDED and COMP. RE

AL SINGLE DOUBLE EXTENDED COMP Minimum 2.9 x 10-39 1.5 x 10-45 5.0 x 3.4 x 10-32

4 10-4932 -263 + a maximum value 1.7 x 1038 3.4 x 1038 1.7 x 1.1 x 10 308 104 93

2 263-1 Bytes busy April 6 8 10 8 significant digits 7-8 15-16 11-12 19-20 19-20

Examples: 4.5, -32.0, .5, 7.8E3, 21E +3 315E-3-CHAR - represents a single charac

ter, enclosed by single quotes ('). Most computers use the ASCII chart to repres

ent all characters available. Examples: 'A', 'B', 'a', '1 ',' @ ',' BOOLEAN - re

presents a logical value. Uses only two logical constants: TRUE (true) and false

(false).

3.3.2. STRUCTURED STRING - formed by a set of elements of type CHAR. characters.

Examples: 'ragged', 'Data Processing', '123 'discuss in more detail the type st

ring in a chapter specially devoted to this purpose. Other types of structured d

ata are: ARRAY, RECORD, FILE, SET and TEXT and will be introduced later in the b

ook. The maximum size is 255

3.3.3. DEFINED BY THE USER Pascal allows programmers, besides using the predefin

ed types in the language, can also create new data types. This becomes very usef

ul when dealing with complex data structures, but also helps make the program mo

re readable. This subject, by their complexity, will be discussed later.

Programming Languages and Techniques I

10

3.4. Arithmetic Expressions

They are expressions where we use integers or real as operands and arithmetic op

erators, always giving numerical values as a result. 3.4.1. Arithmetic Operators

Arithmetic operators represent the most common operations in mathematics. They

are: Operator + * / DIV MOD EXAMPLES: 1 +2 Expression 5.0 - 1 2 * 1.5 5 / 2 5 DI

V February 5 MOD 2 Result 3 4.0 3.0 2.5 2 1 Operation Addition Subtraction Multi

plication Division Remainder of Integer Division Real Operands Integer Division

, Real, Integer, Real, Integer, Real, Integer, Real Results Integer Integer Inte

ger, Real, Integer, Real, Integer, Integer Integer Real Real

3.4.2. PRIORITY In an arithmetic expression, the evaluation order of operators o

bey the following table: Priority 1st 2nd COMMENTS: a) When there is an expressi

on of operators with the same priority, execution is from left to right. b) If n

ecessary change the order of priority, you should use parentheses. The words in

parentheses have priority. If there are nested parentheses,the execution order

is the innermost to the outermost. EXAMPLES: 2 + 3 / 2 = 2 + 1.5 = 3.5 (2 +3) /

2 = 5 / 2 = 2.5 * Operators / DIV MOD + -

3.4.3. FUNCTIONS AND PROCEDURES Default Number subprograms are ready available t

o users, to calculate the most common mathematical functions. Function ABS (X) F

RAC (X) TRUNC (X) ROUND (X) SQR (X) SQRT (X) LN (X) EXP (X) Purpose Absolute Val

ue Part Fractional Part Full Value Rounded to square Logarithms Exponential Squa

re Root argument type Integer, Real Real Real Real Integer, Real, Integer, Real

Real Real result of the same type of argument Real Integer Integer argument the

same as Real Real Real

Programming Languages and Techniques I

11

Since there is an operator in Pascal or a specific function for the operation of

potentiation, we can get it using the function LN (X) and EXP (X). To calculate

the value of XN is sufficient to use: EXP (LN (X) * N) EXAMPLES: Expression ABS

(-2.5) ABS (8) FRAC (5234) TRUNC (2.78) ROUND (2.78) SQR (2) SQR (1.5 ) SQRT (4

) SQRT (2.25) EXP (LN (2) * 3) Income 2.5 8 0,234 2 3 4 2.25 2.0 1.5 8

3.5. LOGICAL EXPRESSIONS

The logical operations may be considered statements that will be tested by compu

ter, resulting in a true or false value. Are used with relational operators and

logical.

3.5.1. Relational operators are used to compare two expressions of any type, ret

urning a logical value (TRUE or FALSE) as a result of the operation. Operator =>

<> = <= <> Operation equal greater less or more or less different

Note: the logical operations can only be made with respect to values of the same

type. EXAMPLES: Expression 1 = 2 'A' = 'a' 5> 2 3 <3 = TRUE <FALSE 'JOAO'> 'JOS

E' 2 + 3 <> 5 'comp' <> 'COMP' '11 '<'4 'Result FALSE FALSE FALSE FALSE FALSE TR

UE TRUE TRUE TRUE

3.5.2. Logical operators are used to combine logical expressions. Operator and o

r not Operation not (negation) and (conjunction) or (disjunction)

Programming Languages and Techniques I

12

The truth table (below) shows the result of each logical operator, with given va

lues for the logical expressions A and B: B TRUE TRUE FALSE FALSE TRUE FALSE TRU

E FALSE TRUE FALSE A and B or B FALSE FALSE FALSE TRUE TRUE TRUE NOT A FALSE FAL

SE TRUE TRUE FALSE TRUE FALSE NOT B TRUE

3.5.3. PRIORITY In a logical expression, the evaluation order of operators follo

ws the table below: Priority 1st 2nd 3rd 4th Operators AND OR NOT> <> = <=

=

<>

Because the order of precedence of logical operators is greater than the relatio

nal operators, parentheses should always be used when writing a complex logical

expression. For example: (A> B) OR (B = C)

SUGGESTED EXERCISES

P3.13. What is the result of arithmetic expressions below, knowing that the valu

es of X, Y and Z are, respectively, 1, 2 and 5? a) b) c) d) e) div Y mod Z Y X +

Y + Z / 3 FRAC (X / Z) + ROUND (Z / y) * TRUNC (Z / Y) SQRT (Z + X * Y div Y) Z

- ABS (X - SQR (Y))

P3.14. What are Predefined Functions? P3.15. Write the result of the following f

unctions: a) b) c) d) e) f) g) h) i) j) k) l) ABS (-4) ABS (5.2) FRAC (23.0) FRA

C (-3.1) TRUNC (1.8) TRUNC (2.2) ROUND (1.8) ROUND (2.2) SQR (1.0) SQR (10) SQRT

(25) SQRT (9.0)

P3.16. Type the expression to calculate the value of 25. P3.17. Fill in the Trut

h Table below: A B TRUE TRUE FALSE FALSE TRUE FALSE TRUE FALSE BA or B and not A

not B

Programming Languages and Techniques I

13

P3.18. Write the result of the following comparisons: a) b) c) d) e) f) g) 3 = 3

.0 'a' <= 'A' '' = '' 'HOME' <> 'home' FALSE = FALSE 'JOAQUIM '<' JOSE ''22'> '2

00 '

P3.19. What is the result of logical expressions below, knowing that the values

of A and B are, respectively, TRUE and FALSE? a) b) c) d) not A and B A and not

B or not (not (A or B) and (A or B)) A or B and not A or B not (A or B) and (not

A or not B)

3.6. FORMAT OF A PASCAL PROGRAM

Pascal is a highly structured language that has a rigid set, although its progra

m structure is flexible. Each section or part of a program in Pascal must appear

in proper sequence and automatically be correct, otherwise an error occurs. Mor

eover, in Pascal there specific rules for the use of space, broken lines, requis

itions, and so commands can be written in free format in almost all the styles i

n which the programmer wishes to use. A program written in Pascal has the follow

ing format: PROGRAM <identifier>; <bloco>. The <bloco>, in turn, is divided into

six areas, where only the latter is mandatory and should follow the sequence be

low.They are: • Area of declaration of use of units • Area declaration of const

ants Area • • Area type declaration of variable declarations • Area declaration

procedures and functions • Area Command NOTE: In Turbo Pascal, the clause PROGRA

M and the correct sequence of statements, are not mandatory.

3.6.1. DECLARATION OF USE OF UNITS A Pascal program can make use of some units t

hat are available in standard Turbo System, such as CRT, DOS, PRINTER, GRAPH, et

c.. The area of the declaration of use of units has the following format: EXAMPL

E USES: USES CRT, PRINTER; <drive> ... , <drive>;

Programming Languages and Techniques I

14

3.6.2. DECLARATION OF CONSTANT serves to associate names to the constants used i

n the program. Has the following format: CONST <identifier> <value> ;...;< ident

ifier => = <value>; SAMPLE: WHITE CONST = ''; PI = 3.1416; MAX = 10; OK = TRUE;

3.6.3. DECLARATION OF TYPES serves to define new types and data structures. Not

detail this topic by now be the subject of the next chapters ..

3.6.4. DECLARATION OF VARIABLES serves to associate types with variables used in

the program. Has the following format: VAR <lista-de-identificadores>: <type>;

... <lista-de-identificadores>: <type>; Where: <lista-de-identificadores> <type>

is a list of variable names for the same type, separated by commas. is the name

of one of the predefined types in the language or created by the programmer.

EXAMPLE: VAR X, Y, Z: REAL; I, J: INTEGER; FOUND: BOOLEAN; LETTER: CHAR, WORD, P

HRASE: STRING;

3.6.5. STATEMENT OF PROCEDURES AND FUNCTIONS In this area are defined procedures

and functions used by the program. It is also an issue that will be detailed la

ter.

3.6.6. AREA COMMANDS This is the area where it is inserted into the algorithm of

the program. Commands are separated by the delimiter point semicolon. The gener

al form is: BEGIN <command>; ... ; <command> END

Programming Languages and Techniques I

15

3.7. COMMENTS

A comment is used to increase the clarity of a program, although not analyzed by

the computer. Should be written in braces (comment)

EXAMPLE: Program REAJUSTE_SALARIO; (Purpose: Calc. the readjustment of salary 20

%) Uses Crt; Const IND = 0.20; Var () index of readjustment

Current salary SAL_ATUAL (), (SAL_NOVO new salary), (INCREASE ReRaise): Real;

Begin clrscr; (clears screen) (read the current salary) write ('Enter the curren

t salary'); ReadLn (SAL_ATUAL);) (computation of readjustment INCREASE: * = SAL_

ATUAL IND; SAL_NOVO: = SAL_ATUAL + INCREASE; ( Display results) writeln ('New Sa

lary =', SAL_NOVO: 10:2); ReadKey; End

SUGGESTED EXERCISES

P3.20. What is the basic form of a Pascal program? P3.21. What areas can exist i

n a block of Pascal? Which one is it mandatory? P3.22. What is the purpose of th

e following areas: a) b) c) d) e) f) Declaration of Use of Units Constants Decla

ration Declaration Declaration Type Variable Declaration Procedures and Function

s Area Commands

P3.23. Give an example for each of the following areas: a) Declaration of Use of

Units b) Declaration of Constants c) Declaration of Variables P3.24. What is th

e purpose of a commentary in a program? How should it be written?

Programming Languages and Techniques I

16

Chapter 4

CONTROLS BASIC LANGUAGE PASCAL

4.1. ALLOCATION

The assignment statement has the form: <identifier>: = <expression> In the assig

nment statement, variable and expression must be the same type, except in the fo

llowing cases: a) the variable being real, the expression can be integer b) the

variable is string, the expression can be char EXAMPLES: Var IRSC IRCS Begin End

::::: =: =: =: = Integer, Real, String, Char, 5, I. 'A', C

4.2. INPUT

An input command serves to request that the program data at the time that it is

running. These data will be stored in variables in memory. In general the unit o

f input is the keyboard, can also be an auxiliary memory such as Winchester. Con

sidering the standard input unit, the keyboard, the command would be: READ (<ide

ntificador-1> ,...< identifier-n>) or ReadLn (<identificador-1> ,...,< identifie

r-n>) READ with the cursor stays on the same line after running the command; Rea

dLn with the cursor moves to the next line. Note: In Turbo Pascal, the READ comm

and should only be used for reading files. So for reading variables, we should a

lways use the command ReadLn.

EXAMPLES: 1) If the program should ask the three notes of a student, we would ha

ve: ReadLn (NOTE 1, NOTE2, Note3) ... At the time of execution of the command ab

ove,the program shows the user's screen and the cursor appears waiting typing o

f the three values that must be separated by at least one blank space.

Programming Languages and Techniques I

17

3.5 will be stored in the variable NOTE 1, the 7.0 and 8.2 in NOTE2 Note3. 2) If

the program should request the name and salary of an employee would: ReadLn (NA

ME); ReadLn (SALARY); ...

4.3. OUTPUT

A command used to exit the program shows the user the desired results. The outpu

t unit is the standard video monitor and can also be a printer or an auxiliary m

emory such as disk. Considering the standard unit of output, the video monitor,

the command would be: WRITE (<expressão-1> ,...,< expression-n>) or ... WriteLn

(<expressão-1> ,...,< expression-n>) WRITE With the cursor stays on the same lin

e after running the command; WriteLn with the cursor moves to the next line. EXA

MPLE: A: = 1, B: = 2; writeln ('Sum of' A 'and' B '=', A + B) ...

In the case of variables of type REAL values are shown in exponential notation i

n a field of 16 positions, unless a format is specified. EXAMPLE: MEDIA: = (8.0

+ 2.0) / 2 writeln (MEDIA) (exit → 5.0000000000E +00) writeln (MEDIA: 5:2); ou

tput → (5:00)

On formatting, if the variable is real specify the total positions held and the

amount of decimal places. If whole, only the total number of positions.

If we wish the output is through the printer and not the video monitor, we must

specify the beginning of the list of output parameter LST and unity with the PRI

NTER USES. EXAMPLE: Uses PRINTER,::: writeln (LST, 'Media =' MEDIA: 5:2);

In the instant data request, we can use along with the READ or ReadLn a command

output in order to send messages to guide the user in data entry. EXAMPLES: writ

eln ('Enter Name'); ReadLn (NAME), writeln ('Enter the third Notes:'); ReadLn (N

OTE 1, NOTE2, Note3) writeln ('Enter the employee's salary'); ReadLn (salary);

Programming Languages and Techniques I

18

SUGGESTED EXERCISES

P4.01. Exemplifies the use of the command assignment. P4.02. What is the purpose

of a command input? Give examples. P4.03. What is the difference between comman

ds and ReadLn READ? P4.04. What is the purpose of a command output? Give example

s. P4.05. What is the difference between commands and WRITE WriteLn? P4.06 How c

an we direct the output from one program to the printer? Give examples. P4.07. H

ow can we assist users in data entry? Illustrate. P4.08. Write the commands need

ed to: a) read the name of a person b) read the three notes of a student c) read

the weight and height of a person P4.09. Write a program in Pascal to calculate

and display the value of xy, and the data base (x) and exponent (y). P4.10. Wri

te a program to read the name and surname of a person and write them in the foll

owing manner: last name followed by a comma and the name. Example: input: "Anton

io", "Smith" output: Soares, Antonio

4.4. CONTROLS FOR DECISION

Decision-making structures (conditional) are used to make a decision based on th

e evaluation result of a control condition and selects one or more possible acti

ons (commands) to be executed by the computer. In Pascal, there are three types

of decision-making structure: The IF command, which can be used in two ways: sim

ple or compound, and the CASE command, which is used for a selective decision.

4.4.1. SIMPLE DECISION (IF-THEN) Used when you want to perform an action (a comm

and or command sequence) if a certain condition is true. The decision structure

simple Pascal is the IF, and should be used as follows: IF THEN <condition> <com

mand> this case, the <command> only be executed if the result <condition> the va

lue TRUE. The <condition> must be a logical expression. The <command> can be a s

imple command or a control compound. A compound statement is formed by two or mo

re commands, separated by a semicolon and delimited by BEGIN and END. EXAMPLE: P

rogram EXEMPLO_DE_DECISAO_SIMPLES; (Read an integer and display it if it is posi

tive)

Programming Languages and Techniques I

19

Var N: integer; Begin ReadLn (N) if N> 0 then writeln (N) End

In the above example, the WRITE command is only executed if the condition N> 0 i

s true. Otherwise, no action is taken.

4.4.2. COMPOUND DECISION (IF-THEN-ELSE) Used when you want to run one of two com

mands (or one of two sequences of commands) depending on the result of a conditi

on. The decision framework consists of Pascal is also the IF, but executed with

the following syntax: <condition> IF THEN ELSE <comando1> <comando2> this case,

if the <condition> result in the value TRUE, will run the <comando1> , otherwise

it will run the <comando2>. Here again,<condition> to be a logical expression,

and <comando1> <comando2> and should be a simple command or a control compound.

EXAMPLE: Program EXEMPLO_DE_DECISAO_COMPOSTA; (Reads and determine whether a nu

mber is greater than zero or not) var N: integer; Begin redln (N) if N> 0 then w

riteln (N, 'is greater than zero') else writeln (N , 'is not greater than zero "

) End

In this example, the message that appears depends on the result of logical expre

ssion N> 0. If true, it executes the WRITE command that follows the word THEN. O

therwise, it executes the WRITE that follows the word ELSE. In no event will run

the two commands. In more complex algorithms, it is common to use nested IF's,

ie a structure as having IF <command> another structure IF.

Programming Languages and Techniques I

20

EXAMPLE: Program EXEMPLO_DE_IFS_ANINHADOS; (Determine if a number is higher, low

er or equal to Var N: integer; Begin ReadLn (N) if N> 0 then writeln (N, 'is gre

ater than zero') else if N <0 then writeln (N, 'is less than zero') else writeln

(N, 'equals zero ") End zero)

It may be noted that several lines of this program ended without point-colon, be

cause the point-colon is only used to separate commands and / or structures.

One should be careful when using nested IF's, because the ELSE clause is always

related to the last IF. If within a program, we need to get around this fact, we

can do it with the delimiters BEGIN and END. EXAMPLE: Algorithmic Language is C

OND1 COND2 If so then command1 else if Command2 LANGUAGE PASCAL COND1 COND2 then

begin if command1 then end else Command2

4.4.3. MULTIPLE DECISION (CASE-OF) Used when you want to run one of several comm

ands (or one of several sequences of commands) depending on the result of an exp

ression. The structure of selection (multiple decision) is the Pascal CASE, and

obeys the following syntax: CASE OF <expression> <lista-de-constantes-1>: <coman

do-1>; <lista-de-constantes-2> : <comando-2>; ... [ELSE <comando-n>] END <expres

sion> must result in scalar type (other than the REAL and STRING). The <lista-de

constantes-x> must contain one or more constants (comma separated), and should b

e the same type of <expression>. The <comando-x> a command can be simple or comp

ound. The results are compared with each <expression> constant <lista-de-constan

te> to check equality. If the equality is verified, the corresponding <command>

runs and finished structure. If no equality is verified, the corresponding <comm

and> ELSE (optional) will run.

Programming Languages and Techniques I

21

EXAMPLE: Program EXEMPLO_DE_DECISAO_MÚLTIPLA; (simulator a basic calculator inte

ger) Uses CRT; Var X, Y: integer; OP: char; Begin clrscr; write ('Enter the oper

ands'); ReadLn (X, Y), write ('Enter the operator:'); ReadLn (OP) OP case of '+'

: writeln (X + Y) '-': writeln (X - Y);'*',' x ',' X ' : writeln (X * Y) '/': wr

iteln (X div Y) else writeln ('invalid operation') end (case); ReadKey; End In t

his example, the message that appears depends on the contents of the variable OP

. If set to one of the constants specified, will run the corresponding command W

riteLn. If no constant is equal to the contents of OP, will run from the WriteLn

ELSE. We can also write the same program without using up the CASE structure, o

nly using nested IF's. EXAMPLE: Program EXEMPLO_DE_DECISAO_MÚLTIPLA_2; (simulato

r a basic calculator integer) Uses CRT; Var X, Y: integer; OP: char; Begin clrsc

r; write ('Enter the operands'); ReadLn (X, Y), write ('Enter the operator:'); R

eadLn (OP) if OP = '+' then writeln (X + Y) else if OP = '-' then writeln (X - Y

) else if (OP ='*') or (OP = x) or (OP = 'X') then writeln (X * Y) else if OP =

'/' then writeln (X div Y) else writeln ('op.inválida'); ReadKey;

Programming Languages and Techniques I

22

End

SUGGESTED EXERCISES

P4.16. What decision-making structures exist in Pascal? P4.17. In what situation

s is more appropriate to use the CASE structure-OF? P4.18. In what situations we

can not use the CASE structure-OF? P4.19. Controls (i) and (ii) are equivalent?

Explain your answer. (I) A: = B = C (ii) if B = C then A: = True Else A: = FALS

E

P4.20. Note the following program: Program Nó_no_juizo; Var L1, L2, L3: char; Be

gin ReadLn (L1, L2, L3) (should be typed only the letters V or F) if L1 = 'V' th

en write ('A' ) else if L2 = 'V' then if L3 = 'V' then write ('B') else begin wr

ite ('C'), write ('D') end; write ('E'); End Now answer the following questions:

a) b) c) d) If read V, V and F, which will be written by the program? If read F

, V and F, which will be written by the program? If read F, V and Vwhat will be

written by the program? What values should be read to be written only 'E'?

P4.21. Write a program to read a positive integer and determine if it is even or

odd. P4.22. Want to calculate the income tax of a taxpayer. For this, write a p

rogram that: a) read the following information from the taxpayer: SSN, name, ann

ual income, withholding tax, pension contributions, medical expenses, number of

dependents;

b) is reduced by the amount of R $ 1,080.00 for each dependent, c) calculating t

he total value of deductions: pension contributions + + deduct medical expenses

of dependents, d) calculation of the calculation basis: annual income - total de

ductions; e) based on the table below: Basis to 10800.00 from 10800.01 to 21600.

00 21600.00 tax rate above 15% 25% Exempt Portion to Deduct 1620.00 3780.00

Calculation of tax due: (calculation base x tax rate) - plot to deduce

Programming Languages and Techniques I

23

f)

will be no tax payable if the difference between the tax payable and tax deducte

d at source is positive, otherwise there will be a tax refund.

g) displays all the read data and calculated.

4.5. REPEATING COMMANDS

Besides allowing the change in execution sequence to a set of commands of a prog

ram, the control structures of a language, have the resources to repeat the exec

ution of a set of commands. In Pascal, there are three types of repetition struc

ture: with a test at the beginning (WHILE), with a test at the end (REPEAT) and

automatic (FOR). 4.5.1. REPEAT TEST WITH NO HOME (WHILE-DO) WHILE The control st

ructure allows a simple or compound command is executed repeatedly while a contr

ol condition is TRUE. The general form of the WHILE is: WHILE THE <condition> <c

ommand> The <condition> must be a logical expression. The <command> can be a sim

ple command or a control compound. How the test is performed <condition> early i

n the loop, <command> runs zero or more times, depending on the evaluation of <c

ondition>. EXAMPLE: Program EXEMPLO_DE_WHILE; write the integers (100-100) var N

: integer; Begin N: = 1, while N <= 100 do begin writeln (N), N: = N + 1 End End

In this example, WriteLn command is executed repeatedly while the variable N ha

s a value equal to or less than 100. The program will output the sequence of who

le numbers 1-100. 4.5.2. REPEAT TEST WITH NO END (REPEAT-UNTIL) The control stru

cture REPEAT command allows a simple or compound is performed repeatedly until a

control condition is FALSE. The general form of the REPEAT: REPEAT UNTIL <comma

nd> <condition> The <condition> must be a logical expression. The <command> can

be a simple command or a control compound. There is no need of the delimiters BE

GIN and END in the command compound in a REPEAT. How the test is performed <cond

ition> the end of the loop, <command> runs one or more times, depending on the e

valuation of <condition>. EXAMPLE: Program EXEMPLO_DE_REPEAT; (write núm. intege

rs 1-100)

Programming Languages and Techniques I

24

Var N: Integer; Begin N: = 1; repeat writeln (N), N: = N + 1 Until N> 100 End

The previous example is equivalent to the example of WHILE, where the WriteLn co

mmand will be executed repeatedly until the variable N has a value greater than

100. The structure REPEAT is also widely used to repeat a program several times,

until the user wishes to get out of it. EXAMPLE: Program EXEMPLO_DE_REPEAT_2; (

averaging two numbers given repeatedly) Uses CRT; Var N1, N2, MEDIA: real; RESP:

char; Begin clrScr; repeat write ('Enter two numbers:'); ReadLn (N1 , N2); MEDI

A: = (N1 + N2) / 2; writeln (MEDIA), write ('Do you want to repeat the program (

y / n)? "); RESP: = ReadKey; until (RESP =' N ') or (RESP = 'n') End

Programming Languages and Techniques I

25

4.5.3. AUTO REPEAT (FOR) FOR A control structure allows a simple command or comp

osite is repeated a specific number of times. Its general form is: FOR <var>: =

<vi> TO THE <vf> <command> <var> Where is a control variable of type integer, wh

ich will initially <vi> and the initial value will be increased from a value aft

er each iteration of the loop. The replay will be finalized when the content exc

eeds the value <var> <vf> end. The <command> also can be simple or compound. Ano

ther form of the structure is as follows: FOR <var>: = <vi> downto <vf> OF <comm

and> this case, the control variable is decremented <var> value of 1 after each

iteration of the loop and will repeat terminated when the content is below the v

alue <var> <vf> end. EXAMPLE: Program EXEMPLO_DE_FOR; writes the integers (100-1

00) var N: integer;Begin for N: = 1 to 100 of writeln (N) End Note, the above e

xample, it was not necessary to use a command to assign an initial value of the

variable N or also another command to increase it with the value 1 . This is don

e automatically by the FOR structure. The FOR repetition structure is especially

suitable for when the number of repetitions is known in advance. Otherwise, we

use the WHILE or REPEAT, depending on the case.

EXERCISES RESOLVED

R4.01. Write a program that reads a set 100 integers and display the average val

ue of them. R4_01 Program; Var N, sum, count: integer;

Begin SUM: = 0; for CONT = 1 to 100 do begin ReadLn (N) SUM = SUM + N end; write

ln (SOMA) End

Programming Languages and Techniques I

26

R4.02. Write a program that reads a set of integers and display the average valu

e of them. Note: The exit condition of the bond will be reading the value 0 (fla

g). Program MEDIA_NUMEROS; Var N, CONT, SOMA, MEDIA: integer;

Begin SUM: = 0; CONT = 0; ReadLn (N), while N <> 0 do begin SUM = SUM + N; CONT

= CONT + 1; ReadLn (N) end; MEDIA: = SUM div CONT; writeln (MEDIA); End

SUGGESTED EXERCISES

P4.32. What are the existing structures of repetition in Pascal? P4.33. What is

the main difference between the WHILE-DO and REPEAT-UNTIL? P4.34. In what situat

ions is more appropriate to use the FOR structure? P4.35. In what situations we

can not use the FOR structure? P4.36. Write a Pascal program that reads a set of

100 positive integers, and determine the amount of even numbers and odd numbers

contained therein. P4.37. Given the following program snippet: ReadLn (N) A: =

1; I: = 2; while I <= N-1 do begin R: = R * 2, I: = I + 1 end; write (R) , rewri

te it using: a) the FOR command b) the command REPEAT

Programming Languages and Techniques I

27

P4.59. Write a Pascal program that displays the options menu below:

OPTIONS: 1 - SALUTE 2 - Bronco 3 - congratulations 0 - END The program should re

ad the user's choice and display for each option, its message: 1 - Hi, How are y

ou? 2 - Let's study more. 3 - My Congratulations! 0 - End of service. While the

option is other than 0 (zero) is due to continue presenting the options. Note: U

se structure as repeating the command REPEAT and how the command structure condi

tional CASE. P4.60. Make a program that reads three integer values (N, X, Y) and

show all numbers multiples of N between X and Y. P4.61. A number is, by definit

ion, a cousin if he has no divisors except 1 and itself. Write a program that re

ads a number and determine whether or not it is prime. P4.62. Make a program tha

t reads two integer values (X and Y) and show all the primes between X and Y.

Programming Languages and Techniques I

28

Chapter 5

ARRAYS

Homogeneous composite variables, which are known as arrays, represent sets of el

ements of the same type, represented by a single name. The arrays may vary in th

eir size, ie the amount of rates required for the individualization of each set.

The one-dimensional array is also known as vector, while the two-dimensional ar

ray is called a matrix. EXAMPLES: Vector V = 4 7 2 5 3 M = Matrix 3 0 2 8 2 5 1

4 9 5 7 3 T = 3 0 2 8 2 5 7 1 4 9 3 5 7 3 dimensional Array 6 0 9 1 3 2 4 5 8 5

0 1 2 3

Each element of the arrays can be referenced through indexes. Examples: V [1] =

4 V [2] = 7 V [5] = 3 M [1,1] = 3 M [2,3] = 4 M [3.1] T = 2 [1.1, 1] T = 3 [2,3,

2] T = 9 [1,2,3] = 3

5.1. VECTORS

Vectors are arrays that require only an index to distinguish one element of the

set. Statement: To define a variable of type vector, use the following syntax: l

ist-of-identifier: ARRAY [index index-initial-final ..] OF type where: list-of-c

ontent-identifiers initial content-type are the final names of variables to be d

eclared, it is the lower limit of the range of content, it is the upper limit of

the range of the index, is the type of components of variable

The rate-initial-final and the index must be the same scalar type (integer, char

acter or boolean).

EXAMPLE: To declare a variable composed of eight elements numeric name NOTE. var

NOTE: array [1 .. 8] of real;

will cause to come into being a set of eight elements of type real, individualiz

ed by the indices 1, 2, 3, ..., 8. note [1] note [2] note [3] note [4] note [5]

footnote [6] note [7] note [8]

Other examples of statements of vectors:

Programming Languages and Techniques I

29

var

AGE: array [1 .. 20] of integer; NAME: array [1 .. 30] of string; QUANT: array [

'A' .. 'Z'] of integer; REVENUE, EXPENDITURE: array [90 .. 96 ] of real; VECTOR:

array [-5 .. 5] of char;

To process every individual components of a vector, it is advisable to use the F

OR structure, so we can vary the index of vector.

EXERCISES RESOLVED

R5.01. Given a vector A defined as A: array [1 .. 100] of integer;

a) fill it with the value 30;

for I: = 1 to 100 of A [I]: = 30;

b) fill it with the integers 1,2,3 ,..., 100.

for I: = 1 to 100 of A [I]: = I; R5.02. Making a program that reads a vector A c

ontaining 30 integers, calculate and display: a) the greatest element b) the pos

ition (index) of the largest element.

Program R5_02, const N = 30; (number of elements of the vector) var A: array [1

.. N] of integer; I, POS, MAJOR: integer; begin (read) for the vector I: = 1 to

N ReadLn (A [I]);) (initialization of variables LARGEST: = A [1]; POS: = 1; (com

parison of elements with variable GREATER) for I: = 2 to N do if A [I]> MORE GRE

ATER then begin: = A [I]; POS: = I end;) (view of the results writeln (LARGEST,

POS); end.

Programming Languages and Techniques I

30

R5.03. Making a program to view 20 numbers, average them and display the numbers

that are above average. Program R5_03, const N = 20, (number of elements of the

vector) var NUM: array [1 .. N] of real; I, SUM: integer; MEDIA: real; begin (i

nitialization) variable SUM SUM: = 0; (read) and the sum of the numbers for I: =

1 to N do begin ReadLn (NUM [I]), SUM: = SUM + NUM [I] end;) (averaging MEDIA:

= SUM / N; (display numbers larger than average) for I: = 1 to N do if NUM [I]>

MEDIA then writeln (NUM [I]); end.

R5.04. Making a program that: a) read an array of 100 integers VET b) read an in

teger NUM, c) determines and displays the position of NUM within VET. If NUM is

not found within VET, display the value 0 (zero). Program R5_04, N = const 100:

(number of elements of the vector) var VET: array [1 .. N] of integer; NUM, I, P

OS: integer; begin (Reading data) for I: = 1 to N ReadLn (VET [I]); ReadLn (NUM)

;) (positioning POS: = 0; for I: = 1 to N do if VET [I] = POS then NUM: = I;) (w

riteln result display (POS); end.

Programming Languages and Techniques I

31

SUGGESTED EXERCISES

P5.01. Define and exemplify his words: a) Array b) Vector c) Mother d) and index

) Element or Component P5.02. Give the number of elements in each of the vectors

given below: a) VET: array [-5 .. 5] of integer; b) NAME: array [0 .. 20] of st

ring; c) CONT: array ['A '..' Z '] of integer; d) NOTE: array [1 .. 50] of real;

P5.03. Given the following vector:

1 2 3 4 5 6 7 8

VET =

7

4

1

5

8

2

3

6

what its contents after running the following commands: for I: = 8 downto 5 do b

egin AUX: = VET [I]; VET [I]: = VET [8-i +1]; VET [8-I + 1]: = AUX end; P5.04. G

iven a vector A containing 100 elements integers, generate and display a vector

B whose elements are in reverse order of A. Example:

February 1, 1999 100

A = B =

23 26

37 20

... ...

20 37

26 23

P5.05. Given two vectors A and B containing 20 elements each integers, generate

and display a vector C of the same size whose elements are the sum of its parts

A and B. Example:

January 2 March 19 20

A = B = C =

23 30 53

37 32 69

30 46 76

... ... ...

45 33 88

35 42 77

P5.06. Given two vectors A and B containing 25 elements each integers, generate

and display an array of 50 elements C, whose elements are the merge of the eleme

nts of A and B. Example:

January 2 March 24 25

A = B =

1

23 30

2

37 32

April 3

30 46

May 6

... ... 30 46 ...

38 43

47

55 49

48 49 50

C =

23

30

37

32

38

43

55

49

Programming Languages and Techniques I

32

P5.07. A basketball team has 12 players. Want to be a program that, given the na

me and height of the players, determine: a) the name and height of the tallest p

layer, b) the average height of the team, c) the amount of players taller than a

verage, listing the name and height of each. P5.08. Making a program in Pascal t

o correct multiple-choice tests. Each test has 10 questions and each question is

worth 1 point. The first set of data to be read will be the template for the co

rrection of proof. Other data are the numbers of students and their responses, a

nd the last number of fictitious student, will be 0 (zero). The program should c

alculate and print: a) for each student, their number and note b) the percentage

of approval, knowing that the pass mark is 6. c) a note that had the highest ab

solute frequency, ie the note that appeared as many times (assuming the absence

of ties). The data structure for this program to be:

NOTE NUMBER FEEDBACK

REPLIES

APPROVED

TOTAL

FREQUENCY

MORE

Percent

5.2. MATRICES

Arrays are arrays that need two indices to distinguish one element of the set. T

he first index represents the rows and second columns. Statement: To define a va

riable of type array, use the following syntax: list-of-identifier: ARRAY [.. ín

dice1 índice1-initial-final índice2-initial-final índice2 ..] OF type

where: list-of-identifiers índice1-initial-final índice1 índice2 índice2-initial

-final type are the names of variables to be declared, it is the lower limit of

the range of first index, it is the upper limit of the range the first index, it

is the lower limit of the range of second index, is the upper limit of the rang

e of second index, is the type of components of variable

índice1 the initial-and final-índice1 must be the same scalar type (integer, cha

racter or boolean). The índice2-starter must also be the same type of scale índi

ce2-final. EXAMPLE: Declare an array M of 4 rows by 3 columns, consisting of ele

ments numeric integers.

Programming Languages and Techniques I

33

var M: array [1 .. 4.1 .. 3] of integer; will exist to pass a data structure cal

led M grouped with 4x3 = 12 integer elements, addressable by a pair of indices,

with the first indicating line and the other column. m11 m21 m12 m22 m32 M31 M41

M42 M13 M43 m23 m33

M =

Other examples of array declarations: var M1: array [1 .. 4.80 .. 90] of real; M

2: array ['A' .. 'AND', 0 .. 10] of string; M3: array [ -3 .. 3.1 .. 3] of char;

EXERCISES RESOLVED

R5.05. Making a program to read a 3 x 5 array of integers and write it after hav

ing multiplied each element by 2. R5_05 Program; const NL = 3;) (number of rows

NC = 5;) (number of columns K = 2;) (var multiplication factor for M: array [1 .

. NL, NC 1 ..] of integer; I , J: integer; reading begin (array) for I: = 1 to N

L for the J: = 1 to CN begin write ('element of the line,' I, 'column' J ':'); R

eadLn (M [I, J]) end, () is calculated by multiplying I: = 1 to NL for the J: =

1 to CN M [I, J]: = M [I, J] * K; ( view of the resulting array) writeln ('Resul

t'); for I: = 1 to NL do begin for J: = 1 TO NC write (M [I, J], ''); writeln en

d;

Programming Languages and Techniques I

34

end.

Programming Languages and Techniques I

35

R5.06. Given an array of 4 x 5 elements integers, calculate the sum of every row

, every column and all its elements. Note: Use an array to store the result of t

he sum of each row and one for the sum of each column. R5_06 Program; const NL =

4;) (number of rows NC = 5;) (number of columns var M: array [1 .. NL, NC 1 ..]

of integer; L: array [1 .. NL] of integer, C: array [1 .. CN] of integer; I, J,

SUM: integer; reading begin (array) for I: = 1 to NL for the J: = 1 to CN begin

write ('element of line, 'I,' column 'J': '); ReadLn (M [I, J]) end; (calculati

ng the sum of each row) for I: = 1 to NL do begin L [I ]: = 0; for J: = 1 to CN

L [I]: = L [I] + M [I, J] end; (calculating the sum of values in each column) fo

r J: = 1 TO NC do begin C [J]: = 0; for I: = 1 to NL C [J]: = C [J] + M [I, J] e

nd; (calculating the sum of all elements of the array SUM) : = 0; for I: = 1 to

NL for the J: = 1 to CN SUM: = SUM + M [I, J];) (view the results for I: = 1 to

NL's writeln ('Sum of line, 'I,': ', L [I]) for J: = 1 TO NC writeln (' Sum of C

olumn 'J': 'C [J]), writeln (' Sum of Matrix: ', SUM); end.

5.3. Multidimensional arrays

Pascal allows the creation of multidimensional arrays, which require multiple in

dexes to be handled. The way of using this type of array follows the same logic

matrices, differing only in the number of indices.

Programming Languages and Techniques I

36

SUGGESTED EXERCISES

P5.09. Give the number of elements in each of the following matrices given below

: a) MAT: array [1 .. 3.1 .. 4] of integer; b) CC: array [0 .. 2.1 .. 3] of stri

ng c) BAD: array ['A' .. 'E', -1 .. 1] of integer; d) NOTE: array [90 .. 98.0 ..

1] of real; P5.10. Since the matrices M and R below: M = OERAQ * E * I * ISTSR

=

what is the content of R after running the commands: for I: = 1 to 4 for J: = 1

to 4 R [J, I]: = M [I, J]; AUX: = R [1, 1] R [1,1]: = R [4.4], R [4.4]: = AUX, A

UX: = R [2,2], R [2,2]: = R [3, 3] R [3,3]: = AUX; P5.11. Given two matrices A a

nd B, with 2 x 3 integer elements each, generate and display a matrix C of the s

ame size as result of the sum of the matrix A to matrix B. P5.12. Make a program

that reads a matrix of order 3 x 5 elements of integers, calculate and display:

a) the largest matrix element, b) the sum of the matrix elements, c) the averag

e of the matrix elements; P5.13. Given a square matrix of order N, of elements i

ntact, displaying the main diagonal elements, ie elements where i = j. Note: N i

s read (N ≤ 10). P5.14. Given a matrix A with 3 x 4 integer elements, generate a

nd display a matrix B which is the transposed matrix of A. P5.15. Make a program

that reads the name and the three grades of 50 students in a class and: a) calc

ulate: the arithmetic average of each student, the situation of each student, (i

f approved average greater than or equal to 7.0) the number of students approved

, the overall average class, the name and situation of each student;the number

of students passed, the overall average class, the name and average students wit

h average or above average general class.

b) display:

⇒ Use arrays to store name, and middle position, and an array to store the notes

.

Programming Languages and Techniques I

37

P5.16. The table below shows the amount of sales by manufacturers of vehicles du

ring the period 1993-1998 in thousand units. Manufacturer / Year Fiat Ford GM Wo

lkswagen Make a program that: a) read the table data, b) determine and display t

he manufacturer that sold more in 1996, c) determines and displays the year of h

ighest overall volume of sales. d) determines and displays the average annual sa

les for each manufacturer during the period. 1993 204 195 220 254 1994 223 192 2

22 262 1995 230 198 217 270 1996 1997 257 203 231 284 290 208 245 296 322 228 28

0 330 1998

P5.17. Make a program that assembles a three-dimensional array 5 x 7 x 3, where

the contents of each element equals the sum of its contents. P5.18. Make a progr

am that reads and store in a three-dimensional array containing the values of th

e annual turnover of a company specified month to month and also by the subsidia

ry. See the structure below the array:

YEAR 1997 YEAR 1996 YEAR 1995 YEAR 1994 MONTH January February March April May J

une July August September October November December 1 TOTAL BRANCH BRANCH BRANCH

2 3 TOTAL TOTAL TOTAL TOTAL

After reading the data do the following: a) calculate the totals of the rows and

columns in each year, b) create a new page containing the consolidation of data

, ie the sum of each year (month by month and by subsidiary), c) displays all th

e read data and calculated.

- C programming Lesson on One-Dimensional ArraysDiunggah olehroyce542
- Alv Output Editable and saving the data to databaseDiunggah olehKabil Rocky
- Tutorial de JavaScript-06Diunggah olehapi-27539951
- Array in CDiunggah olehزهرة النرجس
- A Little Book of r for Time SeriesDiunggah olehAbhi Suri
- Analysis and Implementation of a Data Pre-processing SystemDiunggah olehEditor IJRITCC
- 6 DefineDiunggah olehRajeev Ranjan
- MATLAB Tutorial of Fundamental ProgrammingDiunggah olehsprynter19
- Built in FunctionsDiunggah olehmadel_ibdao
- A Little Book of R for Time SeriesDiunggah oleh정관용
- oplgDiunggah olehSenouci Ouahid
- VBCSetupDiunggah olehjay_siri
- 2013 SP 12 Computer Science 03Diunggah olehRohan Kashikar
- A Little Book of r for Time SeriesDiunggah olehEmma Noel
- Array ConceptDiunggah olehdaibalme2515
- Lecture IP1 2012Diunggah olehKapil Govindwad
- Loop Programming PatternsDiunggah olehSecret Squirrel
- A Little Book of r for Time SeriesDiunggah olehDanar Handoyo
- A Little Book of r for Time SeriesDiunggah olehbearner
- Introduction to Data Structures 2Diunggah olehAamir2686
- Computer Vision for the Web - Sample ChapterDiunggah olehPackt Publishing
- Lesson3-1BasicModelofLocality.pdfDiunggah olehProjectlouis
- gs_dpnxt.psDiunggah olehfibbo2012
- Visualizing structural matrices in ANSYS using APDLDiunggah olehVivaCharles
- CMPLDiunggah olehKaspar Chabot
- Assignment Apr18Diunggah olehMalerRaintownz
- SgaDiunggah olehKuldeep Parihar
- List and set Difference in JavaDiunggah olehSAMUDDIN
- Shell ScriptingDiunggah olehharini
- RDiunggah olehRadhika

- IMPACT OF COMPUTER TECHNOLOGY ON INDIVIDUALSDiunggah oleh4gen_7
- Ergonomics For OfficesDiunggah oleh4gen_7
- Cipa - Stroke Risk Is the Ambient and Industrial Accidents - mDiunggah oleh4gen_7
- Brigada de INCÊNDIO - Apresentação Power PointDiunggah oleh4gen_7
- Values, Attitudes and job satisfactionDiunggah oleh4gen_7
- Cobit 4 - SummaryDiunggah oleh4gen_7
- ARDiunggah oleh4gen_7
- WaterDiunggah oleh4gen_7
- Training WindevDiunggah oleh4gen_7
- Organic FarmingDiunggah oleh4gen_7
- As the Food Vehicle NutrientsDiunggah oleh4gen_7
- Check List Bilancio 2007Diunggah oleh4gen_7
- Report: Conception and design of mixer-beaterDiunggah oleh4gen_7
- Report: Design and Dimensionnent one-bladed windDiunggah oleh4gen_7
- 4 Levels ElevatorsDiunggah oleh4gen_7
- French RevolutionDiunggah oleh4gen_7
- LAVOCETRENTINA.COM.AR-- Nanda RomanoDiunggah oleh4gen_7
- Development of Internet PartiesDiunggah oleh4gen_7
- Harvesting sugar caneDiunggah oleh4gen_7
- Link Efficiency ExamDiunggah oleh4gen_7
- Resources for Training and DynamicsDiunggah oleh4gen_7
- Marketing Plan - FotomanDiunggah oleh4gen_7
- ThreadedDiunggah oleh4gen_7
- Basic Elements of machine toolsDiunggah oleh4gen_7
- Obama SpeechDiunggah oleh4gen_7
- 8.7 Human Development Index [UNDP] ExtractDiunggah oleh4gen_7
- RESOLVED Financial Statements CEMEX Case StudyDiunggah oleh4gen_7
- SCHEDULE OF 2009 TEXT COMMENTARYDiunggah oleh4gen_7
- 9 Reasons For Losing Belly serious - 9 Ways To Get Rid Of It - HealthDiunggah oleh4gen_7
- AutoCADDiunggah oleh4gen_7

- Implementing the log-add algorithm in hardwareDiunggah olehMarin Perić
- Complex NumbersDiunggah olehMark Lewis Sy
- fnalDiunggah olehFabian Molina
- Finch S. - Mathematical Constants - ErrataDiunggah olehaih239
- Mark Scheme Jan 2005Diunggah olehOE94
- Stata Training 1Diunggah olehismaelout
- LearnDiunggah olehRamil Sison
- Rules of Calculus - Functions of One VariableDiunggah olehafjkjchhghgfbf
- Calculus SummaryDiunggah olehYusuf Nasir
- 07 Branch CutsDiunggah olehKemal Berk
- Differential EquationDiunggah olehHemavathy Rt
- PET467E Quiz 2 Spring 2008 SolutionsDiunggah olehabdounou
- Chapter 2.pdfDiunggah olehoverkilled
- Maths Calculus WorkBookDiunggah olehSiti Afriana
- algebra 2 updated - outline 2016 - 2017 fintaDiunggah olehapi-329612433
- High-Performance 8-Tap FIR FilterDiunggah olehyogeerama8115
- Maths EmDiunggah olehPandu Ranga
- MacroeconomicsDiunggah olehmriley@gmail.com
- ArXiv.org - Analytical Methods in PhysicsDiunggah olehMuhammad Fitrah Alfian
- 9-1 Exponential & Log Functions FinishedDiunggah olehAndi
- Math 120 Final Exam Review (3)Diunggah olehBrent Matheny
- Matlab tutoriumDiunggah olehNaina
- Cape Maths SyllabusDiunggah olehDavia Dee-chan Deacon
- Ch06 ekonomi manajerialDiunggah olehAyu Kusuma Wardhani
- Fixed Point Precision OptimizationDiunggah olehpriet_y
- Calculus 04 Transcendental FunctionsDiunggah olehGoh Ai Lin
- BusMathsJan2013_L5Diunggah olehgglv
- Math IecepDiunggah olehDenaiya Watton Leeh
- Exemplar Math IADiunggah olehChristina Wahle
- Ceriani_Group Contribution Model for Predicting Viscosity of Fatty CompoundsDiunggah olehNatrix2

## Lebih dari sekadar dokumen.

Temukan segala yang ditawarkan Scribd, termasuk buku dan buku audio dari penerbit-penerbit terkemuka.

Batalkan kapan saja.