Informatyka · dobór podzespołów

Dobór podzespołów komputera — projekt zestawu do określonych zastosowań

Zgodność gniazda i pamięci, liczba slotów i moc zasilacza z zapasem — reguły doboru podzespołów zapisane w programie. Dane wymyślone, trzy zadania.

45 minutPoziom podstawowyPliki i rozwiązania

Materiał redakcyjny TablicaPro · liceum i technikum

pobor = 105 + 250 + 100   # 455 W
wymagana = round(pobor * 1.3)  # 592 W
Zasilacz 450 W: za słaby.
650 W: wystarczy z zapasem.

Kupując lub składając komputer, nie wystarczy wybrać „najmocniejsze” części — muszą do siebie pasować: procesor do gniazda na płycie, pamięć do jej typu, a zasilacz musi udźwignąć pobór mocy całego zestawu z zapasem. Te reguły można zapisać w programie, który sprawdza zestaw i wypisuje problemy. Na lekcji uczniowie robią to na danych wymyślonych (nazwy i parametry nie odpowiadają prawdziwym produktom).

Scenariusz jest przeznaczony na 45 minut dla klasy znającej budowę komputera i słowniki w Pythonie. Zasady zgodności są prawdziwe w zarysie, ale uproszczone: w rzeczywistości trzeba też sprawdzić m.in. chłodzenie, miejsce w obudowie, zgodność wersji BIOS-u i dokładne specyfikacje z kart katalogowych producentów.

Przygotowanie stanowisk

Potrzebny jest Python 3 i edytor lub IDLE. Rozpakuj pakiet z sekcji materiałów do osobnego folderu i uruchamiaj skrypty z tego folderu. Program uruchomisz przez Run → Run Module albo poleceniem python start.py, python3 start.py lub py start.py.

Cele i plan lekcji

Po zajęciach uczeń potrafi:

  • wskazać cechy, które muszą się zgadzać: gniazdo procesora, typ i liczba modułów pamięci;
  • oszacować pobór mocy zestawu i dobrać zasilacz z zapasem (tu 30%);
  • zapisać reguły zgodności w programie i odczytać komunikaty o problemach;
  • dobrać zestaw do zastosowania (biuro, grafika) i uzasadnić wybór.
CzasPraca na lekcji
0–5 minProblem: kupione części, które do siebie nie pasują
5–15 minGniazdo, pamięć, zasilacz — reguły zgodności
15–22 minSzacowanie mocy z zapasem
22–37 minTrzy zadania w Pythonie
37–42 minWłasny zestaw dla zadanego budżetu
42–45 minPytania kontrolne

Reguły zgodności

RegułaOpis
Gniazdo procesoraprocesor i płyta główna muszą mieć to samo gniazdo (tu X1 lub X2)
Typ pamięci RAMpłyta obsługuje jeden typ (np. DDR4 albo DDR5); modułów innego typu nie zamontujesz
Liczba slotów RAMliczba modułów nie może przekroczyć liczby slotów na płycie
Moc zasilaczamoc zasilacza ≥ pobór zestawu × zapas

Szacowanie mocy

Pobór szacujemy jako sumę: TDP procesora (zakładana moc wydzielana jako ciepło, w watach) + moc karty graficznej + pozostałe elementy (płyta, dysk, wentylatory, urządzenia USB — tu przyjęto 100 W). Zasilacz powinien mieć zapas (zalecenie praktyczne: kilkadziesiąt procent), bo pracuje najlepiej i najciszej poniżej pełnego obciążenia, a pobór może chwilowo wzrosnąć. W lekcji: zapas 30%, czyli wymagana moc = pobór · 1,3.

Dane w programie

Słowniki PROCESORY, PLYTY, PAMIECI, KARTY i ZASILACZE opisują dostępne części, a zestaw to słownik z nazwami wybranych części. Funkcja sprawdz zwraca listę problemów, pobór i wymaganą moc; cena sumuje koszt procesora, płyty i pamięci. Wszystkie nazwy, ceny i moce są wymyślone — na lekcji zawsze trzeba korzystać z aktualnych danych producentów.

Zadania

Zadanie 1. Moc. Dla trzech zestawów (biurowy, graficzny i pomylony) wypisz pobór mocy i zalecaną moc zasilacza z zapasem 30%.

Zadanie 2. Zgodność. Napisz funkcję sprawdz, która wypisze wszystkie problemy zestawu (gniazdo, typ i liczba modułów RAM, moc zasilacza). Przetestuj ją na trzech zestawach.

