Sistem bilangan
- Nilai tempat
- biner 2k, oktal 8k, heksadesimal 16k
- Ke desimal
- Σ dk·bk
- Dari desimal
- bagi dengan basis, baca sisanya dari bawah ke atas
- Heksadesimal ↔ biner
- satu digit heksadesimal = 4 bit
- Komplemen dua
- balik bitnya lalu tambahkan 1
Lembar rumus, langkah-langkah metode utama untuk setiap topik, dan 20 soal latihan, dengan pembahasan lengkap di bagian belakang.
Atur bit sehingga menyimpan −104 dalam komplemen dua 8-bit. Dibaca sebagai bilangan tak bertanda, berapa nilai pola U?
Sebuah sistem harus memberi setiap 3373 item kode biner sendiri dengan panjang yang sama. Berapa jumlah bit b paling sedikit yang dibutuhkan?
Pada berapa dari 8 baris tabel kebenarannya ¬(((r ∧ p) → ¬q) → (p ∨ r)) bernilai benar? Sebut bilangan ini N.
Premis q → p; p → r; ¬r diberikan. Kesimpulan mana yang mengikuti dari premis-premis itu? Klik kesimpulan itu.
Pakai peta Karnaugh untuk mencari bentuk hasil kali dari jumlah (POS) minimal dari F(A, B, C, D) = Σm(0, 1, 4, 5, 6, 7, 8, 9, 11, 12). Berapa suku jumlah (faktor) N yang dimilikinya?
Flip-flop T yang dipicu tepi positif dimulai dengan Q = 0 dan menerima masukan yang ditunjukkan. Klik tepi clock pertama saat Q kembali dari 1 ke 0.
Carilah invers 35 modulo 74: bilangan x dengan 0 < x < 74 dan 35·x ≡ 1 (mod 74).
Pakai pengkuadratan berulang untuk mencari 6793 mod 89.
Dengan koin 1, 3, dan 4 serta jumlah 6, berapa koin yang dipakai metode greedy "koin terbesar dulu" dibandingkan solusi optimal?
Berapa biaya amortisasi menaikkan (increment) penghitung biner, mengingat satu increment dapat membalik banyak bit?
Berapa biaya menyisipkan elemen di tengah array berisi n elemen?
Struktur data manakah yang mendukung cache LRU (least recently used) dengan get dan put O(1)?
Sebuah pohon memiliki 3 simpul berderajat 3, 2 simpul berderajat 4, 4 simpul berderajat 5, dan semua simpul lainnya adalah daun (derajat 1). Berapa daun L yang dimilikinya?
Algoritma Dijkstra berjalan dari A. Klik simpul yang ditetapkan (dijadikan permanen) pada putaran 3; A sendiri adalah putaran 1.
LEFT JOIN mengembalikan:
Mengapa SELECT dept, name, COUNT(*) FROM emp GROUP BY dept tidak valid dalam SQL standar?
HTTP bersifat stateless. Bagaimana situs web biasanya membuat pengguna tetap login di antara permintaan?
Mengapa opsi window scale TCP diperkenalkan?
Jaringan 192.168.147.0/24 dibagi menjadi subnet /29, bernomor 1, 2, 3, … dari alamat terendah (subnet 1 dimulai di .0). Berapa oktet keempat x alamat jaringan subnet 6?
Sebuah router memiliki rute ke jaringan-jaringan berikut: 10.156.142.0/24, 10.156.143.0/24, 10.156.144.0/24, 10.156.145.0/24. Berapa panjang prefiks terpanjang p dari satu rute ringkasan yang mencakup semuanya?
Jawaban: U = 152
Mengatur bit: setiap bit bernilai pangkat dua (128, 64, …, 1). Satu digit heksa tepat empat bit, dan pada komplemen dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap posisi bit secara terpisah.
Jawaban: b = 12 bit
Sistem bilangan posisional: setiap digit bernilai digit itu dikali pangkat dari basis. Dalam biner, posisinya bernilai 1, 2, 4, 8, 16, …; dalam heksadesimal 1, 16, 256, …, dengan A–F mewakili 10–15. Dalam komplemen dua 8-bit, bit paling kiri bernilai −128, bukan +128; begitulah bilangan negatif disimpan.
Jawaban: N = 2
Tabel kebenaran: rumus dengan n variabel berbeda memiliki 2ⁿ baris, satu untuk setiap kombinasi nilai kebenaran (1 = benar, 0 = salah). Bekerjalah dari dalam ke luar dan beri setiap subformula kolomnya sendiri. ¬a membalik nilainya; a ∧ b bernilai 1 hanya jika keduanya 1; a ∨ b bernilai 0 hanya jika keduanya 0; a → b bernilai 0 hanya jika a = 1 dan b = 0; a ↔ b bernilai 1 jika kedua sisi sama.
Jawaban: ¬q
Kuantor dan argumen: ¬∀x P(x) ≡ ∃x ¬P(x) dan ¬∃x P(x) ≡ ∀x ¬P(x). Pindahkan negasi ke dalam, tukar setiap kuantor yang dilewatinya, dan negasikan rumus di dalamnya dengan hukum proposisional, seperti ¬(a → b) ≡ a ∧ ¬b. Sebuah argumen valid jika kesimpulannya bernilai 1 pada setiap baris yang semua premisnya bernilai 1. Satu baris dengan premis benar dan kesimpulan salah adalah contoh penyangkal dan menunjukkan bahwa argumen itu tidak valid.
Jawaban: N = 3
Peta Karnaugh: sel-sel diurutkan dalam kode Gray (00, 01, 11, 10), sehingga sel bertetangga, termasuk yang melewati tepi, berbeda tepat pada satu variabel. Kelompokkan angka 1 dalam persegi panjang berisi 1, 2, 4, 8, atau 16 sel, sebesar mungkin dan sesedikit mungkin, sampai setiap angka 1 tercakup. Setiap kelompok adalah satu suku hasil kali: variabel yang tetap konstan di dalamnya. Kelompok 2ᵏ sel kehilangan k variabel. Don’t-care (X) boleh dipakai untuk memperbesar kelompok tetapi tidak harus dicakup. Mengelompokkan angka 0 sebagai gantinya menghasilkan bentuk POS minimal.
Setiap kelompok adalah persegi panjang berisi 2ᵏ sel; sel di tepi bertetangga dengan sel di tepi seberangnya.
Jawaban: tepi clock 5
Flip-flop dan pencacah: flip-flop hanya berubah pada tepi clock aktif. D menyalin masukannya (Q⁺ = D); T berbalik jika T = 1; JK bertahan untuk 00, reset untuk 01, set untuk 10, dan berbalik untuk 11. Pencacah biner n bit memiliki 2ⁿ keadaan dan menghitung modulo 2ⁿ; pencacah mod-N berurutan 0, 1, …, N − 1 lalu kembali ke 0, dan memerlukan flip-flop sebanyak n terkecil dengan 2ⁿ ≥ N. Setiap tahap pencacah ripple membagi dua frekuensi, sehingga keluaran terakhir pencacah mod-N berjalan pada fclk/N. Pencacah Johnson dari n flip-flop memiliki 2n keadaan, pencacah cincin n.
Flip-flop T berbalik pada setiap tepi naik dengan T = 1 dan bertahan dengan T = 0.
Jawaban: 35−1 mod 74 = 55
Invers dan kongruensi: a memiliki invers modulo n tepat ketika FPB(a, n) = 1. Algoritma Euclid yang diperluas menuliskan 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruensi a·x ≡ b (mod n) dengan FPB(a, n) = 1 memiliki penyelesaian x ≡ a⁻¹·b. Dua kongruensi x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus saling prima memiliki satu penyelesaian modulo m₁·m₂ (teorema sisa Cina). φ(n) Euler menghitung bilangan dari 1 sampai n yang saling prima dengan n: φ(n) = n·∏(1 − 1/p).
Setiap sisa r ditulis sebagai r ≡ t·35 (mod 74).
Jawaban: 6793 mod 89 = 2
Pangkat modular dan RSA: hitung aᵏ mod n dengan pengkuadratan berulang: tulis k dalam biner, kuadratkan, reduksi setelah setiap langkah, dan kalikan pangkat yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk bilangan prima p yang tidak membagi a, sehingga eksponen dapat direduksi modulo p − 1. RSA: pilih bilangan prima p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen publik e saling prima dengan φ(n), dan eksponen privat adalah d = e⁻¹ mod φ(n). Enkripsi dengan c = mᵉ mod n dan dekripsi dengan m = cᵈ mod n.
Jawaban: D · Greedy memakai 3 koin; optimalnya 2
Greedy mengambil 4 + 1 + 1 = 3 koin, tetapi 3 + 3 hanya memakai 2, sehingga greedy tidak optimal untuk sistem koin ini; dynamic programming optimal.
Jawaban: B · O(1) per increment
Atas n increment, bit ke-i berbalik sekitar n / 2ⁱ kali, sehingga totalnya kurang dari 2n pembalikan, rata-rata O(1) masing-masing.
Jawaban: A · O(n), karena elemen-elemen sesudahnya harus digeser
Semua elemen setelah titik penyisipan bergeser satu posisi ke kanan, yang memerlukan waktu sebanding dengan n.
Jawaban: C · Hash map yang dikombinasikan dengan doubly linked list
Hash map menemukan node dalam O(1), dan doubly linked list memindahkan elemen yang diakses ke depan serta mengeluarkan elemen dari belakang dalam O(1).
Jawaban: L = 21
Euler, Hamilton, dan pohon: graf terhubung memiliki sirkuit Euler (setiap sisi sekali, kembali ke awal) jika setiap simpul berderajat genap, dan lintasan Euler yang bukan sirkuit jika tepat dua simpul berderajat ganjil; lintasan itu berjalan dari satu simpul ganjil ke simpul ganjil lainnya. Sirkuit Hamilton mengunjungi setiap simpul sekali; Kn memiliki (n − 1)!/2 sirkuit seperti itu. Pohon dengan n simpul memiliki n − 1 sisi, dan graf terhubung dengan m sisi masih memiliki pohon rentang setelah m − n + 1 sisi dihapus.
Jalan pintas: L = 2 + Σ (d − 2) atas simpul berderajat d ≥ 3.
Jawaban: E
Lintasan terpendek dan pohon rentang: algoritma Dijkstra menetapkan satu simpul per putaran: simpul belum tetap dengan jarak sementara terkecil. Jaraknya lalu final, dan setiap tetangga v mendapat d(v) = min(d(v), d(u) + w(u, v)). Algoritma Kruskal membangun pohon rentang minimum dengan mengambil sisi dari yang ringan ke berat dan melewati sisi yang akan membentuk siklus; algoritma Prim menumbuhkan satu pohon dari simpul awal dengan selalu menambahkan sisi teringan yang keluar dari pohon. Pohon rentang dengan n simpul memiliki n − 1 sisi.
Jawaban: D · Semua baris dari tabel kiri dan baris yang cocok dari tabel kanan, dengan NULL jika tidak ada kecocokan
Left outer join mempertahankan setiap baris kiri; kolom kanan yang tidak cocok diisi dengan NULL.
Jawaban: D · name tidak dikelompokkan maupun diagregasi, sehingga tidak memiliki satu nilai per kelompok
Setiap kolom dalam daftar SELECT harus ada di GROUP BY atau di dalam agregat (atau bergantung secara fungsional pada kolom pengelompokan); jika tidak, nilainya ambigu.
Jawaban: A · Dengan cookie yang menyimpan pengenal sesi atau token
Server menetapkan cookie berisi ID sesi atau token, dan browser mengembalikannya pada setiap permintaan sehingga server dapat mengenali pengguna.
Jawaban: C · Field window 16 bit membatasi window hingga 65,535 byte, terlalu kecil untuk jalur cepat berjarak jauh
Header asli hanya mengizinkan paling banyak 65,535 byte data yang belum di-acknowledge. Window scaling mengalikannya dengan pangkat dua sehingga jalur dengan bandwidth-delay product tinggi dapat terisi.
Jawaban: x = 40
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Jawaban: p = 19
Peringkasan rute: rute ringkasan a.b.c.0/p mencakup semua jaringan yang p bit pertamanya sama. Tulis oktet yang berbeda dari jaringan pertama dan terakhir dalam biner; jumlah bit depan yang sama, ditambah bit oktet-oktet sebelumnya, adalah prefiks ringkasan terpanjang.
Rute ringkasan: 10.156.128.0/19 (rute ini juga mencakup 28 jaringan yang tidak ada dalam daftar).
ExamProblems · examproblems.com/courses/computer-science-fundamentals