Funkcje wbudowane na maturze z informatyki

Funkcje wbudowane na maturze z informatyki
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1
0

Witam,
W zadaniach z algorytmiki na maturze z informatyki jest dodawana taka uwaga:
"Zabronione jest używanie funkcji wbudowanych dostępnych w językach programowania"
Jak to ma się do funkcji typu str(), int(), len(), update(), append() w Pythonie?
Zwykle ich używam kiedy rozwiązuje arkusze i się zastanawiam czy na maturze mi za to utną punkty

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6968
1

Raczej tutaj chodzi o bardziej skomplikowane operacje.
Czyli np. jak masz za zadanie napisać algorytm sortowania, to nie możesz użyć sorted().
Albo jak masz zsumować elementy listy, to nie możesz użyć sum(), tylko lecisz w pętli.

Konwersje typów raczej są bezpieczne...

Poza tym zapoznaj się z kluczem i wzorcowymi rozwiązaniami zadań, to zobaczysz jakie odpowiedzi są akceptowalne.

bakunet
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 1683
1

Przerąbane. Do matury musisz ogarnąć Asemblera. Żarcik. @Spine ma rację chyba

Spearhead
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1007
2

Tak dla formalności, str() i int() to nie są funkcje wbudowane tylko wywołania klas wbudowanych. Porównaj:

Kopiuj
>>> type(sum)
<class 'builtin_function_or_method'>
>>> type(int)
<class 'type'>

Natomiast append czy update to metody:

Kopiuj
>>> type(list.append)
<class 'method_descriptor'>
>>> type(dict.update)
<class 'method_descriptor'>

len jest funkcją wbudowaną ale jakby się uprzeć i być pedantycznym, to można to obejść odczytując __len__ bezpośrednio:

Kopiuj
>>> type(len)
<class 'builtin_function_or_method'>
>>> type(list.__len__)
<class 'wrapper_descriptor'>

Albo po prostu przeiterować i policzyć wystąpienia samemu.

Podobnież zamiast open można by użyć codecs.open. Aczkolwiek nie sądzę aby ktokolwiek komukolwiek odjął kiedykolwiek punkty za użycie open w zadaniu, w którym musisz wczytać jakieś dane wejściowe z pliku.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.