Zadanie 3. Cena i poprawka. Oblicz cenę zestawu biurowego (procesor, płyta, pamięci). Popraw zestaw graficzny wymianą zasilacza i sprawdź, czy jest już poprawny, oraz ile kosztuje.

Dla chętnych: zaprojektuj zestaw dla budżetu 1500 zł (procesor, płyta, pamięć), który przejdzie wszystkie sprawdzenia.

Rozwiązanie i wyniki

# UWAGA: nazwy i parametry to dane WYMYSLONE na potrzeby lekcji.
PROCESORY = {
    "Procesor Alfa 4": {"gniazdo": "X1", "tdp": 65, "cena": 600},
    "Procesor Beta 8": {"gniazdo": "X1", "tdp": 105, "cena": 1100},
    "Procesor Gamma 6": {"gniazdo": "X2", "tdp": 65, "cena": 800},
}
PLYTY = {
    "Plyta P1": {"gniazdo": "X1", "ram": "DDR4", "sloty": 2, "cena": 400},
    "Plyta P2": {"gniazdo": "X2", "ram": "DDR5", "sloty": 4, "cena": 700},
}
PAMIECI = {
    "RAM 8 GB DDR4": {"typ": "DDR4", "gb": 8, "cena": 120},
    "RAM 16 GB DDR4": {"typ": "DDR4", "gb": 16, "cena": 220},
    "RAM 16 GB DDR5": {"typ": "DDR5", "gb": 16, "cena": 320},
}
KARTY = {"brak (grafika w procesorze)": 0, "Grafika G1": 150, "Grafika G2": 250}
ZASILACZE = {"Zasilacz 450 W": 450, "Zasilacz 650 W": 650}
POZOSTALE = 100  # plyta, dysk, wentylatory, urzadzenia USB (zalozenie w watach)
REZERWA = 1.3    # zapas 30% mocy


def sprawdz(zestaw):
    problemy = []
    proc, plyta = PROCESORY[zestaw["procesor"]], PLYTY[zestaw["plyta"]]
    if proc["gniazdo"] != plyta["gniazdo"]:
        problemy.append("gniazdo procesora " + proc["gniazdo"] + " nie pasuje do plyty " + plyta["gniazdo"])
    for nazwa in zestaw["pamieci"]:
        if PAMIECI[nazwa]["typ"] != plyta["ram"]:
            problemy.append(nazwa + " nie pasuje do plyty (" + plyta["ram"] + ")")
    if len(zestaw["pamieci"]) > plyta["sloty"]:
        problemy.append("za malo slotow RAM: " + str(len(zestaw["pamieci"])) + " modulow, " + str(plyta["sloty"]) + " slotow")
    pobor = proc["tdp"] + KARTY[zestaw["karta"]] + POZOSTALE
    wymagana = round(pobor * REZERWA)
    if ZASILACZE[zestaw["zasilacz"]] < wymagana:
        problemy.append("zasilacz za slaby: potrzeba " + str(wymagana) + " W, jest " + str(ZASILACZE[zestaw["zasilacz"]]) + " W")
    return problemy, pobor, wymagana


def cena(zestaw):
    return PROCESORY[zestaw["procesor"]]["cena"] + PLYTY[zestaw["plyta"]]["cena"] + sum(PAMIECI[n]["cena"] for n in zestaw["pamieci"])


ZESTAWY = {
    "Biurowy": {"procesor": "Procesor Alfa 4", "plyta": "Plyta P1", "pamieci": ["RAM 8 GB DDR4", "RAM 8 GB DDR4"], "karta": "brak (grafika w procesorze)", "zasilacz": "Zasilacz 450 W"},
    "Graficzny": {"procesor": "Procesor Beta 8", "plyta": "Plyta P1", "pamieci": ["RAM 16 GB DDR4", "RAM 16 GB DDR4"], "karta": "Grafika G2", "zasilacz": "Zasilacz 450 W"},
    "Pomylony": {"procesor": "Procesor Gamma 6", "plyta": "Plyta P1", "pamieci": ["RAM 16 GB DDR5"], "karta": "Grafika G1", "zasilacz": "Zasilacz 650 W"},
}

# Zadanie 1: zapotrzebowanie na moc
for nazwa, z in ZESTAWY.items():
    problemy, pobor, wymagana = sprawdz(z)
    print(nazwa, "| pobor", pobor, "W | zalecany zasilacz od", wymagana, "W")

