Kwalifikacja: EE8 - Kwalifikacja EE8
Dokonaj analizy fragmentu kodu w języku C++.
#include void suma (int a, int b) {a=a+b;} void main() { int a=7, b=3, x; suma(a,b); x=a+b; }
Jaką wartość przyjmie zmienna x po wykonaniu tego fragmentu kodu? Odpowiedzi
Informacja zwrotna
W tym programie zmienna x po wykonaniu funkcji wynosi 10. To dlatego, że mamy funkcję `suma`, która przyjmuje dwa całkowite argumenty, ale nie zmienia oryginalnych zmiennych `a` i `b` w `main`. W C++ działa to tak, że argumenty są przekazywane przez wartość, co znaczy, że wszelkie zmiany w funkcji dotyczą tylko jej lokalnych kopii a nie oryginalnych wartości. Więc po wywołaniu `suma(a, b)` nasze `a` i `b` pozostają takie same. Potem, w linii `x = a + b;` mamy dodawane 7 i 3, co daje nam 10. Fajnie jest zrozumieć ten mechanizm, bo to ważne w programowaniu. Jak chcemy zmieniać coś w zmiennych, powinniśmy skorzystać z przekazywania przez referencję albo wskaźniki. To może być istotne zwłaszcza, kiedy pracujemy ze strukturami danych, gdzie zmiany powinny być widoczne poza funkcją.Nowi programiści mogą często mylić działanie funkcji `suma` i jej wpływ na zmienne `a` i `b`. Czasem mogą myśleć, że po wywołaniu `suma(a, b)`, te zmienne w `main` się zmieniają. Takie myślenie prowadzi do błędnych odpowiedzi, gdzie coś jak 6, 7 czy 13 może wydawać się właściwe. Na przykład, odpowiedź 6 może być wynikiem błędnego założenia, że 3 (czyli wartość b) dodaje się do 7 (wartość a) w funkcji `suma`. To nie jest prawda, bo funkcja nie modyfikuje oryginalnych zmiennych, a tylko je kopiuje. Odpowiedź 7 też może pojawić się z tego samego nieporozumienia – myli się wartości `a` przed i po wywołaniu funkcji. A interpretacja 13 pokazuje, że myślimy, że oba argumenty dodają się i zmieniają wartość `a`, co jest całkowicie mylne, bo suma dzieje się w lokalnym kontekście funkcji. Zrozumienie tego przekazywania przez wartość w C++ to podstawa programowania i ważne, żeby unikać takich pomyłek. Dobrze jest też zwrócić uwagę na wskaźniki i referencje, bo one umożliwiają modyfikację oryginalnych zmiennych, co ma swoje zastosowanie w bardziej skomplikowanych programach. Wymagane logowanie
Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy!
Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk i rekomendacji.
Strona wykorzystuje pliki cookies do poprawy doświadczenia użytkownika oraz analizy ruchu. Szczegóły Polityka plików cookies
Czym są pliki cookies?
Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu.
Jakie cookies wykorzystujemy?
- Niezbędne cookies - konieczne do prawidłowego działania strony
- Funkcjonalne cookies - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)
- Analityczne cookies - pozwalające zbierać informacje o sposobie korzystania ze strony
Jak długo przechowujemy cookies?
Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas).
Jak zarządzać cookies?
Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich.
#include void suma (int a, int b) {a=a+b;} void main() { int a=7, b=3, x; suma(a,b); x=a+b; }
Jaką wartość przyjmie zmienna x po wykonaniu tego fragmentu kodu?
Odpowiedzi
Informacja zwrotna
Wymagane logowanie
Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy!
Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk i rekomendacji.
Polityka plików cookies
Czym są pliki cookies?
Cookies to małe pliki tekstowe, które są zapisywane na urządzeniu użytkownika podczas przeglądania stron internetowych. Służą one do zapamiętywania preferencji, śledzenia zachowań użytkowników oraz poprawy funkcjonalności serwisu.
Jakie cookies wykorzystujemy?
- Niezbędne cookies - konieczne do prawidłowego działania strony
- Funkcjonalne cookies - umożliwiające zapamiętanie wybranych ustawień (np. wybrany motyw)
- Analityczne cookies - pozwalające zbierać informacje o sposobie korzystania ze strony
Jak długo przechowujemy cookies?
Pliki cookies wykorzystywane w naszym serwisie mogą być sesyjne (usuwane po zamknięciu przeglądarki) lub stałe (pozostają na urządzeniu przez określony czas).
Jak zarządzać cookies?
Możesz zarządzać ustawieniami plików cookies w swojej przeglądarce internetowej. Większość przeglądarek domyślnie dopuszcza przechowywanie plików cookies, ale możliwe jest również całkowite zablokowanie tych plików lub usunięcie wybranych z nich.