background image

MathCad w2 -programowanie 1

13. Paleta programowa w systemie MATHCAD

Paleta programowa ulatwia definiowanie bardziej zlozonych algorytmów. Wszystkie dostepne instrukcje nalezy
wybierac tylko z paska Programing.

   Dost

ę

pne operacje na palecie Programming słu

żą

 do konstruowania programów i oznaczaj

ą

:

Add Line

- wstawienie kolejnej linii dla instrukcji programowych
  Pierwsze u

ż

ycie Add Line definiuje podprogram - kolejne zastosowanie zwi

ę

ksza 

  liczb

ę

 linii. Ostatnie miejsce zarezerwowane - powinno zawiera

ć

 warto

ść

 zwracan

ą

 

  przez podprogram.

- instrukcja przypisania 
  

if

            - instrukcja warunkowa ma posta

ć

:  wyra

ż

enie  

if

  warunek  i umo

ż

liwia obliczenie

                          warto

ś

ci wyra

ż

enia tylko wtedy, gdy spełniony zostanie zadeklarowany warunek

otherwise

- instrukcja stosowana wspólnie z instrukcj

ą

 if oznaczaj

ą

ca  "w pozostałych

  przypadkach"

for

- instrukcja p

ę

tli  "dla"  umo

ż

liwia wielokrotne obliczenie sekwencji wyra

ż

e

ń

 

while

- instrukcja iteracyjna  "dopóki"  umo

ż

liwiaj

ą

ca okre

ś

lenie warunku zako

ń

czenia p

ę

tli

break

            - instrukcja  powoduj

ą

ca przerwanie wykonywania p

ę

tli                    

           

continue

           - instrukcja inicjuj

ą

ca rozpocz

ę

cie wykonania kolejnego obrotu p

ę

tli

           

return

            - instrukcja wyj

ś

cia z podprogramu, w przypadku funkcji w "znaku braku", 

 

  wpisuje si

ę

  wynik funkcji

     

Przykład 1  Wyznaczy

ć

 pole trójk

ą

ta o bokach a, b, c.

pole a b

,

c

,

(

)

"Zle boki"

return

a

b

c

+

>

b

a

c

+

>

c

a

b

+

>

if

p

a

b

+

c

+

p p

a

(

)

p

b

(

)

p

c

(

)

return

otherwise

:=

Przykład 2  Wznaczy

ć

 x!

silnia x

( )

1

x

1

if

x silnia x

1

(

)

otherwise

:=

silnia 3

( )

6

=

background image

MathCad w2 -programowanie 2

Przykład 3 Wyznaczy

ć

 sum

ę

 elementów wektora B.

Wyznaczy

ć

 sum

ę

 elementów dowolnego wektora.

ORIGIN

1

C

1

2.25

3

1.88

2

:=

B

1.1

2

3.5

2

1.7

8.3

9

3

:=

suma w

( )

s

0

s

s

w

i

+

i

1 length w

( )

..

for

s

return

:=

suma_B

s

0

s

s

B

i

+

i

1 length B

( )

..

for

:=

suma_B

24.6

=

1

length B

( )

i

B

i

=

24.6

=

suma B

( )

24.6

=

1

length C

( )

i

C

i

=

6.37

=

suma C

( )

6.37

=

Przykład 5 Wyznaczy

ć

 sum

ę

 dodatnich elementów wektora

suma_dod x

( )

s

0

s

s

x

i

+

x

i

0

>

if

i

1 length x

( )

..

for

s

return

:=

suma_dod B

( )

27.6

=

ss

suma_dod C

( )

:=

ss

8.25

=

background image

MathCad w2 -programowanie 3

Przykład 4 
Wyznaczy

ć

 warto

ść

 odsetek dla lokaty PV po upływie ka

ż

dego kolejnego miesi

ą

ca.

Oprocentowanie w skali miesi

ą

ca wynosi r. Obliczenia przeprowadzi

ć

 dla jednego

roku. Wykona

ć

 dwa warianty symulacji:

odsetki nie s

ą

 kapitalizowane

••••

odsetki kapitalizowane s

ą

 co miesi

ą

c

••••

Wyniki obliczen przechowa

ć

 w tablicach

Odsp PV r

,

n

,

(

)

PV r

n

:=

Odss PV r

,

n

,

(

)

PV

1

r

+

(

)

n

1





:=

procent_prosty PV r

,

n

,

(

)

Ods

i

PV r

i

i

1 n

..

for

Ods

:=

PP

procent_prosty 1000 1%

,

12

,

(

)

:=

słowo return mo

ż

na pomin

ąć

procent_prosty 1000 1%

,

12

,

(

)

1

1

2

3

4

5

6

7

8

9

10

11

12

10

20

30

40

50

60

70

80

90

100

110

120

=

PP

1

1

2

3

4

5

6

7

8

9

10

11

12

10

20

30

40

50

60

70

80

90

100

110

120

=

procent_skladany PV r

,

n

,

(

)

Ods

i

PV

1

r

+

(

)

n

1





i

1 n

..

for

Ods

return

:=

procent_skladany 1000 1%

,

12

,

(

)

1

1

2

3

4

5

6

7

8

9

10

11

12

126.825

126.825

126.825

126.825

126.825

126.825

126.825

126.825

126.825

126.825

126.825

126.825

=

background image

MathCad w2 -programowanie 4

Przykład 5: Dane s

ą

 obroty (w tys. zł) n sklepów firmy „AAA”. Policzy

ć

:

liczbe sklepów, w których obroty sa wieksze od 

ś

redniej

••••

ż

nic

ę

 mi

ę

dzy maksymaln

ą

 warto

ść

 obrotów a minimaln

ą

 warto

ść

i

ą

 obrotów

••••

wieksze_sr obr

(

)

sr

suma obr

(

)

length obr

(

)

k

0

k

k

1

+

obr

i

sr

>

if

i

1 length obr

(

)

..

for

k

return

:=

obr

READPRN "obroty.txt"

(

)

:=

mean obr

(

)

64.493

=

obr

1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

88

120

41

10.3

10.1

12.4

82

39

77

65

78

56

97

52

83

70

=

wieksze_sr obr

(

)

17

=

roznica obr

(

)

max

obr

1

min

obr

1

max

obr

i

obr

i

max

>

if

min

obr

i

obr

i

min

<

if

i

2 length obr

(

)

..

for

max

min

:=

roznica obr

(

)

109.9

=