Forum studentów ZiM WIZ PWr

Forum studentów ZiM 2005 :: WIZ PWr

Forum Forum studentów ZiM WIZ PWr Strona Główna -> Uczelnia i dydaktyka -> Zadania z informatyki Idź do strony 1, 2, 3  Następny
Napisz nowy temat  Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat 
Zadania z informatyki
PostWysłany: Czw 21:49, 25 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Jeżeli ktoś pamięta treść zadań jakie pojawiają się na kołach z infy, to byłbym bardzo wdzięczny za umieszczenie ich tutaj.


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Wto 0:17, 30 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Dobra, nie wiem czy umieszczanie czegoś tutaj ma jakiś sens ale jeszcze spróbuje...
Zostałem poproszony o napisanie kilku progsów z infy. Możekomuś jeszcze się przydadzą. Z góry uprzedzam, że nie sprawdzałem czy się kompilują, więc warto poświęcić trochę czasu :P
Oto zadania:

Zad 1.
Napisz program który odpowie na pytanie czy w wypełnionym pliku tekstowym znajduje się podany przez użytkownika wyraz.

Kod:

Program p1;
uses crt;   {keypressed jest tu zdefiniowane. Jeśli to wywalić, to nie będzie działać ostatnia           linijka kodu}
var     plik:Text;
    zn1,a:string;
    znaleziono:boolean;
begin
  assign(plik,'plik.txt');
  reset(plik);
  writeln('podaj szukany wyraz w pliku');
  readln(a);
  znaleziono:=False;      {na początku zakładamy, że nie znaleziono ciągu}

  while ((not eof(plik)) and (not znaleziono)) do   {jeśli znajdziemy ciąg,to po co szukać dalej?}
    begin
      readln(plik,zn1);
      if pos(a,zn1)>0 then
        znaleziono:=True;   {jeśli znaleziono, to trzeba to zaznaczyć}
    end;          {tu sie kończy pętla}

  if (znaleziono) then      {warunek jest równoważny if(znaleziono=True)}
    begin
      writeln('Odnaleziono ciąg ',a,' w pliku.');
    end
  else
    begin
       writeln('Nie odnaleziono ciągu ',a,' w pliku.');
    end;

  close(plik);         {zamykamy otwarty plik}
  repeat until keypressed;   {czekamy na przyciśniecie dowolnego klawisza}
end.


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Wto 0:18, 30 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Zad 2.
Dana jest wypełniona tablica T zawierająca 30 rekordów. Kazdy rekord zawiera informacje o transakcach zawartych przez fimrę F: wysokosc transakcji,jej znak ('+' dla wpływów do firmy, '-' dla wypływów) oraz data tansakcji Napisz funkcję oliczającą saldo wszystkich transakcji firmy F (saldo=suma wpływów - suma wypływów). T - parametr funkcji.

Ponieważ należy napisać tylko funkcję, to:

Kod:

program p2;
type     {w sekcji type tworzymy nowe typy zmiennych. Będzie potem łatwiej korzystać}
         rek_data=record
   dzien, miesiac, rok: integer;   {bo tak sobie przyjąłem. Zadanie nie precyzuje wyglądu                    rekordu}
         end;   

         rek_transakcja=record
   wartosc:real;
   znak:char;   {'+' dla wpływów, '-' dla wypływów}
   data:rek_data;   {a tu jest rekord zawierający datę}
         end;

         typ_tab=array[1..30] of rek_transakcja;   {a to opis naszej tablicy}

function saldo(tab:typ_tab):real;
var i:integer;   {potrzebujemy licznika do petli}
      suma:real; {tu będziemy zliczać saldo}
begin
  suma:=0;   {dla pewności}
  for i:=1 to 30 do
    begin
      if (tab[i].znak='+') then
        suma:=suma+tab[i].wartosc;
     
      if (tab[i].znak='-') then   {zamiast tego można było uzyć else i połączyć z poprzednim ifem}
        suma:=suma-tab[i].wartosc;   {ale tak jest bezpieczniej :)}
    end;   {koniec pętli}
   saldo:=suma;   {zwracamy wynik}
end;

begin   {program główny nas nie interesuje, my piszemy funkcję}
end.


Trochu sie poprzesuwalo... ale co to dla Was :)


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Wto 0:21, 30 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Zad 3.
Napisz program który umożliwi znalezienie elementu maksymalnego wśród danych zapisanych do pliku binarnego (jednorodnego) składającego się z liczb rzeczywistych

Kod:

program p3;
uses crt;
var plik:file of real;
      tmp, max:real;

