Forum ZSPG w Piotrowicach Strona Główna    
  Profil  
FAQ Szukaj Użytkownicy Rejestracja Prywatne Wiadomości Zaloguj  

Kolokwium grupy 1

 
Napisz nowy temat   Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi    Forum ZSPG w Piotrowicach Strona Główna :: Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Sob 21:16, 20 Sty 2007    Temat postu: Kolokwium grupy 1

Pytania gr.1
Cytat:
A.

1. Zadeklaruj:
    - zmienną typu całkowitego,
    - zmienną typu łańcuchowego, zawierającą 30 znaków,
    - zmienną typu tablicowego, reprezentującą tablicę jednowymiarową, której elementami są liczby rzeczywiste

2. Napisz instrukcję, która zrealizuje następujące zadanie: jeśli zmienna znakowa równa się „!” to wypisz na ekranie monitora komentarz: Koniec zdania.

3. Napisz instrukcję lub ciąg instrukcji, która wczytuje tablicę złożoną z 10 elementów typu całkowitego.

4. Jakie liczby będą wypisane na ekranie monitora w wyniku działania instrukcji while.
j:=1;
while j<10 do
begin
writeln(j*j);
j:=j+1;
end;

5. Zdefiniuj funkcję, która oblicza wartość następującego wyrażenia:
y=2z2+5 (dwa razy z do kwadratu)

Cytat:
B.

1. Zadeklaruj:
    - zmienną typu rzeczywistego,
    - zmienną typu łańcuchowego, zawierającą 15 znaków,
    - zmienną tablicową, reprezentującą tablicę jednowymiarową, której elementami są liczby całkowite.

2. Napisz instrukcję, która zrealizuje następujące zadanie:
jeśli a=0, wypisz brak rozwiązań,
jesli a≠0, to x=-b/a.

3. Napisz instrukcję lub ciąg instrukcji, które wczytają tablicę złożoną z 10 elementów typu łańcuchowego.

4. Jakie liczby będą wypisane na ekranie monitora w wyniku działania instrukcji while, przedstaw obliczenia na kartce.
j:=1; suma:=0;
while j<5 do
begin
writeln(suma);
j:=j+1;
end;

5. Zdefiniuj funkcję, która oblicza wartość następującego wyrażenia:
y=3z4+7 (3 razy z do potęgi 4)

Jeżeli ktoś z Was umie to napisać, to proszę bardzo, piszcie...
Proszę tylko, żeby pisać np. Ad.A3 albo Ad.B4 i dopiero pomysł na rozwiązanie. Chodzi o porządek, swoje posty możecie edytować lub całkiem usunąć. Usunąć tylko pod warunkiem, że nikt na niego jeszcze nie odpowiedział (jak tak, to pisać do mnie). Wszystko jest w FAQ.
Jak się odrobię, to może coś sam napiszę...

Jak zwykle, fragmenty programów obejmujemy znacznikiem CODE Exclamation

Pozdrawiam


Post został pochwalony 0 razy

Ostatnio zmieniony przez Greif dnia Śro 14:32, 24 Sty 2007, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Pon 0:06, 22 Sty 2007    Temat postu: Prawdziwym autorem tego postu jest mogur :)

kilka odpowiedzi, za które nie biorę odpowiedzialności, że są prawidłowe
mogą też błędy w zapisie.

A1
Kod:
var x:integer; (całkowita)
      lancuch:string[30]; (łańcuchowa)
      a:array[0..n]of real (tablicowa)


A2
Kod:
if zn=! then
begin
writeln(‘Koniec zdania’);
readln
end.


A3
Kod:
begin
write(‘podaj ilość elementów’);
readln(n);
for i:=1 to n do
   begin
   write(‘podaj elelement’,i,’tablicy’);
   readln(x[i]);
   end;
end.


A5
Kod:
function row_lin (z:real):real;
begin
y:=2*z*z+5;
end;


dopisujcie uwagi i poprawne rozwiązania


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Pon 0:57, 22 Sty 2007    Temat postu:

A4

Wynik:
Cytat:
1
4
9
16
25
36
49
64
81

i program sprawdzający:
Kod:
Program petla;
var j:integer;
begin
     j:=1;
     while j<10 do
           begin
           writeln(j*j);
           j:=j+1;
     end;
readln;
end.


Post został pochwalony 0 razy

Ostatnio zmieniony przez Greif dnia Śro 0:50, 24 Sty 2007, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Pon 1:21, 22 Sty 2007    Temat postu: Posty przeniesione przez admina

Odnośnie programu A3 Bernadka napisała (21 Sty 2007 07:35 pm):

Cytat:

W zadaniu o wczytywaniu zmiennych tablicowych powinno być

Kod:

begin
for i:=1 to 10 do
   begin
   write(‘podaj elelement’,i,’tablicy’);
   readln(x[i]);
   end;
end.



