czerwiec 2021

Data ostatniej modyfikacji:
2021-07-9

Zad. 1. Ile cyfr w zapisie siódemkowym ma liczba 1234567891234567891234567892020? Odpowiedź uzasadnij, nie odwołując się do zapisu tej liczby w sytemie siódemkowym.

Zad. 2. Podaj algorytm/pseudokod/program rozwiązujący algebraf DWA·DWA=CZTERY.

Zad. 3. Profesor Roztrzepany przechodzi na emeryturę. Pragnie zaprosić wszystkich swoich studentów na pożegnalny odczyt. Dane jego studentów zanjdują się w pliku. Pomóż profesorowi utworzyć listę danych adresowych, które powędrują na koperty zaproszeń, wg wzoru:
Szanowna Pani/Szanowny Pan
Imię Nazwisko
Nazwa ulicy Numer domu Numer mieszkania (jeśli podano)
Kod pocztowy Miejscowość
Państwo (jeśli inne niż Polska).

 

Wyniki: 

W ostatnim zestawie zadan zamykającym edycję 2020/21 wszyscy zawodnicy dali się w zastawione w zadaniu 3 pułapki. Zdarzały się też się drobne pomyłki lub luki.

W czerwcu uczestnicy Ligi uzyskali następujące wyniki:

  • 2,75 pkt. - Krystyna Lisiowska - redaktor z Warszawy,
  • 2,5 pkt. - Andrzej Piasecki - administrator IT z Oleśnicy,
  • 1,5 pkt. - Igor Wojtun - uczeń I LO w Głogowie,
  • 1 pkt. - Krzysztof Danielak - student data science na UE we Wrocławiu.

Po zakończeniu Ligi uczestnicy zdobyli łącznie następujące liczby punktów:

  • 25,25 pkt. - Andrzej Piasecki - administrator IT z Oleśnicy,
  • 24,75 pkt. - Krystyna Lisiowska - redaktor z Warszawy,
  • 18,75 pkt. - Igor Wojtun - uczeń I LO w Głogowie,
  • 11,75 pkt. - Krzysztof Danielak - student data science na UE we Wrocławiu,
  • 1,25 pkt. - Dominik Zygmunt - ekonomista z Białej Rawskiej. 
 
Odpowiedzi: 

Zad. 1. Liczba 1.234.567.891.234.567.891.234.567.892.020 ma w swoim zapisie 31 cyfr. Sprawdźmy zatem, pomiędzy którymi kolejnymi potęgami siódemki leży nasza liczba. 735 = 378.818.692.265.664.781.682.717.625.943, a 736 = 2.651.730.845.859.653.471.779.023.381.601. Zatem dana liczba w zapisie siódemkowym ma 36 cyfr.

Zad.2. Przykładowy kod w języku C++:

int main()
{
    int i, j, k, l;
    int a1[3];
    int a2[6];
    for (l=317;l<1000;l++)
    {   
        k=l;
        for (i=0;i<3;i++)
        {   
            a1[i]=k%10;
            k=k/10;
        }
        if ((a1[0] != 0) and (a1[0] != 1) and (a1[0] != 5) and (a1[0] != 6) 
    and (a1[0] != a1[1]) and (a1[0] != a1[2]) and (a1[1] != a1[2]))
        {   
            k=l*l;
            for (i=0;i<6;i++)
            {   
                a2[i]=k%10;
                k=k/10;
            }
            k=0;
            for (i=0;i<3;i++)
            {
                for (j=0;j<6;j++)
                {
                    if (a1[i] == a2[j])
                    {
                        k=k+1;
                    }
                }
            }
            for (i=0;i<5;i++)
            {
                for (j=i+1;j<6;j++)
                {
                    if (a2[i] == a2[j])
                    {
                        k=k+1;
                    }
                }
            }
            if (k==0)
            {
                cout<<"l: "<< l << endl;
            } 
        }
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

Przykładowowe rozwiązanie w formie algorytmu:

1. Weź liczbę X = 317.
2. Sprawdź, czy któraś cyfra w zapisie liczby X się powtarza.
3. Jeżeli tak, idź do punku nr 7.
4. W przeciwnym wypadku oblicz: Y = X * X.
5. Sprawdź, czy wszystkie cyfry w zapisie liczby Y są różne oraz różnią się od cyfr liczby X.
6. Jeżeli tak, to wypisz liczbę X.
7. Weź następną liczbę X = X + 1.
8. Jeśli X < 1000 idź do punktu nr 2.
9. W przeciwnym wypadku zakończ działanie. 

Zad. 3. W zadaniu pojawiło się kilka "min" w postaci imion żeńskich nie kończących się literą "a" oraz imion męskich kończących się na "a". Przed wykonaniem formuły należy przygotować dane w ten sposób, że: 

  1. zwroty grzecznościowe "Szanowna Pani" i "Szanowny Pan" umieścić w komórkach E1 i E2 odpowiednio,
  2. pięć imion odbiegającyh od standardu umieścić w komórkach od E3 do E7,
  3. w celu skorzystania z funkcji VLOOKUP w zakładce "Państwa" wszystkie miasta umieścić w kolumnie A, a odpowiadające im państwa w kolumnie B oraz posortować całość alfabetycznie.

Dzięki tym zabiegom formuła może być w pełni sparametryzowana. Dla uzyskania wymaganego efektu, w odpowiednich miejscach należy wstawić znak łamania wiersza. Teraz korzystając z odpowiedniego skrótu klawiaturowego, w łatwy sposób automatycznie wypełnimy wszystkie komórki właściwą formułą. Wybierając funkcję "zwijania tekstu w komórce" aktywują się wstawione łamania wiersza.

=CONCATENATE(IF(OR(Adresy!A2=Adresy!$E$3;Adresy!A2=Adresy!$E$4);Adresy!$E$1;IF(
OR(Adresy!A2=Adresy!$E$5;Adresy!A2=Adresy!$E$6;Adresy!A2=Adresy!$E$7);Adresy!$E$2;
IF(RIGHT(Adresy!A2;1)="a";Adresy!$E$1;Adresy!$E$2))));"
";Adresy!A2;" ";Adresy!B2;"
";Adresy!C2;"
";Adresy!D2;IF(MID(Adresy!D2;3;1)="-";"";CONCATENATE("
";VLOOKUP(IF(MID(Adresy!D2;6;1)=" ";RIGHT(Adresy!D2;LEN(Adresy!D2)-6);RIGHT(Adresy!D2;LEN(Adresy!D2)-7));
Państwa!A$2:B$106;2;FALSE)))) 

 

Powrót na górę strony