Technology
Thursday 18 August 2016
Sunday 24 July 2016
Difference between hardware and software
Difference between hardware and
software
The main difference between hardware and software are as follows:
Hardware
- Physical parts of the computer are called hardware.
- You can touch, see and feel hardware.
- Hardware is constructed using physical materials or components.
- Computer is hardware, which operates under the control of a software.
- If hardware is damaged, it is replaced with new one.
- Hardware is not affected by computer viruses.
- Hardware cannot be transferred from one place to another electronically through network.
- User cannot make new duplicate copies of the hardware.
Software
- A set of instructions given to the computer is called software.
- You cannot touch and feel software.
- Software is developed by writing instructions in programming language.
- The operations of computer are controlled through software.
- If software is damaged or corrupted, its backup copy can be reinstalled.
- Software is affected by computer viruses.
- Software can be transferred from one lace to another electronically through network.
- User can make many new duplicate copies of the software.
Tuesday 19 July 2016
Distributed Database
Distributed Database
A distributed database (DDB) is a collection of multiple,logically interrelated databases distributed over a computer network. A distributed database management system (D–DBMS) is the software that manages the DDB and provides an access mechanism that makes this distribution transparent to the users.
Distributed database system (DDBS) = DDB + D–DBMS
What is not a DDBS?
A timesharing computer system
A loosely or tightly coupled multiprocessor
system
A database system which resides at one of the
nodes of a network of computers - this is a
centralized database on a network node
Saturday 16 July 2016
Arithmetic and Logic Unit
AIRTHEMATIC AND LOGIC (ALU):
DEFINITION:
In digital electronics, an arithmetic logic unit(An arithmetic logic unit (ALU) represents the fundamental building block of the central processing unit of a computer. An ALU is a digital circuit used to perform arithmetic and logic operations.) is a digital circuit that performs integer arithmetic and logical operations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes Short for Arithmetic Logic Unit, ALUIn some computer processors, the ALU is divided into an AU and LU. The AU performs the arithmetic operations and the LU performs the logical operations.
An arithmetic logic unit (ALU) is a digital circuit used to perform arithmetic and logic operations. It represents the fundamental building block of the central processing unit (CPU) of a computer. Modern CPUs contain very powerful and complex ALUs. In addition to ALUs, modern CPUs contain acontrol unit (CU). Most of the operations of a CPU are performed by one or more ALUs, which load data from input registers. A register is a small amount of storage available as part of a CPU. The control unit tells the ALU what operation to perform on that data and the ALU stores the result in an output register. The control unit moves the data between these registers, the ALU and memory.How An ALU WorksAn ALU performs basic arithmetic and logic operations. Examples of arithmetic operations are addition, subtraction, multiplication, and division. Examples of logic operations are comparisons of values such as NOT, AND, and OR.All information in a computer is stored and manipulated in the form of binary numbers, i.e. 0 and 1.Transistor switches are used to manipulate binary numbers, since there are only two possible states of a switch: open or closed. An open transistor, through which there is no current, represents a 0. A closed transistor, through which there is a current, represents a 1. Operations can be accomplished by connecting multiple transistors. One transistor can be used to control a second one, in effect turning the transistor switch on or off depending on the state of the second transistor. This is referred to as a gate, because the arrangement can be used to allow or stop a current.The simplest type of operation is a NOT gate. This uses only a single transistor. It uses a single input and produces a single output, which is always the opposite of the input. The figure below shows the logic of the NOT gate.Other gates consist of multiple transistors and use two inputs. The OR gate results in a 1 if either the first or the second input is a 1. The OR gate only results in a 0 if both inputs are 0. The figure below shows the logic of the OR gate.
The AND gate results in a 1 only if both the first and second input are 1s. The figure below shows the logic of the AND gate.
The various gates sound a little abstract, but remember that a computer only processes binary data. When you follow the binary logic of these operations, you are starting to think like a computer.
Thursday 31 March 2016
argc
and argv
myprog
, we can run it from within the same directory with the following command at the GNU/Linux command line: ./myprog
gcc -o myprog myprog.c
#include <stdio.h>
int main()
{
return 0;
}
#include <stdio.h>
int main (int argc, char *argv[])
{
return 0;
}
gcc -o myprog myprog.c
argc
4
argv[0]
gcc
argv[1]
-o
argv[2]
myprog
argv[3]
myprog.c
#include <stdio.h>
int main (int argc, char *argv[])
{
int count;
printf ("This program was called with \"%s\".\n",argv[0]);
if (argc > 1)
{
for (count = 1; count < argc; count++)
{
printf("argv[%d] = %s\n", count, argv[count]);
}
}
else
{
printf("The command had no other arguments.\n");
}
return 0;
}
This program was called with "./fubar".
argv[1] = a
argv[2] = b
argv[3] = c
However, what if you want to pass information from the command line to the program you are running? Consider a more complex program like GCC. To compile the hypothetical
myprog
executable, we type something like the following at the command line: The character strings
-o
, myprog
, and myprog.c
are all arguments to the gcc
command. (Technically gcc
is an argument as well, as we shall see.)Command-line arguments are very useful. After all, C functions wouldn't be very useful if you couldn't ever pass arguments to them -- adding the ability to pass arguments to programs makes them that much more useful. In fact, all the arguments you pass on the command line end up as arguments to the
main
function in your program.Up until now, the skeletons we have used for our C programs have looked something like this:
From now on, our examples may look a bit more like this:
As you can see,
main
now has arguments. The name of the variable argc
stands for "argument count"; argc
contains the number of arguments passed to the program. The name of the variable argv
stands for "argument vector". A vector is a one-dimensional array, and argv
is a one-dimensional array of strings. Each string is one of the arguments that was passed to the program.For example, the command line
would result in the following values internal to GCC:
As you can see, the first argument (
argv[0]
) is the name by which the program was called, in this case gcc
. Thus, there will always be at least one argument to a program, and argc
will always be at least 1.The following program accepts any number of command-line arguments and prints them out:
If you name your executable
fubar
, and call it with the command ./fubar a b c
, it will print out the following text:
Wednesday 23 September 2015
SMART Notebook® Maestro Quick Start Guide
SMART Notebook® Maestro Quick Start Guide
This guide will help you get started with SMART Notebook Maestro so you can
immediately experience the power of interacting and integrating content from your
SMART Notebook app for iPad with your SMART Notebook software. In this guide there
are resources to help users:
- Understand the requirements to use SMART Notebook Maestro
- Access essential downloads to use SMART Notebook Maestro
- Get started with SMART Notebook Maestro
- Contact technical support with questions
About SMART Notebook Maestro
The SMART Notebook Maestro collaborative learning software is the latest addition to
the SMART Notebook software platform. The SMART Notebook Maestro add-on
connects SMART Notebook software and the SMART Notebook iPad app.
Once connected, it enables teachers to:
- Quickly connect SMART Notebook app for iPad via Wi-Fi with the SMART Notebook
software
- Remotely control and interact with content from either your SMART interactive solution or
from your SMART Notebook app for iPad
- Write, add and manipulate objects on the SMART Notebook app for iPad and have it
appear on your display in the SMART Notebook software
SMART Notebook Maestro Requirement
SMART Notebook Advantage
SMART Notebook Maestro requires an active SMART Notebook Advantage subscription.
A SMART Notebook Advantage license key may be purchased from your authorized
reseller. To download SMART Notebook collaborative learning software (requires SMART
Notebook 14.2 or later) access:
SMART Notebook app for iPad
SMART Notebook Maestro requires the use of the SMART Notebook app for iPad. The
SMART Notebook app for iPad is a light version of the SMART Notebook software that
allows you to create multimedia files, complete assignments and share work. The iPad
app can be downloaded at the App Store by searching the keywords SMART Notebook.
Note: The iPad app may be purchased individually or in bulk using Apple’s Education
Volume Purchase Program (must be an education customer and requires a minimum
purchase of 20 to qualify).
SMART Notebook Maestro
The SMART Notebook Maestro add-on may be downloaded from SMART by navigating
to
http://info.smarttech.com/20141031-Notebook-Maestro-Download_Landing-Page.html
Getting Started with SMART Notebook Maestro
To enable Maestro for use in the SMART Notebook software
your iPad and computer must be on the same Wi-Fi network.
1. After downloading the SMART Notebook Maestro add-on,
install the add-on by double selecting the download. Then
select OK to continue and then Done to close the window.
2. Press the Add-ons tab in SMART Notebook. Select
Notebook Maestro and then press Enable Maestro.
3. Restart SMART Notebook software. Important: You must
restart SMART Notebook software to enable the connection.
4. Tap Connect to SMART Notebook software in the SMART
Notebook for iPad app, and then follow the pop-up instructions in the iPad app to
complete the connection process. Note: Use the SMART Notebook app for iPad to scan
the QR code in the SMART Notebook Maestro add-on tab to enable the connection.
C++ Operator Precedence
C++ Operator Precedence
The following table lists the precedence and associativity of C++ operators. Operators are listed top to bottom, in descending precedence.
Precedence | Operator | Description | Associativity |
---|---|---|---|
1 | :: | Scope resolution | Left-to-right |
2 | ++ -- | Suffix/postfix increment and decrement | |
type() type{} | Functional cast | ||
() | Function call | ||
[] | Subscript | ||
. -> | Member access | ||
3 | ++ -- | Prefix increment and decrement | Right-to-left |
+ - | Unary plus and minus | ||
! ~ | Logical NOT and bitwise NOT | ||
(type) | C-style cast | ||
* | Indirection (dereference) | ||
& | Address-of | ||
sizeof | Size-of[note 1] | ||
new new[] | Dynamic memory allocation | ||
delete delete[] | Dynamic memory deallocation | ||
4 | .* ->* | Pointer-to-member | Left-to-right |
5 | * / % | Multiplication, division, and remainder | |
6 | + - | Addition and subtraction | |
7 | << >> | Bitwise left shift and right shift | |
8 | < <= | For relational operators < and ≤ respectively | |
> >= | For relational operators > and ≥ respectively | ||
9 | == != | For relational operators = and ≠ respectively | |
10 | & | Bitwise AND | |
11 | ^ | Bitwise XOR (exclusive or) | |
12 | | | Bitwise OR (inclusive or) | |
13 | && | Logical AND | |
14 | || | Logical OR | |
15 | ?: | Ternary conditional[note 2] | Right-to-left |
throw | throw operator | ||
= | Direct assignment (provided by default for C++ classes) | ||
+= -= | Compound assignment by sum and difference | ||
*= /= %= | Compound assignment by product, quotient, and remainder | ||
<<= >>= | Compound assignment by bitwise left shift and right shift | ||
&= ^= |= | Compound assignment by bitwise AND, XOR, and OR | ||
16 | , | Comma | Left-to-right |
- ↑ The operand of
sizeof
can't be a C-style type cast: the expressionsizeof (int) * p
is unambiguously interpreted as(sizeof(int)) * p
, but notsizeof((int)*p)
. - ↑ The expression in the middle of the conditional operator (between
?
and:
) is parsed as if parenthesized: its precedence relative to?:
is ignored.
When parsing an expression, an operator which is listed on some row of the table above with a precedence will be bound tighter (as if by parentheses) to its arguments than any operator that is listed on a row further below it with a lower precedence. For example, the expressions std::cout << a & b and *p++ are parsed as (std::cout << a) & b and *(p++), and not as std::cout << (a & b) or (*p)++.
Operators that have the same precedence are bound to their arguments in the direction of their associativity. For example, the expression a = b = c is parsed as a = (b = c), and not as (a = b) = c because of right-to-left associativity of assignment, but a + b - c is parsed (a + b) - c and not a + (b - c) because of left-to-right associativity of addition and subtraction.
Associativity specification is redundant for unary operators and is only shown for completeness: unary prefix operators always associate right-to-left (delete ++*p is delete(++(*p))) and unary postfix operators always associate left-to-right (a[1][2]++ is ((a[1])[2])++). Note that the associativity is meaningful for member access operators, even though they are grouped with unary postfix operators: a.b++ is parsed (a.b)++ and not a.(b++))
Operator precedence is unaffected by operator overloading.
Precedence And Assosiativity
Precedence and associativity are compile-time concepts and are independent from order of evaluation, which is a runtime concept.
The standard itself doesn't specify precedence levels. They are derived from the grammar.
const_cast, static_cast, dynamic_cast, reinterpret_cast, typeid, sizeof..., noexcept and alignof are not included since they are never ambiguous.
Some of the operators have alternate spellings (e.g., and for
&&
, or for ||
, not for !
, etc.).
Relative precedence of the ternary conditional and assignment operators differs between C and C++: in C, assignment is not allowed on the right-hand side of a ternary conditional operator, so e = a < d ? a++ : a = dcannot be parsed. Many C compilers use a modified grammar where
?:
has higher precedence than =
, which parses that as e = ( ((a < d) ? (a++) : a) = d ) (which then fails to compile because ?:
is never lvalue in C and =
requires lvalue on the left). In C++, ?:
and =
have equal precedence and group right-to-left, so that e = a < d ? a++ : a = d parses as e = ((a < d) ? (a++) : (a = d)).Common operators | ||||||
---|---|---|---|---|---|---|
assignment | incrementdecrement | arithmetic | logical | comparison | memberaccess | other |
Special operators | ||||||
static_cast converts one type to another related type
dynamic_cast converts within inheritance hierarchiesconst_cast adds or removes cv qualifiers reinterpret_cast converts type to unrelated type C-style cast converts one type to another by a mix of static_cast , const_cast , and reinterpret_cast new allocates memory delete deallocates memory sizeof queries the size of a type sizeof... queries the size of a parameter pack (since C++11)typeid queries the type information of a type noexcept checks if an expression can throw an exception (since C++11)alignof queries alignment requirements of a type (since C++11) |
Subscribe to:
Posts (Atom)