Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Gość
|
Wysłany: Wto 23:48, 23 Lis 2010 Temat postu: Pascal Zadania |
|
|
Bierzcie z piszcie z tego wszyscy, to jest bowiem treść programów moich, nowego i wiecznego pascala który dla was, i dla wielu będzie utrapieniem na zaliczeniu numerów. To czyńcie na waszych zajęciach...
Zadanie01
program suma01;
{$MODE DELPHI}
//uses Windows;
{ Jakub Szyndlar II MDT Program oblicza sume dwóch liczb rzeczywistych }
var
a,b,suma,iloczyn :real;
plik1,plik2 :text;
begin
{===Używane Pliki Wejścia i wyjścia===}
assign(plik1,'D:\Dydaktyka\Student\MDT_Dzienne\s03MetNum\JakubSzyndlar\zadanie01\da_suma1.txt'); reset(plik1);
assign(plik2,'D:\Dydaktyka\Student\MDT_Dzienne\s03MetNum\JakubSzyndlar\zadanie01\wy_suma1.txt'); rewrite(plik2);
{===Obliczenia===}
read(plik1,a,b);
suma:=a+b;
iloczyn:=a*b;
{===Wydruk danych===}
writeln(plik2,'Program suma01, pierwszy program');
writeln(plik2,'================');
writeln(plik2);
writeln(plik2,'liczba a= ',a:10:4);
writeln(plik2,'liczba = ',b:10:4);
writeln(plik2);
writeln(plik2,'suma a+b= ',suma:10:4);
writeln(plik2);
writeln(plik2,'iloczyn a*b= ',iloczyn:10:4);
writeln(plik2);
writeln(plik2,' a b suma iloczyn');
writeln(plik2,' ',a:10:4,' ',b:10:4,' ',suma:10:4,' ',iloczyn:10:4);
{===Zamknięcie plików===}
close(plik1);
close(plik2);
end.
Zadanie02
program arytm01;
{$MODE DELPHI}
//uses Windows;
{ Jakub Szyndlar II MDT Program oblicza sume, różnice, iloraz i iloczyn dwóch liczb rzeczywistych }
var
a,b,suma,iloczyn,roznica,iloraz :real;
plik1,plik2 :text;
begin
{===Używane Pliki Wejścia i wyjścia===}
assign(plik1,'D:\Dydaktyka\Student\MDT_Dzienne\s03MetNum\JakubSzyndlar\zadanie02\da_arytm1.txt'); reset(plik1);
assign(plik2,'D:\Dydaktyka\Student\MDT_Dzienne\s03MetNum\JakubSzyndlar\zadanie02\wy_arytm1.txt'); rewrite(plik2);
{===Obliczenia===}
read(plik1,a,b);
suma:=a+b;
iloczyn:=a*b;
roznica:=a-b;
if b<>0 then iloraz:=a/b;
{===Wydruk danych===}
writeln(plik2,'Program arytm01');
writeln(plik2,'================');
writeln(plik2);
writeln(plik2,'liczba a= ',a:10:4);
writeln(plik2,'liczba b= ',b:10:4);
writeln(plik2);
writeln(plik2,'suma a+b= ',suma:10:4);
writeln(plik2);
writeln(plik2,'iloczyn a*b= ',iloczyn:10:4);
writeln(plik2);
writeln(plik2,'roznica a-b= ',roznica:10:4);
writeln(plik2);
write(plik2,'iloraz a/b= ');
if b=0 then writeln(plik2,' Brak wyniku') else writeln(plik2,iloraz:10:4);
writeln(plik2);
writeln(plik2,' a b suma iloraz iloczyn');
write(plik2,' ',a:10:4,' ',b:10:4,' ',suma:10:4,' ');
if b=0 then write(plik2,'Brak wyniku') else write(plik2,iloraz:10:4);
writeln(plik2,' ',iloczyn:10:4);
{===Zamknięcie plików===}
close(plik1);
close(plik2);
end.
Ostatnio zmieniony przez Gość dnia Wto 23:50, 23 Lis 2010, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
|
 |