Tak jak było to jest bogatszy program, ale nie ten o który chodziło.


Natomiast mogur odpowiedział (21 Sty 2007 08:07 pm):
Cytat:
zgadzam się, po prostu podałem kod dla dowolnej liczby elementów, a raczej dla zadanej


No mój (Greif) komentarz jest taki, że najprecyzyjniejszą odpowiedzią jest odpowiedź Bernadki, ale myślę, że mogur też źle nie napisał. Słyszałem kiedyś jak p.Stanek (przy okazji zdawania naszych programów) powiedziała, że można napisać program, który jest bardziej wszechstronny niż zadany.

Moim zdaniem na kolokwium lepiej nie przedobrzyć, tylko trzymać się poleceń dokładnie.

Pozdrawiam Smile


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Bernadka
Początkujący



Dołączył: 17 Sty 2007
Posty: 8
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Kraków

PostWysłany: Pon 14:30, 22 Sty 2007    Temat postu:

A1, A3, i A5 teraz już są na pewno dobrze.
Reszte jak sprawdze to napisze.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Bernadka
Początkujący



Dołączył: 17 Sty 2007
Posty: 8
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Kraków

PostWysłany: Pon 14:42, 22 Sty 2007    Temat postu:

A2

Ten program powyżej nie będzie działać, bo ! powinien być w apostrofach czyli '!' .
I po then: begin i end są niepotrzebne, bo jest tylko jedna linijka tekstu

Więc powinno być tak

Kod:

if zn='!'
then writeln('Koniec zdania');


albo jeśli cały program to
Kod:

program znaki;
var zn:char;
begin
read(zn); {nie może być readln, bo wtedy bedzie tez czytął enter!!!}
if zn='!'
then writeln('Koniec zdania');
end.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
mogur
Coś już napisał



Dołączył: 15 Sty 2007
Posty: 41
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Alwernia

PostWysłany: Śro 0:24, 24 Sty 2007    Temat postu:

tu będzie trochę rozwiązań ode mnie i od Moniki

[link widoczny dla zalogowanych]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Śro 1:02, 24 Sty 2007    Temat postu: Autorka - zmoniasta

B1

Kod:
var
      zmienna1:real;
      zmienna2:string[15];
      zmienna3:array[1..100] of integer;

B2
Kod:
  if a=0 then
      writeln(‘brak rozwiązania’);
  else
      x:=(-1*b)/a;

B3
Kod:

  for i:=1 to 10 then
      tablica[i]:=’aaaa’

B4
Cytat:
0
0
0
0

B5
Kod:
function y(z:integer):integer;
begin
  y:=3*z*z*z*z+7
end;

Monika, zerknij czy czegoś nie przeoczyłem...
Jak wszystko gra, to grupę 1 mielibyśmy załatwioną...


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Bernadka
Początkujący



Dołączył: 17 Sty 2007
Posty: 8
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Kraków

PostWysłany: Śro 1:23, 24 Sty 2007    Temat postu:

B1 ok,
B2, przed else nie może być średnika a tu jest więc nie zadziałałoby

powinno być
Kod:


if a=0 then
      writeln(‘brak rozwiązania’)
  else
      x:=(-1*b)/a;


B3
Napisz instrukcję lub ciąg instrukcji, które wczytają tablicę złożoną z 10 elementów typu łańcuchowego.
Kod:

var i:integer;
a:array[1..10] of string [30];
begin
for i:=1 to 10 do
readln(a[i]);
end.

B4, ok,
B5 powinno być real, bo nie wiemy nic na temat argumentów ani wartości, czyli
Kod:

function y(z:real):real;
begin
  y:=3*z*z*z*z+7
end;


i tyle Wink


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Greif
Administrator



Dołączył: 15 Sty 2007
Posty: 756
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

Skąd: Piotrowice k.Oświęcimia

PostWysłany: Śro 3:03, 24 Sty 2007    Temat postu:

Co do B5...

Wcale nie musi być 'real', jeśli chodzi o ścisłość... nie ma tam żadnej zmiennej oprócz 'y', które musi być 'integer', ewentualnie 'longint'.
Oczywiście może być 'real', ale to już nadmiarowość, więc 'integer' jest całkiem dobrze, moim zdaniem...

Ups, chyba błąd i nikt tego nie zauważył...
To co wyżej napisałem byłoby prawdą dla y=3^4+7, czyli bez zmiennych, tak przeczytałem w pytaniach, które sam wkleiłem (3 do potęgi 4), ale tam jest błąd, miało być (3 razy z do potęgi 4), więc Bernadka ma rację, a ja błąd poprawię już rano (albo w południe)
Wink

Odnośnie A1
po "real" brakuje chyba średnika


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi    Forum ZSPG w Piotrowicach Strona Główna :: Programowanie Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo


Powered by phpBB © 2001, 2002 phpBB Group
Charcoal2 Theme © Zarron Media

Regulamin