politechnika koszalińska ogłasza x edycję konkursu
Transkrypt
politechnika koszalińska ogłasza x edycję konkursu
XIX EDYCJA KONKURSU „BIEG PO INDEKS” KONKURS DLA PRZYSZŁYCH STUDENTÓW POLITECHNIKI KOSZALIŃSKIEJ ZESTAW II Zadania ćwiczeniowe z matematyki 1. Dla jakich wartości parametru k równanie: x 4 − 2kx 2 + k + 6 = 0 ma przynajmniej jeden pierwiastek rzeczywisty? 2. Wyznaczyć zbiór wartości funkcji: f (x ) = 2x 2 + 2x + 2 . 2x 2 + 2x + 1 3. Znaleźć wszystkie pierwiastki równania: 2 x +1− x + x − 2 x + 2 = 7 . 4. Dany jest trójkąt o bokach długości a, b i c. Wykazać, że jeżeli środkowe boków o długościach a i b są do siebie prostopadłe, to a 2 + b 2 = 5c 2 . 5. Rysunek przedstawia pewien wielokąt umieszczony na siatce składającej się z kwadratów o boku równym 1. W wyniku obrotu tego wielokąta wokół osi l otrzymano bryłę obrotową. Obliczyć jej objętość i pole powierzchni całkowitej. l Zadania ćwiczeniowe z fizyki 1. W misie o sferycznym kształcie i promieniu r = 50 cm ślizga się kostka lodu o masie 20 g oraz przetacza się kulka o takiej samej masie. Wiadomo, że oba obiekty wykonują ruch harmoniczny. Jaki będzie okres drgań w obydwu wypadkach? Wskazówka: Dla znalezienia okresu drgań kulki najłatwiej będzie skorzystać z zasady zachowania energii by znaleźć maksymalną prędkość ruchu. 2. Kółko balansowe, będące w dawniejszych (mechanicznych) zegarach wzorcem czasu, ma okres drgań 0,25 s. Jest ono tak zbudowane, że praktycznie cała jego masa (przyjmijmy, że wynosi 20 g) jest skupiona w obręczy o promieniu 0,5 cm. Jaki jest kątowy współczynnik sprężystości tzw. włosa czyli sprężyny będącej składnikiem tego układu drgającego? 3. Dwa klocki o masie m oraz sprężyna o współczynniku sprężystości k tworzą układ drgający. Raz jeden klocek jest zamocowany a drugi porusza się swobodnie a w drugim przypadku obydwa klocki mogą poruszać się swobodnie. Jaka jest częstotliwość drgań w obu wypadkach? Czy różnią się one od siebie? 4. W cząsteczce wodoru siła oddziaływania między atomami może być przybliżona wyrażeniem F = − B(r − r0 ) , gdzie B = 0,057 N/m , a r0 = 7,4 ⋅ 10 −11 m jest odległością między atomami w położeniu równowagi. Jaka jest częstotliwość drgań? Wskazówka: Rozwiąż zadanie przez analogię do poprzedniego zadania. 5. Układ dwóch klocków jak na rysunku wykonuje drgania swobodne o częstotliwości 1,5 Hz. Powierzchnia po której przesuwają się klocki pozbawiona jest tarcia natomiast pomiędzy klockami tarcie występuje, a jego współczynnik wynosi µ s = 0,6 . Jaka jest maksymalna amplituda drgań przy której klocek B nie przesuwa się jeszcze względem klocka P? Zadania ćwiczeniowe z informatyki 1. Poniższy program powinien znajdować maksymalną liczbę, występujących pod rząd jednakowych liczb. Niestety, tego programu nie można skompilować, ponieważ zawiera on błędy formalne (dot. struktury kodu) oraz błędy merytoryczne. Podaj przyczynę ewentualnych błędów, które wykryje kompilator, a także wskaż i skomentuj błędy merytoryczne w tym kodzie. Program z błędami: 01 const 02 MAXN = 1000; 03 var 04 a: array[1..MAXN] of integer; 05 n: integer; 06 begin 07 read(n); 08 for i := 1 to n do read(a[i]); 09 l := 1; 10 max := 0; 11 for i := 2 to n do begin 12 if (a[i] = a[i - 1]) then begin 13 inc(l); 14 end else begin 15 if (l > max) then begin 16 max := l; 17 end; 18 l := 0; 19 end; 20 end; 21 writeln(max); 22 end. 2. Na zajęciach z matematyki uczniowie wyznaczali kolejne współczynniki dwumianu Newtona – rozwinięcia (a+b)n. Współczynniki te można również wyznaczyć z tzw. trójkąta Pascala (rys. 1). Rys. 1. Trójkąt Pascala – "każda z liczb jest sumą liczb stojących nad nią" Grzegorz, zaangażowany w naukę arkuszy kalkulacyjnych postanowił opracować własną wersję tego "trójkąta". W tym celu postanowił przygotować formułę, która w wyniku "przeciągnięcia" pozwoli uzyskać trójkąt z rys. 2. Znajdź postać formuły, która wstawiona do komórki B2 pozwoli, w wyniku przeciągnięcia, wyznaczyć trójkąt Pascala. Uwagi: Komórka B1 zawiera wartość 1. Opracowana formuła powinna wypełniać tylko właściwe komórki (np. jeśli zaczniemy od B2, to komórka D2 po przeciągnięciu powinna pozostać pusta). Rys. 2. Trójkąt Grzegorza (Pascala) w programie MS Excel 3. Maciej, student Mechaniki i Budowy Maszyn, w konstrukcjach mechanizmów swoich robotów wykorzystuje koła zębate o różnej liczbie zębów. Koła zębate w konstruowanych mechanizmach służą m.in. do zmniejszania lub zwiększania prędkości obrotowej. Maciej do kontrolowania prędkości obrotowej stosuje bezwymiarowy parametr zwany przełożeniem kół zębatych, który można opisać wzorem: z i = 2 , i > 0, gdzie z1 ‒ liczba zębów koła napędzającego, z2 ‒ liczba zębów koła napędzanego. z1 W prawidłowym doborze przełożeń kół zębatych pomógłby mu program, który dla określonego przełożenia zwróciłby wszystkie możliwe kombinacje kół, dla których wartość przełożenia będzie najbardziej zbliżona do wartości zadanej. Pomóż w zaimplementowaniu programu wiedząc, że Maciej dysponuje dwoma identycznymi zbiorami kół zębatych o następującej liczbie zębów: 5, 6, 7, 9, 11, 13, 14, 15, 19, 21, 22, 23, 25, 27, 29, 31, 32, 33, 34, 35, 40, 41, 44, 45, 46, 48, 49, 50, 52, 54, 55, 58, 62, 100. 4. W ramach eliminacji piłkarskich ME2016 we Francji program ELME16 przygotowany przez organizatorów generuje dokument XML z aktualnymi wynikami w poszczególnych grupach. Wygląd dokumentu dla grupy A przedstawiono poniżej: <grupa> <tabela> <pozycja><miejsce>1</miejsce><team>Polska</team><punkty>10</punkty></pozycja> <pozycja><miejsce>2</miejsce><team>Niemcy</team><punkty>7</punkty></pozycja> <pozycja><miejsce>3</miejsce><team>Szkocja</team><punkty>7</punkty></pozycja> <pozycja><miejsce>4</miejsce><team>Irlandia</team><punkty>7</punkty></pozycja> <pozycja><miejsce>5</miejsce><team>Gruzja</team><punkty>3</punkty></pozycja> <pozycja><miejsce>6</miejsce><team>Gibraltar</team><punkty>0</punkty></pozycja> </tabela> </grupa> a) Proszę przygotować program w języku Pascal, który przekształci dokument XML (plik tekstowy) na dokument HTML, tak by wyświetlić zawarte w nim dane w formie tabeli pokazanej obok (widok okna przeglądarki Google Chrome v. 39). b) Proszę dołączyć do otrzymanego pliku HTML arkusz ze stylami CSS tak by otrzymać wygląd zbliżony do pokazanego obok. 5. Polscy analitycy od dłuższego czasu analizowali pirackie strony, na których pojawiały się informacje o nieistniejących kurortach w pewnych południowych krajach. Zauważyli, że źródła tych stron (dokumenty HTML) zawierają dużo treści, które z reguły nie miały sensu. Odkryli, że jeżeli usunie się znaczniki to zostają zaszyfrowane wiadomości. Kodowanie okazało się bardzo proste. Należało w pierwszym kroku wybrać z pozostałej treści co czwarty znak. W drugim kroku należało zmienić wybraną literę na koleją, sąsiadującą z nią w kodzie ASCII. Proszę napisać program w Pascalu, który analizuje taki kod HTML i odczytuje zaszyfrowaną wiadomość. Rozwiązania: Matematyka – zestaw 2 z rozwiązaniami Zadanie 1. Dla jakich wartości parametru k równanie : x 4 − 2kx 2 + k + 6 = 0 ma przynajmniej jeden pierwiastek rzeczywisty?. Szkic rozwiązania: Dokonując podstawienia x 2 = t otrzymamy równanie kwadratowe: f (t ) = t 2 − 2kt + k + 6 = 0 , którego wyróżnikiem jest= ∆ 4(k 2 − k − 6) . Aby spełniony był warunek zadania, otrzymane równanie kwadratowe powinno mieć przynajmniej jeden pierwiastek nieujemny. Wystarczy zatem spełnienie jednego z warunków: a) f (0) < 0 (równanie ma wtedy dwa pierwiastki, z których jeden jest dodatni, a drugi ujemny). Warunek zachodzi, gdy k + 6 < 0 , czyli k < −6 . b) f (0) = 0 (równanie ma wtedy co najmniej jeden pierwiastek, wśród nich t = 0), Warunek zachodzi, gdy k + 6 = 0 , czyli k = −6 . f (0) > 0, c) xw > 0, (równanie ma co najmniej jeden pierwiastek – wszystkie pierwiastki dodatnie). ∆ ≥ 0. k > −6, k + 6 > 0, f (0) > 0, ⇔ k > 0, ⇔ k > 0, ⇔ k ∈ 3; +∞) . xw > 0, 2 ∆ ≥ 0. k − k − 6 ≥ 0. k ∈ (−∞; −2 ∪ 3; +∞). Uwzględniając wszystkie warunki: k ∈ (−∞; −6 ∪ 3; +∞) . Zadanie 2. Wyznaczyć zbiór wartości funkcji : f ( x) = 2 x2 + 2 x + 2 . 2 x2 + 2 x + 1 Szkic rozwiązania: Zauważmy, że funkcja określona jest w całym zbiorze R, ponieważ trójmian występujący w mianowniku nie ma pierwiastków. Zapiszmy tę funkcję w postaci sumy: 1 f ( x) = 1 + 2 . 2x + 2x + 1 Po sprowadzeniu trójmianu występującego w mianowniku do postaci kanonicznej mamy: 1 f ( x) = 1 + . 2 2 x + 12 + 12 ( ) Trójmian kwadratowy przyjmuje każdą wartość z przedziału: 1 2 ; +∞) . Oznacza to, że ułamek przyjmuje każdą wartość z przedziału (0;2 . Z tego wynika, że funkcja przyjmuje każdą wartość z przedziału (1;3 . Zadanie 3. Znaleźć wszystkie pierwiastki równania : 2 x + 1 − x + x − 2 x + 2 =7 . Szkic rozwiązania: t równanie można sprowadzić do postaci: Przyjmując x − x = −t + 1 + t + 2 = 7. Zauważmy, że pierwszy składnik sumy występującej po lewej stronie równości jest równy t − 1 . Równanie przybiera postać: t −1 + t + 2 = 7. Z interpretacji geometrycznej równania wynika, że jego rozwiązaniami są takie liczby t, dla których suma odległości od punktów 1 i -2 wynosi 7. -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 X Z rysunku wynika, że t1 = −4 , t2 = 3 . Mamy zatem x−2 x = −4 lub x − 2 x = 3, 0. x−2 x +4= 0 lub x − 2 x − 3 = Otrzymane równania przez podstawienie = x a, a > 0 , sprowadzają się do równań: a 2 − 2a + 4 = 0 , a 2 − 2a − 3 = 0. Pierwsze z równań nie ma pierwiastków, drugie – ma dwa pierwiastki, z których tylko jeden pierwiastek a = 3 jest dodatni. Zatem x = 3 i ostatecznie x = 9 . Zadanie 4. Dany jest trójkąt o bokach długości a, b i c. Wykazać, że jeżeli środkowe boków o długościach a i b są do siebie prostopadłe, to a 2 + b 2 = 5c 2 . Szkic rozwiązania: Przyjmijmy oznaczenia jak na rysunku: AB = C , BC = a , AC = b . Oznaczmy środki boków BC i AC odpowiednio przez M i N, a punkt przecięcia się środkowych przez P. Przyjmijmy PM = x , PN = y . Z własności środkowych w trójkącie wynika, że AP = 2 x , BP = 2 y . Stosując twierdzenie Pitagorasa do trójkątów prostokątnych APN oraz BPM otrzymamy: b2 a2 x2 + 4 y 2 = 4 x2 + y 2 = 4 oraz 4 . Dodając stronami oba równania kolejno mamy: a 2 + b2 , 5x2 + 5 y 2 = 4 a 2 + b2 . x2 + y 2 = 20 Ponieważ trójkąt ABP jest prostokątny, to = c 2 4 x 2 + 4 y 2 i tym samym c 2 = a 2 + b2 . 5 Ostatecznie a 2 + b2 = 5c 2 . Zadanie 5. Rysunek przedstawia pewien wielokąt umieszczony na siatce składającej się z kwadratów o boku równym 1. W wyniku obrotu tego wielokąta wokół osi l otrzymano bryłę obrotową. Obliczyć jej objętość i pole powierzchni całkowitej. l Szkic rozwiązania: Niech F1 i F2 będą bryłami obrotowymi przedstawionymi na rysunku. F1 5 F2 2 2 5 Zauważmy, że objętość otrzymanej bryły obrotowej jest równa podwojonej objętości bryły F1 . Zatem 1 1 28 V = 2 ⋅ π ⋅ 22 ⋅ 4 − π ⋅ 12 ⋅ 2 = π . 3 3 3 Pole powierzchni całkowitej otrzymanej bryły jest podwojoną sumą pól powierzchni bocznej brył F1 oraz F2 . ( ) ( ) Pc = 2 ⋅ π ⋅ 2 ⋅ 2 5 − π ⋅ 1 ⋅ 5 + π ⋅ 2 ⋅ 2 2 = π 6 5 + 4 2 . Informatyka – zestaw 2 z rozwiązaniami Rozwiązanie 1 1. Błędy formalne: brak deklaracji zmiennych i, l, max. 2. W linii 18 zmienna l, przechowująca bieżącą długość grupy identycznych liczb, jest zerowana. Poprawnie byłoby przypisywać tej zmiennej wartość 1, ponieważ do bieżącej grupy jednakowych wartości występujących pod rząd zawsze należy minimalnie choć jedna liczba reprezentująca tę grupę wartości. Z powodu tego błędu aplikacja potrafi czasem zwrócić liczbę o 1 mniejszą od poprawnej odpowiedzi. 3. Po wyjściu z pętli (linia 20) w zmiennej l przechowywana jest długość ostatniej grupy identycznych liczb. Wartość ta nie jest uwzględniana przy obliczeniu maksimum. Poprawiony program: 01 const 02 MAXN = 1000; 03 var 04 a: array[1..MAXN] of integer; 05 n, i, l, max: integer; 06 begin 07 read(n); 08 for i := 1 to n do read(a[i]); 09 l := 1; 10 max := 0; 11 for i := 2 to n do begin 12 if (a[i] = a[i - 1]) then begin 13 inc(l); 14 end else begin 15 if (l > max) then begin 16 max := l; 17 end; 18 l := 1; 19 end; 20 end; 21 if (l > max) then begin 22 max := l; 23 end; 24 writeln(max); 25 end. Rozwiązanie 2 Przykładem formuły dla komórki B2 (MS Excel 2007) jest: =JEŻELI(ORAZ(A1<>""; B1<>"");A1+B1;JEŻELI(LUB(A1<>""; B1<>"");1;"")) Rozwiązanie 3 #include "stdafx.h" #include "iostream" int _tmain(int argc, _TCHAR* argv[]) {const int zk[] = { 5, 6, 7, 9, 11, 13, 14, 15, 19, 21, 22, 23, 25, 27, 29, 31, 32, 33, 34, 35, 40, 41, 44, 45, 46, 48, 49, 50, 52, 54, 55, 58, 62, 100 }; double i; const int liczbakol = sizeof(zk) / sizeof(*zk); do { std::cout << "Podaj wartość przełożenia i (i>0): "; std::cin >> i; } while (i<=0); std::cout << "Dla zadanego przełożenia najlepiej zastosować koła zębate z następującą liczbą zębów:\n"; if (i == 1) { for (int iz2 = 0; iz2 < liczbakol; iz2++) std::cout << zk[iz2] << ":" << zk[iz2] << ", "; } else { double blad[liczbakol][liczbakol]; double minblad = 0; int iz1, iz2; for (iz2 = 0; iz2 < liczbakol; iz2++) { for (iz1 = 0; iz1 < liczbakol; iz1++) { blad[iz2][iz1] = abs(((double)zk[iz2] / (double)zk[iz1] - i) / i); if (iz2 == 0 && iz1 == 0) minblad = blad[iz2][iz1]; else if (minblad>blad[iz2][iz1]) minblad = blad[iz2][iz1]; } } for (iz2 = 0; iz2 < liczbakol; iz2++) for (iz1 = 0; iz1 < liczbakol; iz1++) if (iz2 != iz1 && blad[iz2][iz1] == minblad) std::cout << zk[iz2] << ":" << zk[iz1] << ", "; } system("pause"); return 0; } Rozwiązanie 4 a) Program w Pascalu, konwertujący plik XML do HTML: xml:='C:/FPC/me2016.xml'; //plik źródłowy html:='C:/FPC/me2016.html'; //plik wynikowy assign(plik1,xml); reset(plik1); //otwarcie pliku do odczytu assign(plik2,html); rewrite(plik2); //otwarcie pliku do zapisu writeln(plik2,'<html><body><table border=1>'); //dodanie do pliku treści początku dokumentu html repeat //początek pętli odczytującej liniami dokument xml readln(plik1,linia); //odczytywanie kolejnych linii dokumentu xml wyraz:=copy(linia,pos(linia,'<'),9); if wyraz='<pozycja>' then //sprawdzenie czy znaleziono znacznik <pozycja> begin write(plik2,'<tr>'); //i utworzenie dla niego wiersza for i:=1 to 3 do // a następnie utworzenie 3 kolumn z kolejnymi danymi begin //miejsce, team i punkty Delete(linia,1,pos('>',linia)); //usunięcie znaczników Delete(linia,1,pos('>',linia)); wyraz:=copy(linia,1,pos('<',linia)-1); write(plik2,'<td>',wyraz,'</td>'); //zapis w pliku zawartości znacznika end; writeln(plik2,'</tr>');//zapis w pliku zamknięcia wiersza end; until eof(plik1);//koniec pętli odczytującej liniami dokument xml writeln(plik2,'</table></body></html>');//dodanie do pliku treści //końca dokumentu html close(plik2); close(plik1); b) Arkusz ze stylami CSS: table {font-size: 16px; color: blue; border: none} //określenie wyglądu tabeli m.in. wielkości i koloru czcionki tr {text-align: center; padding-right: 2px; background-color: silver} //określenie wyglądu wiersza m.in. koloru tła td{border: 1px solid black; padding-right: 2px; border-radius: 10px} // określenie wyglądu komórki m.in. zaokrąglenia Rozwiązanie 5 Program w Pascalu, analizujący kod HTML: repeat //początek pętli odczytującej liniami dokument html readln(plik1,linia);//odczyt z piku jednej lini while ((pos('<',linia)>0) and (pos('>',linia)>0)) do //dopóki istnieją < > begin i:=pos('<',linia);j:=pos('>',linia)+1; //znajdź tag delete(linia,i,j-i); //i usuń go end; if length(linia)>0 then insert(linia,wynik,length(wynik)+1); // jeżeli oprócz znaczników istniał tekst to zostaje on wstawiony do wyniku until eof(plik1);//koniec pętli odczytującej liniami dokument html close(plik1); for j:=1 to length(wynik) div 4 do begin writeln(chr(ord(wynik[4*j])+1)); //odczyt co czwartego znaku end