leniosky
Dołączył: 23 Lut 2010
Posty: 57
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: L5
|
Wysłany: Śro 15:23, 24 Lis 2010 Temat postu: |
|
|
Bóg zapłać;p
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
timon_90
Dołączył: 25 Lut 2010
Posty: 80
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W1C1L1P1Krosno
|
Wysłany: Pią 14:31, 26 Lis 2010 Temat postu: |
|
|
hej a mógłby ktoś podać treści do tych następnych zadań nie zdążyłem przepisać,
z góry dzięki!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
landryn
Dołączył: 28 Lut 2010
Posty: 82
Przeczytał: 0 tematów
Pomógł: 2 razy Ostrzeżeń: 0/5 Skąd: W1 C1 P1 L1
|
Wysłany: Pią 20:07, 26 Lis 2010 Temat postu: |
|
|
[link widoczny dla zalogowanych]
Post został pochwalony 1 raz
Ostatnio zmieniony przez landryn dnia Pią 20:07, 26 Lis 2010, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
timon_90
Dołączył: 25 Lut 2010
Posty: 80
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W1C1L1P1Krosno
|
Wysłany: Sob 13:03, 27 Lis 2010 Temat postu: |
|
|
dzięki Bartek!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
Bryndol
Dołączył: 05 Mar 2010
Posty: 79
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W1/C1/L1/P1
|
Wysłany: Wto 10:55, 07 Gru 2010 Temat postu: Zadania 3,4,5. |
|
|
Kolejna porcja zadań, poczęstujcie się
Zadanie03
program tab01;
{$MODE DELPHI}
//uses Windows;
{Imie Nazwisko II MDT Program oblicza sume, różnice, iloraz i iloczyn par liczb rzeczywistych}
var
a,b,suma,roznica,iloraz,iloczyn :real;
i,n :integer;
plik1,plik2 :text;
begin
{Uzywane pliki wejscia i wyjscia}
assign(plik1,'D:\Zadanie03\da_tab01.txt'); reset(plik1);
assign(plik2,'D:\Zadanie03\wy_tab01.txt'); rewrite(plik2);
{Opis tabelki}
writeln(plik2,' a b suma roznica iloraz iloczyn ');
writeln(plik2,'==============================================');
{Obliczenia}
read(plik1,n);
for i:=1 to n do
begin
read(plik1,a,b);
suma:=a+b;
roznica:=a-b;
if b<>0 then iloraz:=a/b else iloraz:=0;
iloczyn:=a*b;
{Wydruk danych}
write(plik2,'',a:10:4,'',b:10:4,'',suma:10:4,'',roznica:10:4);
if iloraz=0 then write(plik2,' brak ') else write(plik2,'',iloraz:10:4); write(plik2,'',iloczyn:10:4);
writeln(plik2);
end;
{Zamkniecie programu}
close(plik1);
close(plik2);
end.
Zadanie04
program tab02;
{$MODE DELPHI}
//uses Windows;
{Imie Nazwisko II MDT Program oblicza sume, różnice, iloraz i iloczyn par liczb rzeczywistych}
var
a,b,suma,roznica,iloraz,iloczyn :real;
plik1,plik2 :text;
begin
{Uzywane pliki wejscia i wyjscia}
assign(plik1,'D:\Zadanie04\da_tab02.txt'); reset(plik1);
assign(plik2,'D:\Zadanie04\wy_tab02.txt'); rewrite(plik2);
{Opis tabelki}
writeln(plik2,' a b suma roznica iloraz iloczyn ');
writeln(plik2,'==============================================');
{Obliczenia}
while NOT EOF(plik1) do
begin
read(plik1,a,b);
suma:=a+b;
roznica:=a-b;
if b<>0 then iloraz:=a/b else iloraz:=0;
iloczyn:=a*b;
{Wydruk danych}
write(plik2,'',a:10:4,'',b:10:4,'',suma:10:4,'',roznica:10:4);
if iloraz=0 then write(plik2,' brak ') else write(plik2,'',iloraz:10:4); write(plik2,'',iloczyn:10:4);
writeln(plik2);
end;
{Zamkniecie programu}
close(plik1);
close(plik2);
end.
Zadanie05
program tab03;
{$MODE DELPHI}
//uses Windows;
{Imie Nazwisko II MDT Program oblicza sume, różnice, iloraz i iloczyn par liczb rzeczywistych}
var
a,b,suma,roznica,iloraz,iloczyn :real;
plik1,plik2 :text;
begin
{Uzywane pliki wejscia i wyjscia}
assign(plik1,'D:\Zadanie05\da_tab03.txt'); reset(plik1);
assign(plik2,'D:\Zadanie05\wy_tab03.txt'); rewrite(plik2);
{Opis tabelki}
writeln(plik2,' a b suma roznica iloraz iloczyn ');
writeln(plik2,'==============================================');
{Obliczenia}
read(plik1);
repeat
read(plik1,a,b);
suma:=a+b;
roznica:=a-b;
if b<>0 then iloraz:=a/b else iloraz:=0;
iloczyn:=a*b;
{Wydruk danych}
write(plik2,'',a:10:4,'',b:10:4,'',suma:10:4,'',roznica:10:4);
if iloraz=0 then write(plik2,' brak ') else write(plik2,'',iloraz:10:4); write(plik2,'',iloczyn:10:4);
writeln(plik2);
until EOF(plik1);
{Zamkniecie programu}
close(plik1);
close(plik2);
end.
Post został pochwalony 0 razy
Ostatnio zmieniony przez Bryndol dnia Czw 15:07, 16 Gru 2010, w całości zmieniany 3 razy
|
|
Powrót do góry |
|
 |
