Notes, summaries, assignments, exams, and problems for Computers

Sort by
Subject
Level

Discrete Mathematics Foundations: Sets, Logic, Graphs, and Proofs

Posted by Anonymous and classified in Computers

Written on in with a size of 880.48 KB

Speaking Mathematically: Core Concepts

The Language of Sets

  • ∀ - Universal quantifier (true for all values of a variable in a set)
  • ∃ - Existential quantifier (true for at least one value of a variable in a set)

Common Set Notations:

  • R - Set of all real numbers
  • Z - Set of all integers
  • Q - Set of all rational numbers
  • N - Set of all positive integers
  • (X)+- - Positive/negative elements for a specific set X

xS means that x is an element of the set S.

  • Example: x=5, S={1, 2, 3, 4, 5}

AB means that A is a subset of the set B.

  • Example: A={a,b}, B={a,b,c}
  • Example: {2} ∈ {1, 2, 3} is false; {2} ∈ {{1}, {2}} is true; 2 ⊆ {1, 2, 3} is false; {2} ⊆ {1, 2, 3} is true
  • Note: {9, 9, 1, 1, 7, 7} has only 3 distinct elements ({1, 7, 9}); {1, {2}} has 2 elements;
... Continue reading "Discrete Mathematics Foundations: Sets, Logic, Graphs, and Proofs" »

Core Digital Electronics: Flip-Flops, Logic Gates, Memory & ADCs

Posted by Anonymous and classified in Computers

Written on in with a size of 514.7 KB

Master-Slave Flip-Flop Operation

The working of a Master-Slave flip-flop involves two cascaded flip-flops: a master and a slave. The master is positive level-triggered, and the slave is negative level-triggered, ensuring the master responds before the slave.

When the clock pulse (CP) goes high (1), the slave is isolated, allowing the J and K inputs to affect the master's state. The slave flip-flop remains isolated until the CP goes low (0). When the CP transitions back to low, information is passed from the master flip-flop to the slave, and the output is obtained.

Let's examine the behavior based on J and K inputs:

  • J=0, K=1: The high Q' output of the master goes to the K input of the slave. The negative transition of the clock forces the slave
... Continue reading "Core Digital Electronics: Flip-Flops, Logic Gates, Memory & ADCs" »

C Programming Examples: Code Snippets and Explanations

Classified in Computers

Written on in with a size of 3.41 KB

C Programming Examples

Here are several C programming examples:

Vector Operations

#include <stdio.h>

void leVetor (int v [] , int tam );
int prodEscalar (int v1 [] , int v2 [] , int tam );

int main (void) {
    int v1 [ DIM ], int v2 [ DIM ];
    int i;
    int prod ;

    leVetor (v1 , DIM );
    leVetor (v2 , DIM );
    prod = prodEscalar (v1 , v2 , DIM );
    printf ("%d\n", prod );
    return 0;
}

void leVetor (int v [] , int tam ) {
    /* Completar */
}

int prodEscalar (int v1 [] , int v2 [] , int tam ) {
    /* Completar */
}

Random Number Generation

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define VEZES 10

