Problem z jednym zadaniem.

0

Mam problem z pewnym zadaniem. Od razu powiem , że programowanie dla mnie to czarna magia.
Napisać ciąg instrukcji, który realizuje następujące zadanie:
W zależności od wartości zmiennej a typu Word, należy nadać wartość zmiennej b typu Byte, wg następujących zasad:
Jeżeli a jest z zakresu od 1 do 5 to b=1
Jeżeli a jest z zakresu od 10 do 20 to b=2
Jeżeli a jest większe od 40 to b=3

Należy zwrócić uwagę, że w pewnych przypadkach zmienna b nie jest określona.
Zadanie należy zrealizować przy wykorzystaniu instrukcji wyboru case.

Proszę o pomoc, gdyż jest to niezbędne do zaliczenia przedmiotu.

0

gdyż jest to niezbędne do zaliczenia przedmiotu
A martwić się tym powinniśmy, ponieważ?

0

Rozwiązanie:

var
 a: Word;
 b: Byte;
begin
 // instrukcje wczytania do zmiennej a liczby podanej z klawiatury
 //...
 
 case a of
     1..5: b := 1;
   10..20: b := 2;
      else
      if a > 40 then b := 3
      else b := 0; // ?
 end;
 
 //instrukcje przedstawienia wyniku dla zmiennej b
 //...
end;
0

Dziękuję za odpowiedź

0

Czy mogę prosić jeszcze o sprawdzenie poprawności kilku zadań?

1. Poniższą instrukcję zapisać przy pomocy instrukcji iteracyjnej While

For i:=5 to 25 do Write (i*i)
zamiana
i:=4;
while  i<=25 do
write (i*i);

2. Napisać definicje funkcji C zwracającej wartość A+B. A i B są typu Real. Dane należy przekazać do funkcji za pomocą parametrów formalnych.

 Function definicja(var  A,B: real): real;
Var C:Real;
Begin
C:=A+B;
Writeln(‘C wynosi : ‘);
End;

3. Dany jest 30-elementowy wektor W liczb rzeczywistych. Napisać program, którego zadaniem jest obliczenie sumy elementów tego wektora.

program wektor;
UsesCrt;
Var  W: array[1..30] of real;
Suma : real;
i: integer;
begin
ClrScr;
Begin
For i:=1 to 30 do
//… dalej nie wiem

4. Do pliku tekstowego X.txt zapisać (w kolumnie) liczby całkowite z zakresu od 10 do 200.

0

Źle, w pozostałych przypadkach wartość b ma być nieokreślone i całość wykonana na case czyli:

var
 a: Word;
 b: Byte;
begin
 // instrukcje wczytania do zmiennej a liczby podanej z klawiatury
 //...
 case a of
   1..5: b:= 1;
   10..20: b:= 2;
   0, 21..39:;
   else
     b:= 3;
 end;
 //instrukcje przedstawienia wyniku dla zmiennej b
 //...
end;
2
katarzynaa napisał(a):

Czy mogę prosić jeszcze o sprawdzenie poprawności kilku zadań?

1. Poniższą instrukcję zapisać przy pomocy instrukcji iteracyjnej While

For i:=5 to 25 do Write (i*i)
zamiana
i:=4;
while  i<=25 do
write (i*i);

Źle. Pętla nieskończona.

katarzynaa napisał(a):

2. Napisać definicje funkcji C zwracającej wartość A+B. A i B są typu Real. Dane należy przekazać do funkcji za pomocą parametrów formalnych.

Function definicja(var  A,B: real): real;
Var C:Real;
Begin
C:=A+B;
Writeln(‘C wynosi : ‘);
End;

Źle. Funkcja nic nie zwraca.

katarzynaa napisał(a):

3. Dany jest 30-elementowy wektor W liczb rzeczywistych. Napisać program, którego zadaniem jest obliczenie sumy elementów tego wektora.

program wektor;
UsesCrt;
Var  W: array[1..30] of real;
Suma : real;
i: integer;
begin
ClrScr;
Begin
For i:=1 to 30 do
//… dalej nie wiem

To się doucz.

katarzynaa napisał(a):

4. Do pliku tekstowego X.txt zapisać (w kolumnie) liczby całkowite z zakresu od 10 do 200.

http://topiko.ugu.pl/programowanie/operacje_na_plikach.pdf
http://kalitka.dhs.org/7.htm

1 użytkowników online, w tym zalogowanych: 0, gości: 1