# Zadanie 2: zgodnosc
for nazwa, z in ZESTAWY.items():
    problemy, _, _ = sprawdz(z)
    print(nazwa, ":", "zestaw poprawny" if not problemy else "; ".join(problemy))

# Zadanie 3: cena i poprawka
print("Cena zestawu biurowego:", cena(ZESTAWY["Biurowy"]), "zl")
poprawiony = dict(ZESTAWY["Graficzny"], zasilacz="Zasilacz 650 W")
print("Graficzny po wymianie zasilacza:", "poprawny" if not sprawdz(poprawiony)[0] else sprawdz(poprawiony)[0], "| cena", cena(poprawiony), "zl")

Program wypisze:

Biurowy | pobor 165 W | zalecany zasilacz od 214 W
Graficzny | pobor 455 W | zalecany zasilacz od 592 W
Pomylony | pobor 315 W | zalecany zasilacz od 410 W
Biurowy : zestaw poprawny
Graficzny : zasilacz za slaby: potrzeba 592 W, jest 450 W
Pomylony : gniazdo procesora X2 nie pasuje do plyty X1; RAM 16 GB DDR5 nie pasuje do plyty (DDR4)
Cena zestawu biurowego: 1240 zl
Graficzny po wymianie zasilacza: poprawny | cena 1940 zl

Zestaw graficzny wymaga zasilacza co najmniej 592 W (pobór 105 + 250 + 100 = 455 W, razy 1,3), więc 450 W jest za słaby, a 650 W wystarczy. Zestaw „pomylony” łączy procesor z gniazdem X2 z płytą X1 i pamięć DDR5 z płytą DDR4. Zadanie dla chętnych (rozszerzenie.py) potwierdza rachunek:

455 592 True

Typowe błędy

ObjawCo sprawdzić
Procesor „pasuje fizycznie”, a płyta nie startujeGniazdo to nie tylko kształt; ważny jest też chipset i wersja BIOS-u płyty (poza zakresem uproszczonego modelu).
Zasilacz „na styk”Zasilacz obciążony blisko maksimum jest głośny i szybciej się zużywa; zostaw zapas.
Pamięć DDR4 w płycie DDR5Moduły mają różne wycięcia i napięcia — fizycznie nie zmieszczą się w gnieździe.
Suma TDP pomija inne podzespołyPłyta, dysk i wentylatory też pobierają energię (tu +100 W).
Oszczędzanie na zasilaczuAwaria słabego zasilacza może uszkodzić pozostałe podzespoły.
Użycie wymyślonych danych do prawdziwych zakupówDane w lekcji są sztuczne — do zakupów sprawdź specyfikacje producentów.

Pytania kontrolne i punktacja

  1. Jakie trzy cechy procesora, płyty i pamięci muszą się zgadzać?
  2. Dlaczego zasilacz dobieramy z zapasem?
  3. Co oznacza TDP?

Odpowiedzi: Gniazdo procesora, typ pamięci RAM i liczba slotów (modułów). Bo działa najlepiej poniżej pełnego obciążenia, a pobór może chwilowo wzrosnąć. Moc cieplną, jaką ma odprowadzić chłodzenie procesora (w przybliżeniu jego typowy pobór mocy).

Proponowana punktacja (razem 10 punktów): zadanie 1 — pobór i moc zasilacza dla trzech zestawów 2 pkt; zadanie 2 — cztery reguły w funkcji 3 pkt, test trzech zestawów 1 pkt; zadanie 3 — cena 1 pkt, poprawka zestawu 2 pkt; uzasadnienie wyboru w pytaniach 1 pkt. Zadanie dla chętnych nie jest wymagane do pełnej oceny.

Materiały do pobrania

Rozpakuj ZIP przed otwarciem plików. Materiały są dostępne bez logowania; publiczne rozwiązanie służy nauce i samodzielnemu sprawdzeniu, a nie poufnemu sprawdzianowi.

Co dalej?

Następny krok to BIOS i UEFI, montaż komputera oraz diagnostyka usterek. Ten materiał rozwija dział o sprzęcie komputerowym w kursie Informatyka w TablicaPro, gdzie znajdziesz prezentacje, ćwiczenia i testy do prowadzenia lekcji.

Źródła techniczne: TDP w Wikipedii oraz zasilacz komputerowy. Zobacz też lekcję o diagnostyce komputera.

Poprowadź kolejne lekcje Informatyka

Pełny kurs: prezentacje, ćwiczenia i testy do pracy z klasą.

Kup dostęp do kursu Informatyka →

Zobacz program kursu