int main (void) {
    int i , j , k;
    double r;

    srand ( time ( NULL )); /* inicializa
... Continue reading "C Programming Examples: Code Snippets and Explanations" »

Core Concepts in Artificial Intelligence: Search Algorithms and Knowledge Systems

Classified in Computers

Written on in with a size of 15.96 KB

Heuristic Search Techniques Explained

Heuristic search techniques use intelligent estimations to find solutions efficiently. These methods help in decision-making by prioritizing the most promising paths.


1. Greedy Best-First Search (GBFS)

  • Always chooses the next step that appears closest to the goal.
  • Ignores the cost already traveled.

Example:

A person finding the exit of a maze by always taking the path that looks shortest.

Risk: May lead to dead ends.


2. A* Search Algorithm

  • Balances actual cost and estimated cost to reach the goal.
  • Ensures the shortest and most efficient path.

Example:

Google Maps finds the best route by considering both distance already covered and the remaining estimated distance.

Optimal and efficient.


3. Hill Climbing Algorithm

  • Moves
... Continue reading "Core Concepts in Artificial Intelligence: Search Algorithms and Knowledge Systems" »

Operating Systems Memory Management and Bash Scripting

Classified in Computers

Written on in with a size of 4.74 KB

Memory Allocation Strategies

🔹 First Fit

👉 Take the first block that fits.

Example:

Blocks: 120, 450, 300, 700, 200
Processes: 250, 100, 500, 180

Step by step:

  • 250 → goes into 450 → left: 200
  • 100 → goes into 120 → left: 20
  • 500 → goes into 700 → left: 200
  • 180 → goes into 300 → left: 120

Final memory:
20, 200, 120, 200, 200


🔹 Best Fit

👉 Use the smallest block that fits.

Same example:

  • 250 → 300 → left 50
  • 100 → 120 → left 20
  • 500 → 700 → left 200
  • 180 → 200 → left 20

Final:
20, 450, 50, 200, 20

👉 Note: Causes more fragmentation (many small pieces).


🔹 Worst Fit

👉 Use the largest block.

Same example:

  • 250 → 700 → left 450
  • 100 → 450 → left 350
  • 500 → ❌ no block large enough
  • 180 → 350 → left 170

🔹 Next Fit

👉... Continue reading "Operating Systems Memory Management and Bash Scripting" »

Hehhrhrhr

Posted by Anonymous and classified in Computers

Written on in with a size of 9.2 KB

Sequential circuits are fundamental components of digital systems, defined by the fact that their output depends not only on the current inputs but also on the past history of inputs (i.E., their current state).
The most basic element of a sequential circuit is the Flip-Flop, which is a 1-bit memory cell.
Here is a detailed explanation of the basic Flip-Flops and their operation:
1. Latches vs. Flip-Flops
Both latches and flip-flops are 1-bit storage elements, but they differ in how they are controlled:
| Feature | Latch | Flip-Flop |
|---|---|---|
| Triggering | Level-triggered (Transparent) | Edge-triggered (Synchronous) |
| Control | Changes state as long as the Enable or Clock is HIGH (or LOW). | Changes state only at the rising edge or falling... Continue reading "Hehhrhrhr" »

Managing Uncertainty in AI and Cognitive Computing

Posted by Anonymous and classified in Computers

Written on in with a size of 273.79 KB

Understanding Uncertainty in Artificial Intelligence

Uncertainty arises when we are not 100% sure about the outcome of decisions. It appears in cases where conditions are neither completely true nor completely false.

Sources of Uncertainty in AI

  • Uncertain Data: Occurs when data is missing, noisy, inconsistent, ambiguous, or based on expert guesses.
  • Uncertain Knowledge: Occurs when knowledge has multiple causes/effects or causality is incomplete.

Reasons for Uncertainty

  • Partially observable environments: For example, hidden cards in a game.
  • Dynamic environments: Such as rapidly changing technology.
  • Incomplete agent knowledge: For example, unpredictable consequences.
  • Inaccessible environments: Such as unseen global events.

Ways to Handle Uncertainty

Uncertainty... Continue reading "Managing Uncertainty in AI and Cognitive Computing" »

Implementing Logic Functions with Decoders and MUXs

Classified in Computers

Written on in with a size of 3.54 KB

Implementing Boolean Functions with Truth Tables

Problem 1: Implement the following function F(A, B, C) = Σ(2, 5, 6, 7) using a truth table with:

  • a. Decoder
  • b. Multiplexer

Truth Table for Function F(A, B, C)

ABCF
0000
0010
0101
0110
1000
1011
1101
1111

a. Decoder Implementation

A decoder is used to select one of the outputs based on the input combination. In this case, we have 3 inputs (A, B, C) and 8 possible combinations. The truth table shows that F = 1 for input combinations (010), (101), (110), and (111), and F = 0 for all other combinations. To implement this, we connect the corresponding decoder outputs to an OR gate.

b. Multiplexer Implementation

A multiplexer (MUX) selects one of the input lines and passes it to the output. The selection is controlled... Continue reading "Implementing Logic Functions with Decoders and MUXs" »

Software Categories and Windows Operating System Essentials

Classified in Computers

Written on in with a size of 3.28 KB

1. Various Types of Software with Suitable Examples

Software is a collection of programs, data, or instructions used by computers to perform specific tasks. Software can be classified into different types:

1.1 System Software

System software is designed to manage and operate computer hardware, providing a platform for running application software.

  • Example: Operating systems like Windows, macOS, and Linux.

1.2 Application Software

Application software is designed to help users perform specific tasks, such as word processing, spreadsheet management, and graphic design.

  • Microsoft Word (for word processing)
  • Microsoft Excel (for spreadsheets)
  • Adobe Photoshop (for graphic editing)

1.3 Utility Software

Utility software helps maintain and optimize the performance

... Continue reading "Software Categories and Windows Operating System Essentials" »

Java AWT: Button Events and Arrow Key Shape Movement

Classified in Computers

Written on in with a size of 3.75 KB

Button Click Action Events

import java.awt.*;

import java.awt.event.*;

public class ButtonClickActionEvents

{

public static void main(String args[])

{

Frame f=new Frame("Button Event");

Label l=new Label("DETAILS OF PARENTS");

l.setFont(new Font("Calibri",Font.BOLD, 16));

Label nl=new Label();

Label dl=new Label();

Label al=new Label();

l.setBounds(20,20,500,50);

nl.setBounds(20,110,500,30);

dl.setBounds(20,150,500,30);

al.setBounds(20,190,500,30);

Button mb=new Button("Mother");

mb.setBounds(20,70,50,30);

mb.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

nl.setText("NAME: " + "Aishwarya");

dl.setText("DESIGNATION: " + "Professor");

al.setText("AGE: " + "42");

}

});

Button fb=new Button("Father");

fb.setBounds(80,70,50,30);

fb.addActionListener(

... Continue reading "Java AWT: Button Events and Arrow Key Shape Movement" »