ICT Recap PDF
Document Details
Uploaded by VerifiableCarnelian8826
King's College
Tags
Summary
This document provides a recap of fundamental ICT concepts, including different types of computer software, operating systems, and computer memory. It details the various types of software, memory, translators (compilers, interpreters, and assemblers), number systems (binary, decimal, octal, and hexadecimal), and storage units. It also describes program solving techniques and an overview of BASIC programming.
Full Transcript
# Computer - The word software is used to describe all the programs that can be found on a particular computer. - A program is a set of instructions given to the computer to perform particular functions. The software allows users to operate the computer effectively. ## Types of Computer Software...
# Computer - The word software is used to describe all the programs that can be found on a particular computer. - A program is a set of instructions given to the computer to perform particular functions. The software allows users to operate the computer effectively. ## Types of Computer Software Computer software is grouped into two: 1. **System Software:** A system software is a set of instructions given to the computer to guide it in performing tasks that are general in nature (e.g., copying files, sorting files, deleting files). In general, system software makes our computer work. - Examples of system software: - PC-DOS - MS-DOS - Windows - Unix - Zenix 2. **Application Software:** Application software is a program meant to tackle peculiar problems in certain applications (e.g., solve mathematical problems, calculate, etc.). This is why application software is often referred to as apps. - Examples of application software: - Microsoft Word - Word Star - Word Perfect - Microsoft Excel - Lotus 1-2-3 - Corel Draw - Draw Perfect - Harvard Graphics - Print Master Plus - Auto CAD ## Operating Systems - The operating system is the software program that is responsible for controlling the hardware resources of the computer. It takes control after the computer is started. - The operating system determines the types of commands that are used in the system. - It is usually supplied by the computer manufacturer or his agent (computer vendors). - It comes in the form of operating systems, translators, and writing programs, depending on what they are meant to do. ### Types of Operating Systems 1. **Real-Time Operating Systems:** It is an operating system which rapidly switches between tasks. Real-time operating systems are used to control machinery, scientific instruments, and industrial systems. 2. **Single User Single Task:** It is an operating system design managing the computer so that one user can effectively do one thing at a time. 3. **Single User Multi-Tasking:** It is designed to manage the computer so that one user can effectively do one thing at a time. 4. **Multi-User:** Permits many users to take advantage of the computer resources simultaneously. 5. **Distributed Operating System:** Manages a group of independent computers and makes them appear to be a single computer. ## Functions of Operating Systems - The operating system has the following functions: 1. **Starting up of the system (boot).** 2. **Resource Allocation.** 3. **Monitoring of system activities/operations.** 4. **File Management.** 5. **User interface (GUI) Graphic user interface and (TUI) text user interface.** - Examples of operating systems: - Windows-7, 10, NT, Ultra, etc - DOS (Disk Operating System) - Linux - UNIX - ZENIX - Mac (Apple, not PC) ## Computer Memory - Computer memory is a place where the computer stores data and instructions. - The memory of a computer is actually defined by the capacity and volume of data and instructions that the computer can store. ### Types of Computer Memory - There are two categories of computer memory: 1. **Main Memory/Primary/Internal Memory**. 2. **Hard/Secondary/External Memory**. ### Main Memory - The main memory is used to store incoming data and instructions that are currently being used. - The main memory is volatile, meaning that it loses its contents when the system is switched off. #### Kinds of Main Memory - There are two main types of main memory: 1. **RAM (Random Access Memory):** This is the part of the main memory that stores information temporarily. RAM is volatile and loses its contents when the system is switched off because it uses a small electric charge in capacitors to store data. - There are several types of RAM: - **SRAM (Static RAM):** Fast, uses flip-flops. - **DRAM (Dynamic RAM):** Slower, uses capacitors. - **SDRAM (Synchronous DRAM):** Faster than DRAM. 2. **ROM (Read Only Memory):** This is the part of main memory that stores the manufacturer's instructions which control the CPU's special operations. The ROM is non-volatile and does not lose its contents when the system is turned off. It is mainly used at the time of the system's booting. ### Secondary Memory - Secondary memory is an additional memory used to store large amounts of information outside the main memory. - Secondary memory is non-volatile, meaning that it doesn't lose its contents when the system is switched off. It is a backup for the main memory. - The most common secondary memory is hard disk drives (HDDs) and solid state drives (SSDs). #### Example - If you add a hard disk drive to a microcomputer, it will provide backing memory. - The most common backing storage media are: 1. **Hard disk.** 2. **Magnetic disk.** 3. **Floppy disk.** 4. **CD Roms.** 5. **Zip disk.** 6. **USB flash drive.** 7. **Memory card.** ## Translators - A translator converts programs and other instructions into a form a computer can understand.  ### Types of Translators 1. **Compiler:** A compiler reads the entire program written in a high-level language and translates it into machine language in one go, after which the program can be run. 2. **Interpreter:** An interpreter translates the high-level instructions one by one into machine language and executes each instruction as it is translated. 3. **Assembler:** This translator translates a program written in low-level language into machine language. This program is then executable. - Compilers and interpreters are considered high-level language translators, whereas assemblers are considered low-level language translators. ### Examples of high-level languages 1. **FORTRAN (Formula Translator)**: Used for scientific and mathematical applications. 2. **COBOL (Common Business Oriented Language):** Used for business and commercial applications. 3. **BASIC (Beginners All-purpose Symbolic Instruction Code):** An easy-to-learn language commonly used for educational purposes. 4. **ALGOL (ALGOrithmic Language):** Used for developing algorithms and numerical computation. 5. **C++:** A widely used language for object-oriented programming. 6. **Java:** A popular language used for web applications and mobile development. 7. **HTML (Hyper Text Markup Language):** Used for creating web pages (front-end development). ## Number Systems - A number system is a set of rules to represent numbers. - There are many different number systems, but the most common ones are: 1. **Binary (Base 2):** Numbers are represented using only two digits: 0 and 1. This is the system used by computers. 2. **Decimal (Base 10):** Numbers are represented using ten digits: 0,1,2,3,4,5,6,7,8, and 9. This is the system we use in everyday life. 3. **Octal (Base 8):** Numbers are represented using eight digits: 0, 1, 2, 3, 4, 5, 6, and 7. 4. **Hexadecimal (Base 16):** Numbers are represented using sixteen digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F. - The memory inside the computer is constructed in terms of bits, bytes, nibbles, and words. ### Bits - A bit is the smallest unit of data inside a computer. It is a binary digit that can be either 0 or 1. ### Bytes - A byte is made up of 8 bits. ### Nibbles - A nibble represents 4 bits or half a byte. ### Word - A word is made up of 16 bits, or 2 bytes. ### Converting Between Binary and Decimal - **Binary to Decimal:**  - To convert a binary number to a decimal number, expand the number and multiply each digit by its power of 2. For example, 11011 in binary is equal to ( 1x2^4 + 1x2^3 + 0x2^2 + 1x2^1 + 1x2^0 ) which is equal to 16 + 8 + 0 + 2 + 1 = 27. - Another way to convert a binary number to decimal is to use the following steps: 1. **Start from the rightmost digit.** 2. **For every digit, write the power of 2 corresponding to its position.** 3. **Multiply the digit by its corresponding power of 2.** 4. **Add the products from step 3 to get the decimal number.** - **Decimal to Binary:** - To convert a decimal number to a binary number, repeatedly divide the decimal number by 2 and record the remainder. For example, to convert 30 to binary: - 30/2 = 15 remainder 0 - 15/2 = 7 remainder 1 - 7/2 = 3 remainder 1 - 3/2 = 1 remainder 1 - 1/2 = 0 remainder 1 - The remainder will be the bits of the binary number. Reading the remainders from bottom to top, the binary representation for 30 is 11110. ### Converting Between Octal and Decimal - **Octal to Decimal:** - To convert an octal number to a decimal number, multiply each digit by its power of 8 and add the results together. For example, 123 octal is equal to ( 1 x 8^2 + 2 x 8^1 + 3 x 8^0) which is equal to 64 + 16 + 3 = 83. - **Decimal to Octal:** - To convert a decimal number to an octal number, repeatedly divide the decimal number by 8 and record the remainders. For example, to convert 100 to octal: - 100 / 8 = 12 remainder 4 - 12 / 8 = 1 remainder 4 - 1 / 8 = 0 remainder 1 - The remainders will be the digits of the octal number. Reading the remainders from bottom to top, the octal representation for 100 is 144. ### Converting Between Hexadecimal and Decimal - **Hexadecimal to Decimal:** - To convert a hexadecimal number to a decimal number, multiply each digit by its power of 16 and add the results together. For example, 2A in hexadecimal is equal to ( 2 x 16^1 + 10 x 16^0) which is equal to 32 + 10 = 42. - **Decimal to Hexadecimal:** - To convert a decimal number to a hexadecimal number, repeatedly divide the decimal number by 16 and record the remainders. For example, to convert 280 to hexadecimal: - 280 / 16 = 17 remainder 8 - 17 / 16 = 1 remainder 1 - 1 / 16 = 0 remainder 1 - The remainders will be the digits of the hexadecimal number. Reading the remainders from bottom to top, the hexadecimal representation for 280 is 118. ### Units of Storage in a Computer - Here is a table of common units of storage in a computer: | Unit | Symbol | Value | |---------|--------|-------------------| | Bit | | 0 or 1 | | Nibble | | 4 bits | | Byte | B | 8 bits | | Word | | 16 bits (2 bytes) | | KB | KB | 1024 bytes | | MB | MB | 1024 KB | | GB | GB | 1024 MB | | TB | TB | 1024 GB | ### Converting Between Storage Units - Here are some conversion formulas for common units of storage: - 8 bits = 1 byte - 1000 bytes = 1 kilobyte (KB) - 1000 KB = 1 megabyte (MB) - 1000 MB = 1 gigabyte (GB) - 1000 GB = 1 terabyte (TB) ## Program Solving Skills - Here are some common techniques for solving problems in a computer programming context: 1. **Algorithm:** A step-by-step procedure for solving a task, written in a human-readable language. 2. **Flowchart:** A visual representation of an algorithm using standard symbols to show the steps involved in solving a problem. There are standard symbols for different functions like start/stop, input/output, processing, decision, connector, etc. ## BASIC Programming  - BASIC stands for **Beginner's All-purpose Symbolic Instruction Code**. - It is a simple programming language designed for beginners, but it can also be used to write powerful programs. - BASIC is commonly used for educational purposes, but it can also be used to create more complex programs. ### History of BASIC - BASIC was developed by John Kemeny and Thomas Kurtz at Dartmouth College in the 1960s. - It was originally designed as a simple way for students to learn how to program computers. - It quickly became popular and has been used in a wide variety of applications, including educational software, games, and business applications. ### Versions of BASIC - There are several versions of BASIC, including: 1. **Turbo BASIC:** An early version of BASIC that was popular on IBM-compatible PCs. 2. **QBasic (Quick BASIC):** A version of BASIC designed for IBM-compatible PCs. 3. **Visual BASIC (VBASIC):** A more advanced version of BASIC that is used to create graphical user interfaces. 4. **FreeBASIC:** A modern, open-source version of BASIC. ## BASIC Character Set - BASIC uses a limited set of characters to create programs. These characters are divided into several categories: 1. **Numbers:** `0, 1, 2, 3, 4, 5, 6, 7, 8, 9` 2. **Alphabets:** `A, B, C, ..., X, Y, Z` 3. **Special Characters:** `,` `;` `:` `+` `-` `*` `/` `=` `<` `>` `"` `' ` `&` "\#" "\$" "@" "\%" "\_" etc. 4. **Data constants and data variables.** ## BASIC Statements - BASIC programs consist of a series of statements that are executed in a specific order. Each line in a BASIC program begins with a line number. The program will be executed in the order of these line numbers. - The syntax of BASIC statements is typically straightforward. Most statements have the following structure: - **Keyword:** The keyword tells the BASIC interpreter what to do. - **Variables**: Variables are used to store data in BASIC programs. - **Constants**: Constants are numerical values that do not change in a program. ### Common BASIC Keywords - Most BASIC programs use common keywords to execute various commands. Here are some of the keywords and what they do: 1. **CLS:** Clears the display screen. 2. **REM (Remarks):** This statement doesn't execute, it's only for adding comments and description to the program. 3. **LET:** Assigns a value to a variable. 4. **READ:** Reads data from a DATA statement. 5. **INPUT:** Prompts the user to enter data. 6. **DATA:** Defines a list of data values. 7. **PRINT:** Prints output on the screen. 8. **END:** Ends a BASIC program. ## Example of a BASIC Program - This program calculates the sum of two numbers: ```basic 5 CLS 10 REM A PROGRAM TO CALCULATE THE SUM OF TWO NUMBERS 20 INPUT A 30 INPUT B 40 SUM = A + B 50 PRINT SUM 60 END ``` - This program will first clear the screen (CLS). It will then prompt the user to enter two numbers (INPUT A, INPUT B). These numbers will be stored in variables A and B. Then, it will calculate the sum (SUM = A + B) and display the sum on the screen (PRINT SUM). Finally, it will end the program (END). ## The Steps for Writing a BASIC Program - Here are the steps involved in creating a BASIC program: 1. **Problem Definition:** Define the problem you are trying to solve. 2. **Planning the Solution:** Determine the steps necessary to solve the problem. 3. **Coding:** Writing the program using BASIC statements. 4. **Testing:** Running the program to check if it works correctly and fix any error discovered. 5. **Documenting:** Create documentation for the program to help others understand it. ## Rules for Writing BASIC Programs - Here are some rules for writing a BASIC program: 1. **All expressions must be written in capital letters.** 2. **The first character of a BASIC statement or keywords should be an alphabet.** 3. **Each BASIC statement should start with a line number.** 4. **Each line should contain only one BASIC statement.** 5. **A period (.) should not be used at the end of the statement.** 6. **The program should end with an END statement.** 7. **The END statement is the last statement executed in a program.** 8. **Spaces should be inserted to make your program more readable.** ## BASIC Character Set - The BASIC character set includes the following elements: 1. **Numbers:** 0 through 9. 2. **Alphabets:** A through Z. 3. **Special Characters.** This includes symbols, punctuation marks, and special symbols that represent operations like addition, subtraction, multiplication, and division, as well as operators like "less than," "equal to," and "greater than." 4. **Data Constants and Data Variables.** Constants store fixed values, for example, a number like `10`, while variables represent data that may change during a program. ## Flowchart Symbols - Flowcharts are a way of representing a program visually so that the algorithm can be better visualized and understood.  - Here is a table of common flowchart symbols and their descriptions: | Symbol | Description | |--------------------|---------------------------------------------------------------------------------------------------| | **Terminator (🫙 )** | Indicates the start or end of a flowchart. | | **Input/Output (◫)**| Represents an action that involves reading data from an input device or writing data to an output device. | | **Process (🫙)** | Represents an action or a sequence of actions that transforms data. | | **Decision (🫙)** | Represents a condition that determines which path to take in the flowchart. | | **Flowline (🫙 )** | Shows the sequence of steps in a flowchart and uses arrowheads directing towards the next step. | | **Connector (🫙)** | Allows the flowline to jump from one part of the chart to another or to indicate continuation. | | **Preparation (🫙)** | Represents the declaration and initialization of variables and other data. | **Predefined process (🫙)** | Represents a process which is defined elsewhere or is a standard function. | ## Example of a Flowchart - This flowchart shows how to add two integers from 1 to N: 1. **Start.** The program begins execution. 2. **Set SUM to 0.** The variable SUM is initialized to store the sum. 3. **Set X to 1.** The variable X is initialized as a counter, usually representing the number to be added to the sum. 4. **Is X less than or equal to N?**. This is the condition where we check if X is within the given range. - **Yes:** If X is less than or equal to N, then the program continues the loop. - **No:** If X is greater than N, the program jumps to the step of printing SUM. 5. **Set SUM to SUM + X**. The sum is updated by adding X to the current value of SUM. 6. **Set X to X+1**. The counter, X, is incremented by 1 for the next iteration of the loop. 7. **Repeat steps 4, 5, and 6.** The program will go back to step 4 ("is X less than or equal to N?") and continue the loop until X becomes greater than N. 8. **Print SUM**. The sum is printed after the loop has completed. 9. **Stop.** The program has finished its execution. - **This is a simple example, but it demonstrates the basic concepts of flowcharts.** ### Further development - The concepts of computing, such as operating systems, memory, number systems, and programming, are fundamental to understanding how computers work. - This document provides a basic overview of these topics. - If you want to learn more, there are many resources available online and in libraries. ### Conclusion - Understanding the concepts presented in this document will help you better understand how computers work at a basic level. By learning about computer hardware, software, and programming, you can develop a deeper understanding of how these complex machines operate.