begin
  assign(plik,'plik.txt');
  reset(plik);

  if(not eof(plik)) then   {musimy od czegoś zacząć porównywanie...}
    read(plik, max)
  else
    writeln('Plik pusty!!!');  {tak jak napisano :)} 

  while(not eof(plik)) do
    begin
      read(plik,tmp);
      if(tmp>max) then
        max:=tmp;
    end;

  writeln('wartosc max = ',max);
  repeat until keypressed;
end.


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Wto 0:22, 30 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Zad 4.
Dana jest wypełniona tablica T skłądająca się z 30 rekordów:Dziecko. Każdy rekord zawiera następujące informacje: imię,nzawisko,rok urodzenia,wzrost,waga. Napisz procedurę która zwróci do programu imię i nazwisko dziecka którego wzrost jest najwiekszy. T - parametr procedury

Kod:

program p4;
type typ_data=record
         dzien, miesiac, rok:integer; {bo tak :P}
        end;

     typ_dziecko=record   {nazwalem to typ_dziecko, mimo ze w zadaniu chciano dziecko}
                              {coz, konwencja nazewnictwa :)}
      imie,nazwisko:string;
      rok_ur:typ_data;
      wzrost,waga:real;
     end;

     typ_tab=array[1..30] of typ_dziecko;

procedure topola(tab:typ_array, var imie:string, var nazwisko:string);  {przepraszam za nazwe, nie moglem nic wymyslic}
var i:integer;  {bedzie potrzebny licznik}
      max:integer; {tutaj sprytnie zapamietamy numer najwyzszego dziecka}
begin
  max:=1; {na poczatku zakladamy, ze najwyzsze jest pierwsze, i tak to potem sprawdzimy}
  for i:=1 to 30 do
    begin
      if(tab[i].wzrost>tab[max].wzrost) then
        max:=i;   {jesli znajdziemy wyzsze dziecko niz mielismy zapamietane, to tu}
                    {zapamietujemy nowo znalezionego olbrzyma}
    end;

  imie:=tab[max].imie;           {procedura zmienia zmienne do niej podstawione!}
  nazwisko:=tab[max].nazwisko;
end;

begin
end.


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Wto 0:23, 30 Maj 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Zad 5.
Napisz program, który umożliwi pobranie z pliku tekstowego danych i wydrukuje je na ekran. Każdy wyraz powinien znaleźć się w osobnej linii. "znaki kończące wyraz ...". 
(rozumiem, to tak: program czyta plik tekstowy, wypisuje każdy wyraz w osobnej linii. Dodatkowo znaki końca wyrazu to .,!? i spacja - patrz któraś lista z infy.
Założenie: będę drukował znak końca wyrazu.
Założenie2: poniewaznie określono metody będę czytał plik po znaku!, nie liniami. A to dlatego żeby nie mieć problemów jeślo na końcu linii nie pojawi się znak końca wyrazu :)
)

Kod:

program p5;
var plik:text;
    c:char;
begin
  assign(plik,'p5.pas');
  reset(plik);
  while (not eof(plik)) do
    begin
      read(plik,c);   {czytamy po znaku. Readln przczytałby całą linijkę (aż do entera)}
      if (c in ['.',',','!','?',' ']) then
        writeln(c)   {jesli napotkamy znak końca pliku, to przechodzimy do nast. Linii}
      else
        write(c);      {jeśli nie, to dopisujemy kolejny znak :)}
    end;
end.


Post został pochwalony 0 razy
Zobacz profil autora
zadaneczka :D
PostWysłany: Czw 6:11, 01 Cze 2006
Melaska ;)

 
Dołączył: 26 Paź 2005
Posty: 17
Przeczytał: 0 tematów

Ostrzeżeń: 0/5





Nie żebym coś krytykowała, tylko rzuciłam okiem na te zadania i obawiam się, że dla laika te sposoby rozwiązywania będą raczej niejasne. Poza tym myślę, że lepszym sposobem na pomoc jest wrzucenie pojawiających się treści zadań i ewentualnie podanie wskazówek do osiągnięcia rozwiązań, a nie odwalenie gotowego programu i cześć, bo ludzie się tego potem uczą na pamięć - zwłaszcza, jak nie bardzo wiedzą czym np. jest zmienna typu boolean ;P I jak pojawia się cokolwiek innego, to nie wiedzą co robić. Pomóżmy studentom myśleć! Smile))