bubelski
Dołączył: 01 Mar 2010
Posty: 109
Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5 Skąd: W1 C1 L1
|
Wysłany: Wto 18:26, 07 Gru 2010 Temat postu: |
|
|
W pętli while ma być warunek "NOT EOF(plik1)"
A w petli repeat ma być warunek "EOF(plik1)"
Ponieważ w 4 i 5 zadaniu w pliku danych nie miało być podanej liczby par liczb. Funkcja EOF(plik1) sprawdza czy osiągnęliśmy koniec pliku, jeśli tak to daje wartość true jeśli nie to false.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
luqa4
Dołączył: 08 Mar 2010
Posty: 44
Przeczytał: 0 tematów
Pomógł: 1 raz Ostrzeżeń: 0/5 Skąd: W1 C3 P5 L3
|
Wysłany: Pią 17:55, 10 Gru 2010 Temat postu: |
|
|
Ma ktoś już ćwiczenie 6 zrobione?
Jak macie to wrzućcie je tu;]
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
leniosky
Dołączył: 23 Lut 2010
Posty: 57
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: L5
|
Wysłany: Pon 10:27, 10 Sty 2011 Temat postu: |
|
|
a o czym było 6 zadanie?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
kosa
Dołączył: 01 Mar 2010
Posty: 23
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W2 C3 LP5
|
Wysłany: Pon 14:42, 10 Sty 2011 Temat postu: |
|
|
interpolacja liniowa
Zadanie 06
----------------------------------
program interp_lin01;
var
x,x1,x2,y,y1,y2 :real;
plik1,plik2 :text;
i :integer;
begin
assign(plik1,'...\zadanie06\da_interp_lin.txt'); reset(plik1);
assign(plik2,'...\zadanie06\wy_interp_lin.txt'); rewrite(plik2);
writeln(plik2,'Program interp_lin');
writeln(plik2,'==========================');
writeln(plik2);
writeln(plik2, ' x1 y1 x2 y2 x y uwagi');
for i:=1 to 7 do readln(plik1);
readln(plik1,x1,y1,x2,y2,x);
if x1<>x2 then y:=y1+((y2-y1)/(x2-x1))*(x-x1);
write(plik2,'',x1:10:2,'',y1:10:2,'',x2:10:2,'',y2:10:2,'',x:10:2);
if x1<>x2 then write(plik2,y:10:2) else write(plik2,' brak');
if (x1>x)or(x>x2)and (x1<>x2) then writeln(plik2,'ekstrapolacja');
close(plik1);
close(plik2);
end.
P.S. Brakuje opisów tekstowych (są lub były na jego tablicy). Część z if'ami trzeba przerobić na bardziej logiczną. Ta wersja jest dobra, tylko jemu się nie podoba....
Post został pochwalony 0 razy
Ostatnio zmieniony przez kosa dnia Pon 14:49, 10 Sty 2011, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
michal1205
Dołączył: 10 Mar 2010
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W1/C3/L6/P6
|
Wysłany: Nie 21:09, 16 Sty 2011 Temat postu: |
|
|
Ma ktoś zrobione 7 cwiczenie??
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
kosa
Dołączył: 01 Mar 2010
Posty: 23
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W2 C3 LP5
|
Wysłany: Nie 21:13, 16 Sty 2011 Temat postu: |
|
|
program interp_lin02;
var
x,x1,x2,y1,y2,w1 :real;
plik1,plik2 :text;
i :integer;
Function obl (x1,y1,x2,y2,x:real):real;
begin
obl:=y1+((y2-y1)/(x2-x1))*(x-x1);
end;
begin
assign(plik1,'D:\Numeryczne\zad07\da_interp_lin.txt'); reset(plik1);
assign(plik2,'D:\Numeryczne\zad07\wy_interp_lin.txt'); rewrite(plik2);
writeln(plik2,'Program interp_lin');
writeln(plik2,'==========================');
writeln(plik2);
writeln(plik2, ' x1 y1 x2 y2 x y uwagi');
writeln(plik2,'------------------------------------------------------');
for i:=1 to 7 do readln(plik1);
readln(plik1,x1,y1,x2,y2,x);
w1:=obl(x1,y1,x2,y2,x);
if x1<>x2 then
begin
write(plik2,'',x1:10:2,'',y1:10:2,'',x2:10:2,'',y2:10:2,'',x:10:2);
write(plik2,w1:10:2)
end
else write(plik2,' brak');
if (x1>x)or(x>x2)and (x1<>x2) then writeln(plik2,' ekstrapolacja');
close(plik1);
close(plik2);
end.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
tedi
Starosta
Dołączył: 22 Lut 2010
Posty: 786
Przeczytał: 0 tematów
Pomógł: 18 razy Ostrzeżeń: 0/5 Skąd: W1 C3 L6 P6
|
Wysłany: Nie 22:37, 16 Sty 2011 Temat postu: |
|
|
Czepił bym się, że ta funkcja obl nie dużo mówi, i pisząc ten program jeszcze pamiętasz ale później trzeba by było sobie przypominać, taka moja sugestia żeby tą function nazwać sobie np: interp_lin czy coś co mówi co ona oblicza,
poza tym gdy ktoś poda x1=x2 to ten program się wywali bo nie badasz tego zanim liczysz funkcję, a ten if co jest po obliczeniu funkcji powinien być troszkę wyżej, bo wyskoczy Runtime error 200
i tabelka w pliku wyjściowym jakaś taka poprzesuwana ja nie wiem
może się czepiam, ale to samo by Ci powiedział gość, tak myślę
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
kosa
Dołączył: 01 Mar 2010
Posty: 23
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W2 C3 LP5
|
Wysłany: Pon 0:26, 17 Sty 2011 Temat postu: |
|
|
Czepiasz się.... To było zrobione na szybko. Faktycznie były błędy, ale już jest wszystko skorygowane
Co do tabelki to na win32pad może coś inaczej wyglądać, ja pisałem pod Notepada
Poprawna część programy
readln(plik1,x1,y1,x2,y2,x);
write(plik2,'',x1:10:2,'',y1:10:2,'',x2:10:2,'',y2:10:2,'',x:10:2);
if x1<>x2 then
begin
w1:=obl(x1,y1,x2,y2,x);
write(plik2,w1:10:2);
if (x1>x)or(x>x2)and (x1<>x2) then writeln(plik2,' ekstrapolacja');
end
else write(plik2,' brak');
Post został pochwalony 0 razy
Ostatnio zmieniony przez kosa dnia Pon 0:29, 17 Sty 2011, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
Jaco
Dołączył: 24 Lut 2010
Posty: 181
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: W2/C3/LP6
|
Wysłany: Pon 18:17, 17 Sty 2011 Temat postu: |
|
|
tedi, co do warunku to sie czepiasz, bo jak Kawalec powiedział, to jest małoprawdopodobne że x1=x2, tak jak u nas mówił że to tak jakby ktoś wrzucił granata do obrabiarki. Wrzuciłbyś? On powiedział że może się znajdzie taki idiota co by wrzucił
A na poważnie to powinien być linijke wyżej, hehe, ale już poprawione
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
 |
|