Funkcje wbudowane na maturze z informatyki

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

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.

1

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

2

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

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

Natomiast append czy update to metody:

>>> 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:

>>> 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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1