[pascal] schemat blokowy, tablica wartosciowa


(A3890710) #1

Witam

Jak powinien wyglądać prawidłowo schemat blokowy i tablica wartościowa dla tego programu

oto zadadanie

obliczyc sigme

n

E (k do potęgi 2 - n do potęgi 2)

k=1

dla n=3

a oto kod programu

Program Sigma;

Uses crt;

Var

n,k:integer;

Suma:real;

Begin

Write('n=');

Read(n);

Suma:=0;

K:=1;

For k:=1 to n do

Suma:=suma+(k*k-n*n);

Writeln('suma=',suma:2:2);

readkey;

End.

tablica wartościowa

krok | n | k | suma| warunek

0 | - | - | - | -

1 | ... tu nie wiem jak dalej ma to wygladać

schemat blokowy (schemat)

START

|

|

wczytaj N

|

| nie

(instrukcja/warunek)----->

|

|tak

|

wypisz sigme

|

STOP

-- Dodane 20.12.2009 (N) 12:33 --

Start

wczytaj n

|

<________________________________________

| XXXXXXXXXXXXXXXXXXX nie XXXXXXXXXXXXXXXXXXXXXXXXX |

k>n------------------suma:=k*k-n*n------>k:=k+1----|

|

|tak

|

wypisz sume

?


(B Brachaczek) #2

Co do kodu:

  1. Jest okropnie sformatowany.

  2. Dlaczego suma ma typ Real? Przecież to zawsze będzie liczba całkowita (co więcej, niedodatnia). Powinna być tego samego typu, co n i k.

  3. Po co przed pętlą przypisujesz k := 1? Przecież linijkę niżej dokładnie to samo robi pętla.

Co do "tablicy wartościowej" (skąd taka terminologia?), to zapewne chodzi Ci o coś takiego:

krok | n | k | warunek | suma           

------+---+---+------------------+-----------------------

   0 | 3 | 1 | (1 <= 3) = true | 0                    

   1 | 3 | 2 | (2 <= 3) = true | 0 + (1*1 - 3*3) = -8 

   2 | 3 | 3 | (3 <= 3) = true | -8 + (2*2 - 3*3) = -13

   3 | 3 | 4 | (4 <= 3) = false | ---

Jaki problem wyobrazić sobie działanie tej pętli i napisać takie coś?

A z tym schematem to nie mam pojęcia, co chcesz nam przekazać przez te krzaczki...