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

Kolokwium grupy 2

 
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:21, 20 Sty 2007    Temat postu: Kolokwium grupy 2

Pytania gr.2

Cytat:
A.

1. Zadeklaruj:
    - typ rekordowy o nazwie Książka zawierający pola: imię i nazwisko autora, tytuł książki, rok wydania,
    - typ tablicowy o nazwie Katalog będący jednowymiarową tablicą rekordów typu książka,
    - zmienną tablicową typu katalog,
    - zmienną typu łańcuchowego.

2. Ile będzie wynosiło s po wykonaniu następującego ciągu instrukcji. Przedstaw wyniki obliczeń na kartce:
s:=1;
n:=5;
For k:=1 to n do
s:=s*k;

3. Napisz instrukcję lub ciąg instrukcji, które wypiszą na ekranie monitora tablicę złożoną z 10 elementów typu rzeczywistego.

4. Napisz instrukcję realizującą następujące zadanie:
Jeśli x=1, to y=x
Jeśli x=2, to y=0

5. Zamień instrukcję for na while, tak aby treść algorytmu pozostała identyczna:
s:=0;
For k:=1 to n do
s:=s+k;

Cytat:
B.

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

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

3. Jak będzie wyglądał wydruk po
for numer:=1 to 6 do
writeln(‘*’);

4. Napisz instrukcję realizującą następujące zadanie;
jeśli x=1, to z=a+b
x=2, to z=a-b
x=3, to z=a*b
x=4, to z=a/b

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

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 Pią 12:26, 26 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:10, 22 Sty 2007    Temat postu: Moja grupa

A1 - Autorka: zmoniasta
Kod:
type
    ksiazka=rekord
    imie:string[20];
    nazwisko: string[30];
    tytul:string[50];
    rok_wydania:integer;
end;

katalog = array[1..100] of ksiazka;

var
      zmienna1:katalog;
      zmienna2:string[15];

A2 - Autor: Greif
Wynik:
Cytat:
120

Program sprawdzający:
Kod:
Program petla_for;
var s,n,k:integer;
begin
     s:=1;
     n:=5;
     for k:=1 to n do
         s:=s*k;
writeln(s);
readln;
end.

A3 - Autorka: zmoniasta
Kod:
for i:=1 to 10 then
      writeln(tablica[i]);

A4 - Autorka: zmoniasta
Kod:
  if x=1 then
      y:=x;
  if x=2 then
      y:=0;

A5 - Autorka - zmoniasta
Kod:
s:=0;
k:=1;
while k<=n do
begin
   s:=s+k;
   k:=k+1;
end;

=====================================
B1 - Autorka: zmoniasta
Kod:
  var
      zmienna1:array[1..100] of integer;
      zmienna2:string[15];
      zmienna3:real;

B2 - Autorka: zmoniasta
Kod:
  for i:=1 to 6 then
      tablica[i]:=’aaaa’;

B3 - Autor: Greif
Wynik:
Cytat:
*
*
*
*
*
*

Program sprawdzający:
Kod:
program gwiazdek6;
uses crt;
var number:integer;

begin
clrscr;
       for number:=1 to 6 do
           writeln('*');
readln;
end.

B4 - Autor: Greif
Tutaj poległem, bo nigdy nie używałem instrukcji CASE w programach. A pewnie wystarczyło wpisać:
Kod:
readln(c);
      case c of
           1:z:=a+b;
           2:z:=a-b;
           3:z:=a*b;
           4:z:=a/b;
           else
           writeln('tekst');
      end;
      writeln(z);

Program sprawdzający działanie:
Kod:
Program case_dzialania;
var a,b,z:real;
      c:byte;

begin
write('Podaj a = '); readln(a);
write('Podaj b = '); readln(b);
writeln;
writeln('Wybierz działanie i naciśnij ENTER');
repeat
   writeln('[1] Dodawanie');
   writeln('[2] Odejmowanie');
   writeln('[3] Mnożenie');
   writeln('[4] Dzielenie');
   readln(c);
      case c of
           1:z:=a+b;
           2:z:=a-b;
           3:z:=a*b;
           4:z:=a/b;
           else
           writeln('Wybierz w końcu działanie i naciśnij ENTER');
      end;
until (c>0) and (c<5);
writeln(z:10:3);
readln;
end.

Jeszcze jedno rozwiązanie - Autor: mogur, zmoniasta
Kod:
program gr2B4;
var x,a,b:real;
begin
writeln(' wpisz x: ');
readln(x);
if x=1 then
   writeln('z=a+b');
if x=2 then
   writeln('z=a-b');
if x=3 then
   writeln('z=a*b');
if x=4 then
   writeln('z=a/b');
readln
end.

Uważam, że ta wersja z 'if' nie odpowiada do końca założeniom, bo po wybraniu 1..4, program wypisuje odpowiedni ciąg zamiast liczyć. Ale sami oceńcie i się wypowiedzcie.

B5 - Autor: mogur, zmoniasta
Kod:
function row_lin2B5 (z:real):real;
begin
y:=(3*Sqr(z))+(5*z)-z;
end;


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 13:51, 24 Sty 2007    Temat postu:

B4 wg mnie powinno być
Kod:

