Pytania pomocnicze - INF.04
Projektowanie, programowanie i testowanie aplikacji
Pytania pomocnicze rozwijające tematy z pytań egzaminacyjnych. Każde pytanie ma krótką odpowiedź, która pomaga utrwalić wiedzę i przygotować się do egzaminu. Łącznie: 1799.
Strona 14 z 20.
Dlaczego w zapisie import { Component } from 'react' używa się nawiasów klamrowych?
Nawiasy klamrowe oznaczają import nazwany, czyli pobranie konkretnego elementu wyeksportowanego przez moduł. W tym przypadku importowany jest element o nazwie Component.
Czym różni się import nazwany od importu domyślnego?
Import domyślny pobiera główny eksport modułu i nie używa nawiasów klamrowych. Import nazwany pobiera konkretny eksport po nazwie i wymaga nawiasów klamrowych.
Dlaczego zapis import Component from 'react' nie jest poprawną odpowiedzią w tym pytaniu?
Taki zapis oznacza import domyślny. Pytanie dotyczy załadowania konkretnego komponentu Component z biblioteki React, więc należy użyć importu nazwanego.
Czy zapis import React.Component from 'react' jest poprawny w JavaScript?
Nie. Nie można używać kropki w tej części instrukcji import. Dostęp przez kropkę, np. React.Component, jest możliwy dopiero po zaimportowaniu obiektu React.
Do czego służy Component w React?
Component to klasa bazowa Reacta używana do tworzenia komponentów klasowych. W nowoczesnym React częściej stosuje się komponenty funkcyjne, ale Component nadal jest poprawnym elementem biblioteki.
Czy można jednocześnie importować React i Component?
Tak. Można użyć zapisu: import React, { Component } from 'react';. Wtedy React jest importem domyślnym, a Component importem nazwanym.
Co oznacza warunek `i % 3 != 0`?
Oznacza, że reszta z dzielenia `i` przez 3 nie jest równa 0. Czyli `i` nie jest podzielne przez 3.
Dla jakich wartości `i` z zakresu od 0 do 9 warunek `i % 3 != 0` jest prawdziwy?
Dla wartości `1, 2, 4, 5, 7, 8`. Wartości `0, 3, 6, 9` są podzielne przez 3, więc nie spełniają warunku.
Czy w tym kodzie sprawdzane są wartości elementów tablicy, czy indeksy?
Sprawdzane są indeksy, czyli zmienna `i`. Warunek nie dotyczy `tablica[i]`, tylko wartości licznika pętli.
Co wypisuje instrukcja `std::cout << tablica[i]`?
Wypisuje wartość elementu tablicy znajdującego się pod indeksem `i`. W tym zadaniu ważne jest jednak to, które indeksy zostaną dopuszczone przez warunek.
Dlaczego indeks 0 nie zostanie wypisany?
Ponieważ `0 % 3` daje `0`, a warunek wymaga, aby reszta była różna od zera. Dlatego dla `i = 0` instrukcja wypisania nie zostanie wykonana.
Jak działa pętla `for (int i = 0; i < 10; i++)`?
Zmienna `i` przyjmuje kolejno wartości od 0 do 9. Po każdym obiegu pętli jest zwiększana o 1 dzięki operatorowi `i++`.
Czy kod gwarantuje konkretne wartości wypisanych elementów tablicy?
Nie, ponieważ tablica `int tablica[10];` nie została zainicjalizowana. Egzaminacyjnie pytanie dotyczy wyboru indeksów, a nie konkretnych wartości przechowywanych w tablicy.
Po czym rozpoznać model zwinny w opisie projektu?
Najczęstsze sygnały to sprinty, krótkie iteracje, małe fragmenty funkcjonalności, częsty kontakt z klientem oraz możliwość zmiany wymagań w trakcie prac.
Dlaczego sprinty wskazują na podejście zwinne?
Sprint oznacza krótką iterację, w której zespół dostarcza konkretny fragment produktu. Takie iteracyjne dostarczanie wartości jest charakterystyczne dla Agile.
Czym model zwinny różni się od modelu kaskadowego?
Model kaskadowy przebiega liniowo etap po etapie, a Agile dzieli pracę na krótkie cykle. W Agile klient częściej ocenia efekty i może wpływać na dalszy rozwój produktu.
Jaką rolę pełni klient w modelu zwinnym?
Klient regularnie ocenia dostarczone funkcje, zgłasza uwagi i pomaga ustalać priorytety. Dzięki temu produkt może lepiej odpowiadać rzeczywistym potrzebom.
Dlaczego w Agile wykonuje się małe fragmenty funkcjonalności?
Małe fragmenty łatwiej zaplanować, wykonać, przetestować i zaakceptować. Zmniejsza to ryzyko błędów oraz pozwala szybciej reagować na zmiany.
Czy zakończenie sprintu testami zatwierdzonymi przez klienta pasuje do Agile?
Tak. W Agile ważne jest regularne sprawdzanie efektów pracy i uzyskiwanie informacji zwrotnej od klienta lub interesariuszy.
Dlaczego opis z pytania nie pasuje do modelu spiralnego?
Model spiralny koncentruje się na kolejnych cyklach z silnym naciskiem na analizę ryzyka. W opisie pytania kluczowe są sprinty i przyrostowe dostarczanie funkcji, czyli cechy Agile.
Czym jest Django?
Django to framework webowy służący do tworzenia aplikacji internetowych. Jest oparty na języku Python.
W jakim języku programowania tworzy się aplikacje w Django?
Aplikacje w Django tworzy się w języku Python. To najważniejsza informacja wymagana w tym pytaniu.
Dlaczego Django nazywa się frameworkiem?
Ponieważ dostarcza gotową strukturę i narzędzia do budowy aplikacji, np. obsługę routingu, baz danych, formularzy i panelu administracyjnego.
Czy Django jest biblioteką JavaScript?
Nie. Django nie jest biblioteką JavaScript, tylko frameworkiem backendowym napisanym w Pythonie.
Czym różni się Django od front-endowych frameworków takich jak Angular lub React?
Django działa głównie po stronie serwera i obsługuje logikę backendu. Angular i React są używane głównie do budowy interfejsu użytkownika po stronie przeglądarki.
Jakie inne technologie webowe są związane z Pythonem?
Oprócz Django popularne są m.in. Flask i FastAPI. Wszystkie służą do tworzenia aplikacji internetowych w Pythonie.
Jak rozpoznać wspólną cechę kontrolek zapisanych w XAML?
Trzeba porównać właściwości wszystkich kontrolek i sprawdzić, która właściwość ma tę samą wartość w każdym elemencie.
Co oznacza właściwość BackgroundColor w kontrolkach Xamarin/XAML?
Właściwość `BackgroundColor` określa kolor tła kontrolki. Jeśli kilka kontrolek ma `BackgroundColor="Blue"`, ich tło jest niebieskie.
Dlaczego odpowiedź „wszystkie są widoczne” jest błędna w tym pytaniu?
Ponieważ kontrolka `Slider` ma ustawione `IsVisible="False"`, czyli nie jest widoczna.
Dlaczego nie można uznać, że wszystkie kontrolki mają identyczny kolor czcionki?
Nie wszystkie kontrolki mają właściwość `TextColor`. Dodatkowo `Slider` ma `ThumbColor`, czyli kolor suwaka, a nie kolor tekstu.
Czy właściwości Text, Value i Placeholder oznaczają to samo?
Nie. `Text` oznacza tekst kontrolki, `Value` wartość liczbową, a `Placeholder` tekst podpowiedzi w polu wejściowym.
Jaką rolę pełni właściwość IsVisible?
`IsVisible` decyduje o tym, czy kontrolka jest widoczna na ekranie. Wartość `True` oznacza widoczność, a `False` ukrycie kontrolki.
Czym jest IDE w programowaniu?
IDE to zintegrowane środowisko programistyczne, które łączy edytor kodu, kompilator lub interpreter, debuger i narzędzia do zarządzania projektem.
Dlaczego NetBeans jest dobrym wyborem do programowania w Javie?
NetBeans ma wbudowane wsparcie dla projektów Java, podpowiadanie składni, debugowanie oraz obsługę narzędzi takich jak Maven i Gradle.
Czym są aplikacje desktopowe?
Aplikacje desktopowe to programy instalowane lub uruchamiane bezpośrednio na komputerze użytkownika, np. edytory tekstu, kalkulatory lub programy magazynowe.
Jakie technologie w Javie służą do tworzenia interfejsów graficznych aplikacji desktopowych?
Do tworzenia GUI w Javie można używać m.in. bibliotek Swing oraz JavaFX.
Dlaczego PyCharm nie jest najlepszą odpowiedzią w tym pytaniu?
PyCharm jest środowiskiem przeznaczonym głównie do programowania w Pythonie, a pytanie dotyczy aplikacji desktopowych w języku Java.
Dlaczego MS Visual Studio może być mylącą odpowiedzią?
Visual Studio jest popularnym IDE, ale kojarzy się przede wszystkim z technologiami Microsoftu, takimi jak C#, .NET, C++ i aplikacje Windows, a nie typowo z Javą.
Czym różni się ryzyko zawodowe od zagrożenia zawodowego?
Zagrożenie to źródło możliwej szkody, np. niesprawny przewód elektryczny. Ryzyko zawodowe określa prawdopodobieństwo, że to zagrożenie spowoduje stratę lub szkodę zdrowotną.
Dlaczego definicja ryzyka zawodowego zawiera element prawdopodobieństwa?
Ryzyko nie oznacza pewnego zdarzenia, lecz możliwość jego wystąpienia. Ocena ryzyka polega na oszacowaniu, jak realne jest wystąpienie szkody i jak poważne mogą być jej skutki.
Jakie zagrożenia mogą występować na stanowisku pracy programisty?
Typowe zagrożenia to przeciążenie wzroku, bóle kręgosłupa, stres, przeciążenie psychiczne, porażenie prądem oraz zagrożenia pożarowe związane ze sprzętem elektrycznym.
Na czym polega ocena ryzyka zawodowego?
Polega na identyfikacji zagrożeń, określeniu prawdopodobieństwa wystąpienia zdarzeń niepożądanych, ocenie skutków oraz zaplanowaniu działań profilaktycznych.
Jak można ograniczać ryzyko zawodowe przy pracy przy komputerze?
Należy stosować ergonomiczne stanowisko pracy, robić przerwy, prawidłowo ustawić monitor i krzesło, dbać o oświetlenie oraz bezpiecznie korzystać ze sprzętu elektrycznego.
Czy ciężkość skutków jest tym samym co ryzyko zawodowe?
Nie. Ciężkość skutków jest jednym z elementów oceny ryzyka, ale samo ryzyko obejmuje także prawdopodobieństwo wystąpienia zdarzenia niepożądanego.
Dlaczego iOS jest kojarzony z językiem Swift?
Swift został opracowany przez Apple i jest podstawowym językiem do tworzenia nowoczesnych aplikacji w ekosystemie Apple. Najczęściej wykorzystuje się go właśnie do aplikacji na iOS.
Czym różni się iOS od Xcode?
iOS to system operacyjny urządzenia mobilnego, np. iPhone'a. Xcode to środowisko programistyczne, w którym tworzy się, kompiluje i testuje aplikacje dla iOS.
Czy Android jest podstawowym środowiskiem dla aplikacji w języku Swift?
Nie. Android jest systemem mobilnym Google, a jego typowe języki programowania to Kotlin i Java. Swift jest związany głównie z platformami Apple.
Do czego służy Xcode w tworzeniu aplikacji iOS?
Xcode umożliwia pisanie kodu, projektowanie interfejsu, uruchamianie symulatora, debugowanie i publikowanie aplikacji dla systemów Apple.
Czy Swift służy wyłącznie do aplikacji na iPhone'a?
Nie. Swift może być używany także do aplikacji na iPadOS, macOS, watchOS i tvOS, ale w kontekście aplikacji mobilnych najczęściej kojarzy się z iOS.
Dlaczego odpowiedź Windows UWP nie pasuje do języka Swift?
Windows UWP to platforma Microsoftu przeznaczona do aplikacji dla systemu Windows. Nie jest podstawowym środowiskiem tworzenia aplikacji mobilnych w języku Swift.
Czym w programowaniu obiektowym jest pole klasy?
Pole klasy to zmienna należąca do klasy lub obiektu. Przechowuje dane opisujące stan obiektu.
Czym w programowaniu obiektowym jest metoda?
Metoda to funkcja zdefiniowana w klasie. Opisuje zachowanie obiektu lub operacje wykonywane na jego danych.
Dlaczego odpowiednikiem zmiennej w programowaniu obiektowym jest pole?
Ponieważ pole, tak jak zmienna, przechowuje wartość. Różnica polega na tym, że pole jest powiązane z klasą lub konkretnym obiektem.
Dlaczego odpowiednikiem funkcji w programowaniu obiektowym jest metoda?
Metoda wykonuje instrukcje podobnie jak funkcja, ale jest zdefiniowana wewnątrz klasy i zwykle działa na danych obiektu.
Czy hermetyzacja i dziedziczenie są odpowiednikami zmiennych i funkcji?
Nie. Hermetyzacja i dziedziczenie to cechy programowania obiektowego, ale nie są bezpośrednimi odpowiednikami zmiennych ani funkcji.
Jaka jest różnica między polem a metodą?
Pole przechowuje dane, natomiast metoda wykonuje działanie. Przykładowo `wiek` może być polem, a `obliczWiek()` metodą.
Jak zapamiętać poprawną odpowiedź w tym typie pytania?
W programowaniu strukturalnym myśl: zmienna + funkcja. W programowaniu obiektowym ich odpowiednikami są: pole + metoda.
Dlaczego w kodzie React poprawne jest odwołanie `this.nazwa1.current.value`?
`nazwa1` jest zmienną utworzoną przez `React.createRef()`. Po przypisaniu jej do atrybutu `ref` wskazuje ona na element input, a jego wartość znajduje się w `current.value`.
Jak Angular ustala nazwę pola w obiekcie `f.value`?
Angular używa wartości atrybutu `name` kontrolki formularza. Dlatego dla `name="nazwa1"` odczyt następuje przez `f.value.nazwa1`.
Czy atrybut `id` w Angularze decyduje o nazwie pola w `f.value`?
Nie. `id` służy głównie do identyfikacji elementu w HTML/CSS/JS, ale w formularzu Angulara z `ngModel` kluczem jest atrybut `name`.
Czym różni się `ref` w React od `name` w formularzu Angulara?
`ref` w React daje bezpośredni dostęp do elementu DOM. `name` w Angularze określa nazwę pola w obiekcie wartości formularza.
Do czego służy `ngSubmit` w Angularze?
`ngSubmit` obsługuje zdarzenie wysłania formularza w Angularze. Najczęściej wywołuje metodę komponentu i przekazuje do niej dane formularza.
Co oznacza zapis `#f="ngForm"` w Angularze?
Tworzy lokalną zmienną szablonową `f`, która odnosi się do obiektu formularza Angulara. Dzięki temu można odczytać np. `f.value`.
Dlaczego odpowiedzi `nazwa2`, `nazwa3` i `nazwa4` są błędne?
`nazwa2` to wartość `id`, `nazwa3` to wartość `class`, a `nazwa4` to wartość `for`. Nie są one nazwą refa w React ani nazwą pola formularza Angulara.