Skocz do zawartości
pawlak89

Programy w pascalu: sortujący i obliczający pola figur

Rekomendowane odpowiedzi

Na zaliczenie pierwszej klasy technikum z przedmiotu programowanie musze napisac dwa programy. Muszą być napisane w pascalu. Jestem zielony jeśli chodzi o programowanie, więc prosze o wyrozumiałość. Prosze o pomoc i z góry dziękuje.

 

Programy:

1. Napisz program (pascal) odczytujący z pliku tekstowego cięg liczb, sortujący go, a następnie wyświetlający posortowany ciąg na ekranie.

2. Napisz program (pascal) obliczający pola koła, kwadratu, trójkąta. Program ma umożliwiać wybór figury geometrycznej którą chcemy obliczyć.

 

Tym co pomogą dziekuje.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zastanawia mnie jedna rzecz... masz przedmiot programowanie to czego Cię tam uczą ? Musisz wykonać pracę w pascalu o którym nic nie wiesz, to oni zadają rzeczy do zrobienia o których nawet nie uczą ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie jestem pewien, ale 2 program powinien wyglądać mniej więcej tak:

program pola;
var 
a,b:real;
c:byte;

procedure kolo;
begin
writeln('Podaj dlugosc promienia:');
readln(a);
writeln('Pole wynosi w przyblizeniu: ', pi*a*a);
end;

procedure kwadrat;
begin
writeln('Podaj dlugosc boku:');
readln(a);
writeln('Pole wynosi: ',a*a);
end;

procedure trojkat;
begin
writeln('Podaj wysokosc trojkata: ');
readln(a);
writeln('Podaj dlugosc podstawy: ');
readln(b);
writeln('Pole wynosi: ', 0.5*a*b);
end;

begin
a:=0;
b:=0;
repeat
writeln('Pole jakiej figury chcesz policzyc?');
writeln('1. Kolo');
writeln('2. Kwadrat');
writeln('3. Trojkat');
writeln('Aby dokonac wyboru nacisnij cyfre od 1-3 i nacisnij enter');
readln(c);
until c > 0 and c < 4;
if c = 1 then kolo else 
begin
if c = 2 then kwadrat else
if c = 3 then trojkat;
end;
readln;
end.

Masz tutaj od razu zabezpieczenie przed wprowadzeniem w menu wartości wyższych lub niższych niż te które umożliwiają wybór podprogramu liczącego pole.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Zastanawia mnie jedna rzecz... masz przedmiot programowanie to czego Cię tam uczą ? Musisz wykonać pracę w pascalu o którym nic nie wiesz, to oni zadają rzeczy do zrobienia o których nawet nie uczą ?

zmieniłem szkołe i musze zaliczyć różnice programowe

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
zmieniłem szkołe i musze zaliczyć różnice programowe

 

Moja nie rozumieć. Zmieniłeś szkołę i od razu każą ci coś w pascalu napisać? Dziwne...

 

Drugi program Marmot ci napisał, co do pierwszego to sam bym nawet pomógł gdybym wiedział jakie to mają być ciągi cyfer i jak posortowane. :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@Wisznu:

Nie wiem czy wiesz, ale jak w szkole wymagają Pascala, to się nie daje Visual Basica, tylko Pascala. To tak, jakbyś zaliczał test z języka angielskiego i pisał po japońsku.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Moja nie rozumieć. Zmieniłeś szkołę i od razu każą ci coś w pascalu napisać? Dziwne...

 

Drugi program Marmot ci napisał, co do pierwszego to sam bym nawet pomógł gdybym wiedział jakie to mają być ciągi cyfer i jak posortowane. :P

 

to ma byc coś takiego że mam w pliku napisane jakieś losowe liczby i program ma je sortować żeby były w kolejności od najmniejszej do największej

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A wiesz może jak te liczby mają być zapisane w tym pliku? Bo to ważne wbrew pozorom.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Marmi,mógłbym to zrobić w Pascaly,ale wole VB i chciałem tylko pokazać jak to zrobić w okienkach.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale nikt nie prosił o robienie w okienkach w VisualBasic więc po kiego się odzywasz. Jakby chciał w okienkach, to już prędzej Object Pascal trzebaby pokazać, ale skoro musi mieć program pisany w Pascalu to chyba logiczne, że trzeba mu dawać zrobiony w Pascalu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A ja Wam powiem, że to jest jakaś jedna wielka podpucha. Przecież tak banalnych rzeczy to już w przedszkolu uczą xP te zadanie z obliczniem pól figur to jest w każdym tutorialu na pierwszym miejscu jako najłatwiejsze do zrobieia... Ja nie mogę, jak te szkoły tera schodzą na psy... :/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
A wiesz może jak te liczby mają być zapisane w tym pliku? Bo to ważne wbrew pozorom.

nie wiem ale satysfakcjonuje mnie obojętnie jak, żebym tylko to zaliczył :]

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Napisałbym, gdybym sobie przypomniał odczytywanie danych z pliku oraz jakbym znalazł jakiś algorytm sortowania pod Pascala, bo tak to ciężko trochę ;p . Może ktoś inny napisze, kto jest bardziej na co dzień w Pascalu. A drugi program już masz ;p .

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

znalazłem takie coś, ale to lipnie dziła, bo owszem cyfry wyświetla po kolei ale nie wszystkie takie jak w pliku tekstowym. co tu jest nie tak?

 

 

var

plik : text;

 

begin

assign(plik, naz_pl);

{$I-}reset(plik);{$I+}

if ioresult = 0 then

 

begin

plik_istieje := true;

close(plik);

end

else plik_istieje := false;

end;

 

var

pl_tekst : text;

wiersz : string;

liczba : integer;

kod : integer;

 

begin

assign(pl_tekst, nazwa_pliku);

reset(pl_tekst);

akum := 0;

repeat

readln(pl_tekst, wiersz);

if wiersz <>' ' then

 

begin

val(wiersz, liczba, Kod);

inc(akum);

if kod <> 0 then

 

begin

dec(akum);

kod := 0;

end

else tablica^[akum] := liczba;

end;

until (eof(pl_tekst)) and (akum <= 250);

close(pl_tekst);

end;

 

var

i : integer;

j : integer;

k : integer;

tmp : integer;

 

begin

for i := 1 to n-1 do

 

begin

k := i;

for j := i+1 to n do

if a^[k] > a^[j] then k := j;

tmp := a^;

a^ := a^[k];

a^[k] := tmp;

end;

end;

 

var

pl_tekst : text;

i : integer;

liczba : integer;

wiersz : string;

 

begin

assign(pl_tekst, nazwa_pliku);

rewrite(pl_tekst);

for i := 1 to akum do

 

begin

liczba := tablica^;

str(liczba, wiersz);

writeln(pl_tekst, wiersz);

end;

close(pl_tekst);

dispose(tablica);

end;

 

begin

new(tablica);

repeat

writeln('Podaj nazwe pliku wejsciowego: ');

readln(nazwa);

until plik_istieje(nazwa);

wczytaj_plik(nazwa);

for i:=1 to akum-1 do

writeln(tablica^);

writeln;

writeln('Posortowano tablice.');

sortuj(tablica,akum);

for i:=1 to akum-1 do

writeln(tablica^);

repeat

writeln;

writeln('Podaj nazwe pliku wyjsciowego');

readln(nazwa);

until not plik_istieje(nazwa);

zapisz_plik(nazwa);

writeln;

writeln('Zapisalem wynik dzialania w pliku.');

writeln('Wcisnij dowolny klawisz aby zakonczyc prgramu ...');

readkey;

end.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×