• Witamy w największym polskim serwisie internetowym poświęconym w całości zagadnieniom samodzielnej budowy nagłośnienia.
    Dzięki DIYaudio.pl poznasz zagadnienia samodzielnej budowy nagłośnienia od podszewki oraz będziesz mógł dyskutować o DIY audio do woli.

    Artykuły z dawnego portalu zostały przeniesione do sekcji forum na samym dole.

Zadania z informatyki

Rejestracja
Sie 31, 2004
Postów
379
Reakcji
0
Lokalizacja
Gdańsk
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); //wczytuje znaki do tablicy



write('Podales znaki: ');

for i:=1 to 4 do

write(znak); //wyświetla znaki tablicy



readln;

end.



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

Kod:
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.

[ Dodano: 2010-01-20, 12:05 ]
Kod:
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.
 
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
 
Nie wiem czy o to chodziło w 5, narazie już nie mam więcej czasu, ale gdyby coś to jeszcze się pobawię :)
Kod:
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.
 
Ja doszedlem do 5 zadania ;))))) dziekuje wszystkim za pomoc oczywiscie ;P CIekawe czy komus uda sie rozwiazac wszystkie ;))) W sumie ostatnie 3 zadania sa podobne wystarczy popodstawiac dane itp ;)))
 
kompilator freepascal poniewaz nie mam windowsa, dzis sciaglem tak wiec aktualna wersja:
Kod:
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.

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 ]




 
Kod:
tablica_a[i, j] := Random(10);
tablica_b[i, j] := Random(10);


Czy tam nie powinno byc
tablica_a[i, j] := Random(11); ???
 
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
 
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:
 
Yoshi_80 napisał:
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)
 
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 ;)))))
 
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 ;]
 
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 ;P

ja nie lubie doszukiwac sie cudzych bledow ;]

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

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

Kazdy jest dobry w czyms innym ja akurat potrafie szybko liczyc wspak ;P do tego jezdzic winda bez trzymanki ;)))
 
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
 
Powrót
Góra