Ogłoszenie

Collapse
No announcement yet.

Zadania z informatyki

Collapse
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    Zadania z informatyki

    Witam, ostatnio kolezanka (ladna kolezanka) wiedzac ze znam sie na komputerach zapytala sie mnie czy mogl bym rozwiazac dla niej kilka zadan z informatyki, oferujac mi za to slodkiego buziaka ) nie moglem odmowic, przeslala mi zadania no i zonk )) turbo pascal co prawda kiedys sie go uczylem ale na dzien dzisiejszy noga jestem )))

    Pokaze zadania, moze ktos z was, wspolna sila udalo by sie rozwiazac chociaz kilka zadan )) Na dzien dzisiejszy nie chodzi juz o tego buziaka a o HONOR ))



    1. Napisz program liczby, który do pliku liczby.dat zapisze 100 losowych liczb

    całkowitych z przedziału <0 ..50>, a nastepnie odczyta je z tego pliku i

    wyświetli na ekranie.

    2.Ułóż program, który zapamięta w tablicy wczytane z klawiatury cztery dowolne
    znaki, a następnie całą jej zawartość wyświetli na ekranie.

    3. Zmodyfikuj program ćwiczenia drugiego w ten sposób, aby znaki wyświetlane były

    w odwrotnej kolejności.

    4. Utwórz tablicę złożoną z 6 liczb całkowitych. Zainicjalizuj tablicę dowolnymi

    wartościami, oblicz sumę i średnią arytmetyczną tych liczb.

    5. Ułóż program, który za pomocą pętli wczyta do tablicy dwuwymiarowej 10 x 10

    tabliczkę mnożenia, a następnie wyświetli ją na ekranie.

    6. Napisz program w Pascalu, który
    a) stworzy tablice 10 x 10 liczb
    b) wypełnij ją losowymi wartościami z zakresu [0, +10]
    c) i policzy ile razy wystąpiły wartości 5 i 7.
    Program ma wyświetlić tablice wypełnioną liczbami oraz jeden wiersz w którym będą liczby opisujące ile razy wystąpiła liczba 5 i 7.

    7. Napisz program w Pascalu, który
    a) stworzy tablice A(5 x 5) i B(5 x 5) liczb
    b) wypełnij tablice A losowymi wartościami z zakresu [0, +1]
    c) wypełnij tablice B losowymi wartościami z zakresu [1, +10]

    8. Napisz program w Pascalu, który
    a) stworzy tablice 7 x 7 liczb
    b) stwórz plik dane.txt z liczbami które wykorzystasz w punkcie C
    c) wypełnij ją wartościami pobranymi z pliku dane.txt

    9. Napisz program w Pascalu, który
    a) stworzy tablice A(6 x 6) i B(6 x 6) liczb
    b) wypełnij ją losowymi wartościami z zakresu [0, +10]
    c) stworzy tablice C(6 x6) której wartości będą sumą tablic A i B



    :)))) wierze ze sa na forum osoby ktore turbo pascal znaja, albo ucza sie go w terazniejszym czasie ))

    [ Dodano: 2010-01-20, 10:55 ]
    Ok pierwsze mam

    program liczby;
    uses crt;
    var
    f: file of byte;
    i: Integer;
    x: byte;
    begin
    randomize;
    assign(f, 'liczby.dat');

    rewrite(f);
    for i:=1 to 100 do
    begin
    x := random(51);
    write(f, x);
    end;
    close(f);

    reset(f);
    clrscr;
    for i := 1 to 100 do
    begin
    read(f, x);
    write(x:4);
    end;
    close(f);

    readkey;
    end.

    [ Dodano: 2010-01-20, 10:59 ]
    Zadanie 2


    var

    znak : array [1..4] of char;

    i : integer;

    begin

    writeln('Podaj cztery dowolne znaki:');

    for i:=1 to 4 do

    readln(znak[i]); //wczytuje znaki do tablicy



    write('Podales znaki: ');

    for i:=1 to 4 do

    write(znak[i]); //wyświetla znaki tablicy



    readln;

    end.



    :)))))

    #2
    heh ostatnio coś robiłem w pascalu z 6-7 lat temu :)
    ale 3 zadanko powinno śmigać przy okazji zawarte jest to 2

    [code]program zadanie_3;
    uses crt;
    var tab:array[1..4] of char;
    i:integer;

    BEGIN
    ClrScr;
    writeln('Podaj 4 dowolne znaki');
    for i:=1 to 4 do readln(tab[i]);
    writeln('Znaki wyswietlone w kolejnosci poprawnej');
    for i:=1 to 4 do write(tab[i]);
    writeln;
    writeln('Znaki wyswietlone w kolejnosci odwrotnej');
    for i:=4 downto 1 do write(tab[i]);

    readln;
    END.[/code]

    [ Dodano: 2010-01-20, 12:05 ]
    [code]
    program zad_4;
    uses crt;
    var tab:array[1..6] of integer;
    i:integer;
    suma:integer;
    srednia:real;

    BEGIN
    ClrScr;
    randomize;
    suma:=0;
    for i:=1 to 6 do
    Begin
    tab[i]:=random(10)+1;
    suma:=suma+tab[i];
    End;
    srednia:=suma/6;
    writeln('Wylosowane liczby');
    for i:=1 to 6 do write(tab[i], ' ');
    writeln;
    writeln('Suma= ',suma,' srednia= ',srednia);
    readln;
    END.
    [/code]

    Skomentuj


      #3
      w pascalu nie grzebalem z 6 lat, ale tak dla zabawy odpalilem kompilator FreePascala i jestem juz przy 8 zadaniu ;]

      jesli zadowolowa Cie kody z FreePascal to moge Ci je pozniej wkleic

      Skomentuj


        #4
        Nie wiem czy o to chodziło w 5, narazie już nie mam więcej czasu, ale gdyby coś to jeszcze się pobawię :)
        [code]
        program zad_5;
        uses crt;
        var tab:array [1..10, 1..10] of integer;
        i,j:integer;

        BEGIN
        ClrScr;
        randomize;
        for i:=1 to 10 do
        begin
        writeln;
        for j:=1 to 10 do
        begin
        tab[i,j]:=random(9)+1;
        write(tab[i,j], ' ');
        end;
        end;
        readln;
        END.
        [/code]

        Skomentuj


          #5
          Ja doszedlem do 5 zadania )))) dziekuje wszystkim za pomoc oczywiscie CIekawe czy komus uda sie rozwiazac wszystkie )) W sumie ostatnie 3 zadania sa podobne wystarczy popodstawiac dane itp ))

          Skomentuj


            #6
            kompilator freepascal poniewaz nie mam windowsa, dzis sciaglem tak wiec aktualna wersja:
            [code]program zadanie1;

            var
            i: integer;
            zapis, odczyt: text;
            cyferka: string;

            begin
            Randomize;

            //zapis losowych liczb
            assign(zapis, 'liczby.dat');
            rewrite(zapis);

            for i := 1 to 100 do
            begin
            writeln(zapis, Random(50));
            end;

            close(zapis);

            //odczyt
            assign(odczyt, 'liczby.dat');
            reset(odczyt);

            while not eof (odczyt) do
            begin
            readln(odczyt, cyferka);
            writeln(cyferka);
            end;

            close(odczyt);
            end.
            ----------------------------------------------------
            program zadanie2;

            var
            i: integer;
            tablica: array[1..4] of char;

            begin
            for i := 1 to 4 do
            begin
            writeln('podaj znak ', i);
            readln(tablica[i]);
            end;

            for i := 1 to 4 do
            begin
            write(tablica[i], ' ');
            end;
            end.
            ----------------------------------------------
            program zadanie3;

            var
            i: integer;
            tablica: array[1..4] of char;

            begin
            for i := 1 to 4 do
            begin
            writeln('podaj znak ', i);
            readln(tablica[i]);
            end;

            for i := 4 downto 1 do
            begin
            write(tablica[i], ' ');
            end;
            end.
            -------------------------------------------
            program zadanie4;

            var
            i: integer;
            tablica: array[1..6] of integer;
            suma: integer;
            srednia: single;

            begin
            Randomize;

            //zaladuj liczby do tablicy
            for i := 1 to 6 do
            begin
            tablica[i] := Random(20);
            end;

            //pokaz co to za liczby
            for i := 1 to 6 do
            begin
            write(tablica[i], ' ');
            end;

            writeln;

            //suma
            suma := 0;

            for i := 1 to 6 do
            begin
            suma := suma + tablica[i];
            end;

            //wyswietlamy
            writeln('suma = ', suma);
            writeln('srednia = ', (suma / 6):0:4);
            end.
            --------------------------------------------
            program zadanie5;

            var
            i, j, mnoznik: integer;
            tablica: array[1..10,1..10] of integer;

            begin
            mnoznik := 1;

            //wypelniamy tablice
            for i := 1 to 10 do
            begin
            for j := 1 to 10 do
            begin
            tablica[i, j] := (j * mnoznik);
            end;

            mnoznik := mnoznik + 1;
            end;

            //wyswietlamy tabelke
            for i := 1 to 10 do
            begin
            for j := 1 to 10 do
            begin
            write(tablica[i, j], ' ');
            end;
            writeln;
            end;
            end.
            -------------------------------------
            program zadanie6;

            var
            i, j, liczba, licznik_5, licznik_7: integer;
            tablica: array[1..10,1..10] of integer;

            begin
            Randomize;
            licznik_5 := 0;
            licznik_7 := 0;

            //wypelniamy tablice
            for i := 1 to 10 do
            begin
            for j := 1 to 10 do
            begin
            tablica[i, j] := Random(10);
            end;
            end;

            //zliaczmy liczby
            for i := 1 to 10 do
            begin
            for j := 1 to 10 do
            begin
            liczba := tablica[i, j];
            write(liczba, ' ');

            if liczba = 5 then
            begin
            licznik_5 := licznik_5 + 1;
            end;

            if liczba = 7 then
            begin
            licznik_7 := licznik_7 + 1;
            end;
            end;
            writeln;
            end;

            writeln('ilosc 5 = ', licznik_5);
            writeln('ilosc 7 = ', licznik_7);
            end.
            ----------------------------------------------
            program zadanie7;

            var
            i, j: integer;
            tablica_a, tablica_b: array[1..5,1..5] of integer;

            begin
            Randomize;

            //tablica A
            for i := 1 to 5 do
            begin
            for j := 1 to 5 do
            begin
            tablica_a[i, j] := Random(1);
            tablica_b[i, j] := (Random(10) + 1);
            end;
            end;

            //wyswietlanie
            // for i := 1 to 5 do
            // begin
            // for j := 1 to 5 do
            // begin
            // write(tablica_b[i, j], ' ');
            // end;
            // writeln;
            // end;
            end.
            --------------------------------------------------
            program zadanie8;

            Uses sysutils;

            var
            i, j, x, y: integer;
            tablica: array[1..7,1..7] of integer;
            dane, odczyt: text;
            cyferka: string;

            begin
            Randomize;
            assign(dane, '/home/dane.txt');
            rewrite(dane);

            //wypelnial plik, liczba po liczbie 7x7=49
            for i := 1 to 49 do
            begin
            writeln(dane, Random(10));
            end;

            close(dane);

            //odczyt i wpisywanie do tablicy
            assign(odczyt, '/home/dane.txt');
            reset(odczyt);

            x := 1;
            y := 1;

            for i := 1 to 49 do
            begin
            readln(odczyt, cyferka);
            tablica[x, y] := StrToInt(cyferka);

            y := y + 1;

            if y = 8 then
            begin
            y := 1;
            x := x + 1;
            end;
            end;

            close(odczyt);

            //wyswietlanie
            // for i := 1 to 7 do
            // begin
            // for j := 1 to 7 do
            // begin
            // write(tablica[i, j], ' ');
            // end;
            // writeln;
            // end;
            end.
            --------------------------------------
            program zadanie9;

            var
            i, j: integer;
            tablica_a: array[1..6,1..6] of integer;
            tablica_b: array[1..6,1..6] of integer;
            tablica_c: array[1..6,1..6] of integer;

            begin
            Randomize;

            //wypelniamy
            for i := 1 to 6 do
            begin
            for j := 1 to 6 do
            begin
            tablica_a[i, j] := Random(10);
            tablica_b[i, j] := Random(10);
            end;
            end;

            //sumujemy
            for i := 1 to 6 do
            begin
            for j := 1 to 6 do
            begin
            tablica_c[i, j] := (tablica_a[i, j] + tablica_b[i, j]);
            end;
            end;

            //wyswietlamy
            //tablica_a
            for i := 1 to 6 do
            begin
            for j := 1 to 6 do
            begin
            write(tablica_a[i, j], ' ');
            end;
            writeln;
            end;

            writeln;

            //tablica_a
            for i := 1 to 6 do
            begin
            for j := 1 to 6 do
            begin
            write(tablica_b[i, j], ' ');
            end;
            writeln;
            end;

            writeln;

            //tablica_c
            for i := 1 to 6 do
            begin
            for j := 1 to 6 do
            begin
            write(tablica_c[i, j], ' ');
            end;
            writeln;
            end;
            end.
            [/code]

            ja robie ladne wciecia tylko forum tego nie akceptuje, tu masz paczke: http://temp.tomekk.org/pascal.tar.gz

            jak potrzebujesz screena z dzialania kazdego to Ci moge zapodac

            [ Dodano: 2010-01-20, 12:56 ]




            Skomentuj


              #7
              [code]tablica_a[i, j] := Random(10);
              tablica_b[i, j] := Random(10); [/code]


              Czy tam nie powinno byc
              tablica_a[i, j] := Random(11); ???

              Skomentuj


                #8
                widzisz, w sumie tak bo to 10 sie nie zawiera, zmien sobie na 11 w zrodlach :)
                tam gdzie jest random(1) tez zwieksz o jeden, z pospiechu nie zmienilem tego

                Skomentuj


                  #9
                  Dasz jej te zadania i licz sie z tym ze teraz jako ekspert od pascala dostaniesz kolejna paczke , tym razem oczywiście juz trudniejszych :lol: . Te akurat były proste ale skoro z nimi nie podołałeś to przy kolejnych twoja reputacja bedzie wisieć na włosku zlaeżna od tego forum :lol:

                  Skomentuj


                    #10
                    No nie wszedzie trzeba zmienic tylko tam gdzie jest zakres od 0, +10.

                    Skomentuj


                      #11
                      Zamieszczone przez Yoshi_80
                      Dasz jej te zadania i licz sie z tym ze teraz jako ekspert od pascala dostaniesz kolejna paczke , tym razem oczywiście juz trudniejszych :lol: . Te akurat były proste ale skoro z nimi nie podołałeś to przy kolejnych twoja reputacja bedzie wisieć na włosku zlaeżna od tego forum :lol:
                      bzykanie za kody w Pascalu, nice ! ;p (no offense)

                      Skomentuj


                        #12
                        Tutaj raczej chodzilo o fakt taki ze troche zapomnialem jak to wszystko dziala, ale sobie przypomnialem, a najwazniejsze ze zcasu nie mam, nawet teraz piszac tu na forum to robie to z pracy gdzie dziwnie kierownik na mnie patrzy i sie za monitorem bunkruje ))))

                        Skomentuj


                          #13
                          dobre tam, zartowalem
                          wez sobie zrob co chcesz z tymi zrodlami, ja dzis pascala zassalem po paru latach,
                          te zadania mozna rozwiazac na pare sposobow, nie skupialem sie jakos na 'jakosci'

                          gosc ktory bedzie oceniac twoja kumpele i tak pewnie nie uwierzy ze to ona zrobila ;]

                          Skomentuj


                            #14
                            I tak wprowadze tam pare bledow ;] ale zalezalo mi na poprawnych rozwiazaniach bym pozniej mogl jej wytlumaczyc mniej wiecej gdzie blad jest i w razie czego by mogla wytlumaczyc sie profesorowi, ze co i jak i dlaczego tam blad jest

                            ja nie lubie doszukiwac sie cudzych bledow ;]

                            Ale dzieki chlopaki na was zawsze mozna liczyc :))) juz po pracy szybko sie ogole wykapie i na spotkanie hehehehe

                            [ Dodano: 2010-01-20, 14:17 ]
                            PS. Yoshi80, nie kazdy jest taki hiper masta blasta jak TY bez urazy to taki zart hehehe

                            Kazdy jest dobry w czyms innym ja akurat potrafie szybko liczyc wspak do tego jezdzic winda bez trzymanki ))

                            Skomentuj


                              #15
                              Witam ! Ja również potrzebuje pomocy z tematu programowania w pascalu ,oto kilka krótkich zadań :
                              1.W zawodach strzeleckich do tarczy jeden z zawodników uzyskał w pięciu strzałach 21 punktów trafiając kolejno w pola ,4,4,5 i 5.Pozostali zawodnicy również uzyskali po 21 punktów trafiając pieciokrotnie w tarczę i uzyskując w każdym następnym strzale wynik co najmniej tak dobry jak w poprzednim .Gdy ogłoszono wyniki okazało się że każdy z zawodników startujacych w zawodach miała inną piątkę złożoną z punktów uzyskanych w kolejnych pięciu strzałach. Jaka mogła być maksymalna liczba zawodników startujących w zawodach strzeleckich? Napisać program rozwiązujący powyższe zadanie
                              2.Wojtek ma pudełko bardzo smacznych cukierków, które częściowo zjada w trakcie codziennej zabawy, którą sam wymyślił. Wysypuje wszystkie cukierki na stół, a następnie: a)jeśli liczba cukierków jest parzysta, dzieli je na dwie równe częsci, jedną częsć wsypuje z powrotem do pudełka, a druga pozostawia na stole. b)jeśli liczba cukierków jest nieparzysta, to zjada jeden cukierek, pozostałe dzieli na dwie rózne części wsypuje z powrotem do pudełka,a drugą pozostawia na stole . Zcukierkami pozostawionymi na stole postępuje tak samo jak poprzednio ,aż pozostanie na stole jeden cukierek który zjada, a pudełko z cukierkami odkłada do zabawy na następny dzień. Jaką największą liczbę cukierków Wojtek mógł zjeść w trakcie dzisiejszej zabawy, jeżeli na początku miał na stole nie więcej niż 99 cukierków? napisać program
                              3.Trzej bracia mają przenieść dziewięć paczek,które ważą odpowiednio 1,2,4,5,6,8,9,11 i 14kg. Każdy musia wziąc trzy paczki. Jak podzielić zestaw paczek na trzy części,aby różnica wagi pomiędzy częścią najcięższą i najlżejszą była możliwie najmniejsza ? napisać program najlepiej w turbo pascalu albo w lazarusie

                              Skomentuj

                              Czaruję...
                              X