Post został pochwalony 0 razy
Zobacz profil autora
Re: zadaneczka :D
PostWysłany: Czw 20:48, 01 Cze 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Melaska ;) napisał:
Nie żebym coś krytykowała, tylko rzuciłam okiem na te zadania i obawiam się, że dla laika te sposoby rozwiązywania będą raczej niejasne.


Cóż... poproszono mnie o napisanie programów. Czasem pomaga jak widzisz rozwiązanie. Oczywiście masz racje, dobrze jest je zrozumieć :)

Melaska ;) napisał:

Poza tym myślę, że lepszym sposobem na pomoc jest wrzucenie pojawiających się treści zadań i ewentualnie podanie wskazówek do osiągnięcia rozwiązań, a nie odwalenie gotowego programu i cześć, bo ludzie się tego potem uczą na pamięć - zwłaszcza, jak nie bardzo wiedzą czym np. jest zmienna typu boolean ;P I jak pojawia się cokolwiek innego, to nie wiedzą co robić. Pomóżmy studentom myśleć! :)))


Ha, znowu racja. Tylko widzisz, forum jest po to aby dyskutować :) Niestety nikt nie pyta (pomijając fakt, że mało kto czyta).

Ja nie znam wszystkich zadań z kół. Głównie dlatego, że na nie nie uczęszczam. A jak sama widzisz nie pojawiły się żadne treści.

Z wyjaśnień:
Zmienna typu boolean jest zmienną przechowującą wartości typu prawda i fałsz. Ponieważ wynik wszelkich porównań jest właśnie typu boolean mogłem napisać:

Kod:

if(znaleziono) then...


Prawidłowym zabiegiem byłoby także podstawienie typu:
Kod:

var wyn:boolean;

wyn:=1>2;

if(wyn) then ...


Jak widać zmienna 'wyn' zapamiętuje wynik wyrażenia 1>2, w tym wypadku jest to fałsz. Następnie wykonuje instrukcję warunkową if, która argument pobiera z 'wyn'. W tym przypadku instrukcje należące do 'if' się nie wykonają.


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Pią 13:32, 02 Cze 2006
aNNa:)

 
Dołączył: 02 Cze 2006
Posty: 3
Przeczytał: 0 tematów

Ostrzeżeń: 0/5





witam czy może mi ktos pomóc z programowania???? nie potrafie sobie z tym poradzic Sad Crying or Very sad


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Pią 13:38, 02 Cze 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Powiedz jak wielkeij pomocy potrzebujesz Smile Jakieś wątpliwości ? Czy może coś więcej ? Myślę, że w razie czego znajdą się ludzie, którzy zechcą pomóc Smile


Post został pochwalony 0 razy
Zobacz profil autora
Programowanie
PostWysłany: Pią 15:05, 02 Cze 2006
Musad

 
Dołączył: 06 Gru 2005
Posty: 2
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Miasto świętej wierzy





tu sie naprawde coś ruszyło!! jestem pod wrażeniem Cool


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Sob 0:10, 03 Cze 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





A pewnie, powoli się rusza. Powiedzcie znajomym Smile


Post został pochwalony 0 razy
Zobacz profil autora
System szesnastkowy
PostWysłany: Sob 9:59, 03 Cze 2006
Musad

 
Dołączył: 06 Gru 2005
Posty: 2
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Miasto świętej wierzy





Po jaką cholere podawałeś gg jak nie chcesz coby gtoś do ciebie pisał!! Zaznacz lepiej że to system szesnastkowy:D Biernata za dużo miałeśRazz Twisted Evil


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Sob 11:09, 03 Cze 2006
OBeK

 
Dołączył: 25 Paź 2005
Posty: 113
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: stąd





przeciez jego GG jest podane w jego profilu Razz


Post został pochwalony 0 razy
Zobacz profil autora
PostWysłany: Sob 14:03, 03 Cze 2006
Kalavan

 
Dołączył: 20 Maj 2006
Posty: 38
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Wrocław





Przecież zaznaczyłem, że to szesnatkowy jest! Twisted Evil
Dlaczego dodany w podpisie ? Bo tak od razu macie go przed oczami, hehe Twisted Evil

O, teraz będzie trudniej Twisted Evil


Post został pochwalony 0 razy
Zobacz profil autora
Zadania z informatyki
Forum Forum studentów ZiM WIZ PWr Strona Główna -> Uczelnia i dydaktyka
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
Wszystkie czasy w strefie EET (Europa)  
Strona 1 z 3  
Idź do strony 1, 2, 3  Następny
  
  
 Napisz nowy temat  Odpowiedz do tematu  


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin
Regulamin