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

Sort by
Subject
Level

Python Exception Handling and File Modes Explained

Classified in Computers

Written on in English with a size of 2.6 KB

What is an Exception?

Answer: An exception in Python is an error that occurs during program execution, disrupting the normal flow of instructions. Instead of crashing, the program can "catch" the exception and handle it gracefully using try and except blocks. Common exceptions include ZeroDivisionError, IndexError, and FileNotFoundError. You can also define custom exceptions. The finally block can be used for cleanup actions, ensuring certain code runs regardless of whether an exception was raised.

Different Modes of Opening a File

Answer: Different Modes of Opening a File

1. Read Mode ('r')

  • Purpose: Opens a file for reading.
  • Behavior:
    • The file pointer is placed at the beginning of the file.
    • If the file does not exist, a FileNotFoundError is raised.
... Continue reading "Python Exception Handling and File Modes Explained" »

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

Posted by Anonymous and classified in Computers

Written on in English 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 English 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 English 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 English 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" »

Java AWT: Button Events and Arrow Key Shape Movement

Classified in Computers

Written on in English 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" »

Mastering Relational Algebra for Database Queries

Classified in Computers

Written on in English with a size of 4.53 KB

Relational Algebra Fundamentals

  • Relational Algebra is a mathematical query language used in databases.
  • The result of any operation is always another relation (table).

Relational Algebra Operations Explained

Unary Relational Operations

SELECT (σ) – Filters Rows

  • Retrieves specific rows from a table based on a condition.
  • Syntax: σ (condition) (Relation)
  • Example: σ (Dept_ID = 4) (EMPLOYEE)

PROJECT (π) – Filters Columns

  • Retrieves specific columns from a table.
  • Syntax: π (column1, column2) (Relation)
  • Example: π (Name, Salary) (EMPLOYEE)

RENAME (ρ) – Changes Table or Column Name

  • Syntax: ρ (NewTable (NewColumn1, NewColumn2), OldTable)
  • Example: ρ (Staff (Emp_ID, FullName), EMPLOYEE)

Set Theory Operations

UNION (∪) – Combines Two Tables

  • Combines tuples
... Continue reading "Mastering Relational Algebra for Database Queries" »

C Programming: Tokens, Operators, and Logic

Classified in Computers

Written on in English with a size of 2.55 KB

Tokens

In programming, a token is the smallest meaningful element in code. They are the building blocks of a language's syntax. Common token types include:

  • Keywords: Reserved words like if, else, while, and int (for declaring integers).
  • Identifiers: Names given to elements like variables (e.g., sum), functions, and arrays.
  • Constants: Unchanging values during program execution (e.g., 3.14 for pi).
  • Operators: Symbols for mathematical or logical operations (e.g., + for addition).
  • Separators: Punctuation like commas (,), semicolons (;), and braces ({}).

Example: int sum = 10 + 5;

In this line, int is a keyword, sum is an identifier, = is an operator, 10 and 5 are constants, and ; is a separator.

Arithmetic Operators

C has nine arithmetic operators for basic... Continue reading "C Programming: Tokens, Operators, and Logic" »

Dijkstra's Algorithm in C: Code & Explanation

Classified in Computers

Written on in English with a size of 3.5 KB

Dijkstra's Algorithm in C

This code implements Dijkstra's algorithm to find the shortest path from a source vertex to all other vertices in a graph represented as an adjacency matrix. The program reads graph data from an input.txt file and writes the results to an output.txt file.

Code Implementation


#include <stdio.h>
#include <limits.h>
#include <stdbool.h>

#define MAX_VERTICES 100

// Function to find the vertex with minimum distance
int minDistance(int dist[], bool visited[], int vertices) {
    int min = INT_MAX, min_index;

    for (int v = 0; v < vertices; v++)
        if (!visited[v] && dist[v] <= min) {
            min = dist[v];
            min_index = v;
        }

    return min_index;
}

// Dijkstra'
... Continue reading "Dijkstra's Algorithm in C: Code & Explanation" »

Data Structures: Queues, Trees, Graphs, and Searching Algorithms

Posted by Anonymous and classified in Computers

Written on in English with a size of 497.48 KB

Understanding Data Structures and Algorithms

8. Queues: FIFO Operations

A queue is a linear data structure that follows the First-In, First-Out (FIFO) principle. The element inserted first will be removed first, similar to people waiting in a line. It has two primary operations:

  • enqueue(): Adds an element to the rear of the queue.
  • dequeue(): Removes an element from the front of the queue.

Enqueue Operation Algorithm (Array-based):

  1. Check if the queue is full (rear == size - 1).
  2. If not full, increment rear.
  3. Insert the new element at queue[rear].

Example:

if (rear == size - 1)
    printf("Queue Overflow");
else {
    rear++;
    queue[rear] = value;
}

Dequeue Operation Algorithm:

  1. Check if the queue is empty (front > rear).
  2. If not empty, retrieve the element
... Continue reading "Data Structures: Queues, Trees, Graphs, and Searching Algorithms" »