| 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
 
 | 
			
				|  Wysł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
   
 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 |  | 
	
		|  | 
	    |  | 
       |  | 
    
	
		| Greif Administrator
 
 
 Dołączył: 15 Sty 2007
 Posty: 756
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Piotrowice k.Oświęcimia
 
 | 
			
				|  Wysł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:
 
 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:
 
 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 |  | 
	
		|  | 
	    
	
		| Bernadka Początkujący
 
 
 Dołączył: 17 Sty 2007
 Posty: 8
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Kraków
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| Greif Administrator
 
 
 Dołączył: 15 Sty 2007
 Posty: 756
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Piotrowice k.Oświęcimia
 
 | 
			
				|  Wysł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ć...   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 |  | 
	
		|  | 
	    
	
		| Bernadka Początkujący
 
 
 Dołączył: 17 Sty 2007
 Posty: 8
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Kraków
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| moniaskor Początkujący
 
 
 Dołączył: 21 Sty 2007
 Posty: 12
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| Greif Administrator
 
 
 Dołączył: 15 Sty 2007
 Posty: 756
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Piotrowice k.Oświęcimia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| mogur Coś już napisał
 
 
 Dołączył: 15 Sty 2007
 Posty: 41
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Alwernia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| Bernadka Początkujący
 
 
 Dołączył: 17 Sty 2007
 Posty: 8
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Kraków
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| mogur Coś już napisał
 
 
 Dołączył: 15 Sty 2007
 Posty: 41
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Alwernia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| mogur Coś już napisał
 
 
 Dołączył: 15 Sty 2007
 Posty: 41
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Alwernia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| Greif Administrator
 
 
 Dołączył: 15 Sty 2007
 Posty: 756
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Piotrowice k.Oświęcimia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| Bernadka Początkujący
 
 
 Dołączył: 17 Sty 2007
 Posty: 8
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Kraków
 
 | 
			
				|  Wysł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
   
  	  | 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 |  | 
	
		|  | 
	    
	
		| Greif Administrator
 
 
 Dołączył: 15 Sty 2007
 Posty: 756
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Piotrowice k.Oświęcimia
 
 | 
			
				|  Wysł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 |  | 
	
		|  | 
	    
	
		| mogur Coś już napisał
 
 
 Dołączył: 15 Sty 2007
 Posty: 41
 Przeczytał: 0 tematów
 
 Ostrzeżeń: 0/5
 
 Skąd: Alwernia
 
 | 
			
				|  Wysł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.
 | 
 
 
   
 tylko czemu dla innych wartości x wypisuje 0 ?
 
 Post został pochwalony 0 razy
 |  | 
	
		| Powrót do góry |  | 
	
		|  | 
	    
	
		|  |