readln(c);
      case c of
           1:z:=a+b;
           2:z:=a-b;
           3:z:=a*b;
           4:
               begin
               if b<>0 then z:=a/b
else writeln('Nie wolno dzielić przez 0')
            end;
      writeln(z);


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 14:36, 24 Sty 2007    Temat postu: I bardzo dobrze

Pewnie, że może być, ja już nie miałem siły w nocy go upiększać... Smile
Po CASE ma być tylko jedna instrukcja, więc nie wiem, czy tak będzie to działało...
Napisz program, sprawdź i wklej, bo u mnie errory wyskakują...

Pozdrawiam


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 21:46, 24 Sty 2007    Temat postu:

Poprawiłam, brakowało enda do case.


Kod:


readln(c);
      case c of
           1:z:=a+b;
           2:z:=a-b;
           3:z:=a*b;
           4:
               begin
                 if b<>0 then z:=a/b
                 else writeln('Nie wolno dzielić przez 0');
               end;
      end; {end do case}
 


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



Dołączył: 21 Sty 2007
Posty: 12
Przeczytał: 0 tematów

Ostrzeżeń: 0/5


PostWysłany: Czw 7:07, 25 Sty 2007    Temat postu: ad B5

Ja tylko tróję dostałam i idę na egzamin, więc chyba nie powinnam mieć tu prawa głosu. Nie powinno być po y:=3*z*z*z*z+7 średnika?
Walczcie dalej, no i bazy by się przydały (mam na myśli nieruchomości w Access)
Pozdrowionka


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: Czw 12:42, 25 Sty 2007    Temat postu: Ad B5

Hmm... albo jestem ślepy, albo piszesz o innym pytaniu, gdzie to niby jest?

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: Czw 13:22, 25 Sty 2007    Temat postu:

pisze o innej funkcji

3*z^4+7

ale tu chyba też jest błąd w czesci 5z-z ?


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: Czw 21:31, 25 Sty 2007    Temat postu:

Błąd może jest, w
5z-z
ale tak było na kartce napisane - wiem, bo to była moja graupa -chyba się p.Stanek pomyliła


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: Czw 23:14, 25 Sty 2007    Temat postu:

też tak uważam, ale nie chciałem być pierwszym, który to napisze,

jest jeszcze jeden błąd, ale to ujawniłem w pliku na stronce,
chodzi o ten brak DO w instrukcji pętli.


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: Czw 23:18, 25 Sty 2007    Temat postu:

a co do zadania z 4 warunkami, to mój sposób też jest dobry i działa, a "a/b" traktuje jako łańcuch znaków (więc nie ważne że b=0) - i znowu wg mnie oczywiście pani dr nie uściśliła zadania.

dopisek

po dogłębnej analizie BERNADKA MA RACJĘ
należy przypisać bo w treści zadania nie ma wypisz tylko to...


Post został pochwalony 0 razy

Ostatnio zmieniony przez mogur dnia Pią 23:26, 26 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: Czw 23:55, 25 Sty 2007    Temat postu:

No właśnie, w tej sytuacji obie możliwości są dobre (dlatego je obie zamieściłem), ja założyłem i wyraziłem opinię, że gdyby jej chodziło o ciąg znaków, to by tam dała jakieś 'abcd....' a nie konkretne działania...
Właśnie liczę na wymianę zdań tutaj, i niech nikt nie ma oporów, żeby się wypowiedzieć.

Pozdrawiam


Post został pochwalony 0 razy

Ostatnio zmieniony przez Greif dnia Nie 1:32, 20 Maj 2007, w całości zmieniany 1 raz
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: Pią 15:34, 26 Sty 2007    Temat postu:

B4

Na specjalne życzenie program z case, który u mnie działa i Wam też powinien Wink
Kod:

program los;
var c:integer; a,b,z:real;
begin
a:=12;
b:=0;
readln(c);
case c of
1: z:=a+b;
2: z:=a-b;
3: z:=a*b;
4: begin
if b<>0 then z:=a/b
else
writeln('Nie wolno');
end;
end;
writeln(z);
end.


Przyjęłam tutaj b=0, zeby od razu sprawdzić czy się wywala.

Jeśli chcecie mozecie w programie umieścić dowolne liczby, albo instrukcje redaln(a);
readln(b);


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: Pią 16:12, 26 Sty 2007    Temat postu:

Ad. B4

Ja już na serio jestem ślepy, wklejając ten warunek, wyciąłem linijkę z UNTIL, dlatego mi nie działało, i już nie miałem siły sprawdzać, gdzie błąd.
Oczywiście po case może być blok instrukcji.

Pozdrawiam


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: Pią 23:43, 26 Sty 2007    Temat postu:

ad gr2B4

a może tak

Kod:
program gr2B4;
var z,x,a,b:real;
begin
writeln(' wpisz x: ');
readln(x);
writeln(' wpisz a: ');
readln(a);
writeln(' wpisz b:      pamiętaj b nie moze być równe 0');
readln(b);
if x=1 then
z:=a+b;
if x=2 then
z:=a-b;
if x=3 then
z:=a*b;
if x=4 then
z:=a/b;
writeln(z:12:3);
readln
end.


Very Happy

tylko czemu dla innych wartości x wypisuje 0 ?


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