Zadanie 1.3

Wytyczne fizyków: W ramach współpracy z innymi placówkami badawczymi zebrane zostały wyniki tego samego eksperymentu, pochodzące z 10 różnych laboratoriów (znajdziesz je w pliku tekstowym Pomiary.txt). Wyniki są liczbami rzeczywistymi zaokrąglonymi do czterech miejsc po przecinku.

Niestety, sprzęt wykorzystywany do przeprowadzania pomiarów przez odrębne grupy naukowców, był różny. Na skutek tego otrzymane rezultaty obarczone zostały błędami danych wejściowych o różnych wartościach (błędy wynikają z określonej dokładności przyrządów). Reprezentują one maksymalną różnicę pomiędzy uzyskanym wynikiem a rzeczywistą wartością mierzonego parametru. W oznaczeniach matematycznych błąd ten poprzedza znak ± (plus minus).

W każdym wierszu pliku tekstowego Pomiary.txt znajduje się wynik pojedynczego pomiaru oraz odpowiadający mu błąd danych wejściowych. Dane w jednej linii oddzielone są pojedynczym znakiem spacji.

Przykład reprezentacji pomiarów w pliku tekstowym:

Linia 1. 0 kropka 0214 0 kropka 0005. Linia 2. 0 kropka 0219 0 kropka 0002. Linia 3. 0 kropka 0226 0 kropka 0004.

Przedstawiony zapis oznacza, że pomiar osiągnięty przez fizyków (linia nr 1) wynosił 0 , 0214, natomiast jego maksymalny błąd wynosi 0 , 0005. W drugiej linii podany jest pomiar innej grupy naukowców – ich pomiar wyniósł 0 , 0219, a błąd pomiaru: 0 , 0002. W następnych liniach pliku mamy wartości i błędy wyznaczone przez kolejne zespoły.

Pomiar znajdujący się w pierwszym wierszu pliku został uzyskany przez twoją grupę badawczą.

Napisz program, który wyznaczy różnicę pomiędzy każdym z pozostałych wyników, a rezultatem uzyskanym przez twoją grupę badawczą oraz wyliczy błędy, jakimi obarczone są otrzymane różnice. Program powinien również obliczyć, jaką maksymalną i minimalną rzeczywistą wartość mógł mieć badany w eksperymentach parametr.

Rezultaty pracy zapisz w pliku Wyniki.txt. Wyniki kolejnych obliczonych różnic oraz maksymalnych błędów (oddzielone znakiem spacji) wypisz w osobnych wierszach. W ostatnich dwóch liniach powinny się znaleźć odpowiednio: maksymalna i minimalna rzeczywista wartość parametru.

Przykładowe obliczanie różnicy, wynikowych błędów oraz potencjalnych minimalnych i maksymalnych rzeczywistych wartości pomiarów:

Dany jest pomiar wykonany przez nasz zespół – pomiar a:

a = 0 , 0214 ± 0 , 0005

Dany jest również pomiar wykonany przez inny zespół b:

b = 0 , 0219 ± 0 , 0002

Obliczamy wartość wynikowego błędu poprzez dodanie do siebie błędów pomiaru a oraz b:

0 , 0005   +   0 , 0002   =   0 , 0007

Różnicę pomiarów (c) obliczymy, odejmując od wartości pomiaru a wartość pomiaru b; różnica powinna uwzględniać obliczoną wartość wynikowego błędu:

c = a b =   0 , 0005 ± 0 , 0007
0 , 03 c 0 , 09

Aby obliczyć maksymalną wartość, jaką mógł mieć w rzeczywistości parametr a, dodajemy do wartości pomiaru wartość błędu:

a max = 0 , 0214 + 0 , 0005 = 0 , 0219

Maksymalna wartość, jaką mógł mieć w rzeczywistości parametr b:

b max = 0 , 0219 + 0 , 0002 = 0 , 0221

Aby obliczyć minimalną wartość, jaką mógł mieć w rzeczywistości parametr a, odejmujemy od wartości pomiaru wartość błędu:

a min = 0 , 0214 0 , 0005 = 0 , 0209

Minimalna wartość, jaką mógł mieć w rzeczywistości parametr b:

b min = 0 , 0219 0 , 0002 = 0 , 0217
Przykład 1

Dla przykładowego pliku:

Linia 1. 0 kropka 0214 0 kropka 0005. Linia 2. 0 kropka 0219 0 kropka 0002. Linia 3. 0 kropka 0226 0 kropka 0004.

wynik powinien wyglądać następująco:

Linia 1. minus 0 kropka 0005 0 kropka 0007. Linia 2. minus 0 kropka 0012 0 kropka 0009. Linia 3. 0 kropka 023. Linia 4. 0 kropka 0209.

W pierwszej linii mamy zapisane wartości 0 , 00050 , 0007. Wynik 0 , 0005 oznacza różnicę pomiędzy 0 , 0214 (wynikiem uzyskanym przez twój zespół badawczy) oraz 0 , 0219 (wynikiem uzyskanym przez naukowców z drugiego zespołu, czyli wynikiem umieszczonym w drugiej linii). Wynik 0 , 0007 natomiast jest wynikiem sumy błędów tych obliczeń (0 , 0005   +   0 , 0002).

W kolejnej linii proces został powtórzony – tym razem dla porównania wyników uzyskanych przez twój zespół badawczy oraz przez naukowców, których wyniki zapisano w trzeciej linii.

W trzeciej linii uzyskanych wyników mamy maksymalną wartość, jaką mógł osiągnąć pomiar. W tym przypadku jest to 0 , 023, co zostało uzyskane z wykonania operacji 0 , 0026   +   0 , 0004, czyli sumy wartości pomiaru oraz błędu otrzymanego przez naukowców z trzeciego zespołu.

W czwartej linii pliku mamy natomiast minimalną wartość, jaką mógł osiągnąć ten pomiar. Wynosi ona 0 , 0209, co jest wynikiem operacji 0 , 0214     0 , 0005, czyli różnicy wartości pomiaru oraz błędu otrzymanego przez twój zespół badawczy.

Plik Pomiary.txt:

RK5r6XTfmqk5y

Przycisk służący do pobrania pliku TXT zawierającego pomiary.

Plik TXT o rozmiarze 148.00 B w języku polskim

Do oceny oddajesz:

  • plik Wyniki.txt zawierający odpowiedź do zadania,

  • plik(i) z komputerową realizacją zadania (kodem źródłowym).

Polecenie 1

Przedstaw rozwiązanie zadania w postaci programu, napisanego w wybranym  języku (C++, Java lub Python). Zadbaj o prawidłowe wczytanie danych z pliku tekstowego do programu. Odpowiedź do zadania znajdziesz w osobnym pliku, umieszczonym pod omówieniem pseudokodu.

Rozwiązanie

Polecenie 2

Zapoznaj się z rozwiązaniem zadania przedstawionym w formie pseudokodu.

RESXvZn10cAvc1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

W programie wykorzystaliśmy algorytm jednoczesnego wyznaczania minimalnej oraz maksymalnej wartości. Opisany on został w e‑materiale Instrukcja warunkowa – ćwiczeniaP38l9ymrFInstrukcja warunkowa – ćwiczenia.

Odpowiedź

Odpowiedź do zadania znajduje się w pliku Wyniki.txt:

R1KfS3hkDTbOp

Przycisk do pobrania pliku TXT z wynikiem zadania.

Plik TXT o rozmiarze 150.00 B w języku polskim