diff --git a/Notes/PPS/Computer_System_Components/Input_and_Output.md b/Notes/PPS/Computer_System_Components/Input_and_Output.md new file mode 100644 index 0000000..ad35749 --- /dev/null +++ b/Notes/PPS/Computer_System_Components/Input_and_Output.md @@ -0,0 +1,89 @@ +# Input Devices + +Input devices are the devices that are used to send signals to the computer for performing tasks. The receiver at the end is the CPU (Central Processing Unit), which works to send signals to the output devices. Some of the classifications +of Input devices are: +• **Keyboard Devices** +• **Pointing Devices** +• **Composite Devices** +• **Game Controller** +• **Visual Devices** +• **Audio Input Devices** + +## Keyboard +- Keyboard is the most common and very popular input device which helps to input data to the computer. The layout of the keyboard is like that of traditional typewriter, although there are some additional keys provided for performing additional functions. +- Keyboards are of two sizes 84 keys or 101/102 keys, but now keyboards with 104 keys or 108 keys are also available for Windows and Internet. + +## Mouse +- Mouse is the most popular pointing device. It is a very famous cursor-control device having a small palm size box with a round ball at its base, which sensthe movement of the mouse and sends corresponding signals to the CPU when the mouse buttons are pressed. Generally, it has two buttons called the left and the right button and a wheel is present between the buttons. A mouse can be used to control the position of the cursor on the screen, but it cannot be used to enter text into the computer. + +## Joystick +- Joystick is also a pointing device, which is used to move the cursor position on a monitor screen. It is a stick having a spherical ball at its both lower and upper ends. The lower spherical ball moves in a socket. The joystick can be moved in all four directions. +- The function of the joystick is similar to that of a mouse. +- It is mainly used in Computer Aided Designing (CAD) and playing computer games. + +## Light Pen +- Light pen is a pointing device similar to a pen. It is used to select a displayed menu item or draw pictures on the monitor screen. It consists of a photocell and an optical system placed in a small tube +- .When the tip of a light pen is moved over the monitor screen and the pen button is pressed, its photocell sensing element detects the screen location and sends the corresponding signal to the CPU. + +## Track Ball +- Track ball is an input device that is mostly used in notebook or laptop computer, instead of a mouse. +- There is a ball which is half inserted and by moving fingers on the ball, the pointer can be moved.Since the whole device is not moved, a track ball requires less space than a mouse. +- A track ball comes in various shapes like a ball, a button, or a square.\ + +## Scanner +- Scanner is an input device, which works more like a photocopy machine. +- It is used when some information is available on paper and it is to be transferred to the hard disk of the computer for further manipulation.Scanner captures images from the source which are then converted into a digital form that can be stored on the disk. These images can be edited before they are printed. + +## Digitizer +- Digitizer is an input device which converts analog information into digital form. +- Digitizer can convert a signal from the television or camera into a series of numbers that could be stored in a computer. +- They can be used by the computer to create a picture of whatever the camera had been pointed at. +- Digitizer is also known as Tablet or Graphics Tablet as it converts graphics and pictorial data into binary inputs. A graphic tablet as digitizer is used for fine works of drawing and image manipulation applications. + +## Microphone +- Microphone is an input device to input sound that is then stored in a digital form. +- The microphone is used for various applications such as adding sound to a multimedia presentation or for mixing music. + +## Magnetic Ink Card Reader (MICR) +- MICR input device is generally used in banks as there are large number of cheques to be processed every day. +- The bank's code number and cheque number are printed on the cheques with a special type of ink that contains particles of magnetic material that are machine readable.This reading process is called Magnetic Ink Character Recognition (MICR). +- The main advantages of MICR is that it is fast and less error prone. + +## Optical Character Reader (OCR) +- OCR is an input device used to read a printed text. +- OCR scans the text optically, character by character, converts them into a machine readable code, and stores the text on the system memory. + +## Bar Code Readers +- Bar Code Reader is a device used for reading bar coded data (data in the form of light and dark lines). +- Bar coded data is generally used in labelling goods, numbering the books, etc. +- It may be a handheld scanner or may be embedded in a stationary scanner. +- Bar Code Reader scans a bar code image, converts it into an alphanumeric value, which is then fed to the computer that the bar code reader is connected to. + +## Optical Mark Reader (OMR) +- OMR is a special type of optical scanner used to recognize the type of mark made by pen or pencil. +- It is used where one out of a few alternatives is to be selected and marked. + + +# Output devices +- Output Devices are the devices that show us the result after giving theinput to a computer system. Output can be of many different forms like image, graphic audio, video, etc. Some of the output devices are described below. + +## Monitors +- The computer monitors are responsible for displaying the +results received after processing and completing all the operations in the +central processing unit. The technology in designing the display devices +has evolved from monochrome monitors to colored monitors to the latest +LED/LCDs. + +## Printers +- Printers are another output device, similar to monitors, but the difference is that the output data received are produced into hard copies. +- The performance standards of the printer device are qualified based on the processing speed, the printing resolution, the processing memory capacity, printing color feature, etc. + +## Speaker +- Speakers are used for obtaining the audio formatted output data, which comes with various extensions like.MP3, MPEG, .WMA, etc. +- This device aids in sending out audible alerts to the user, accessing the data with music or audio, communication systems, etc. + +## Projector +- A projector is a device that permits the users to project their output in a large area or a large screen. +- Users can use it to display the results of a computer and other devices onto a screen. +- It heightens texts, images, and films employing light and lenses. +- As a result, it becomes an ideal output device for providing presentations or teaching many audiences. diff --git a/Notes/PPS/Computer_System_Components/Language_processors.md b/Notes/PPS/Computer_System_Components/Language_processors.md new file mode 100644 index 0000000..48d6103 --- /dev/null +++ b/Notes/PPS/Computer_System_Components/Language_processors.md @@ -0,0 +1,141 @@ +# Low Level Language + +## Definition:- + +- In computer science, a low-level programming language isa programming language that provides little or no abstraction from a computer's instruction set architecture-commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language. +- Low-level language is a programming language that deals with a computer's hardware components and constraints. +- Low-level language may also be referred to as a computer's native language. +- Machine language and assembly language are popularexamples of low level languages. + +# High Level Language + +## Definition: + +- A high-level language is a programming language such as C, FORTRAN, or Pascal that enables a programmer to write programs that are more or less independent of a particular type of computer. +- Such languages are considered high-level because they are closer to human languages and further from machine languages. +- High-level language is any programming language that enables development of a program in much simpler programming + +# Assembly Language + +## Definition: + +- A low level language that is similar to machine language. +- Uses symbolic operation code to represent the machine operation code. + +# Language Processor Or language Translator + +## Definition: +- A translator is a computer program that performs the translation of a program written. in a given programming language into a functionally equivalent program in a different computer language, without losing the functional or logical structure of the original code (the "essence" of each program) Programming language processor (assembler, compiler, or interpreter) that converts a computer program written in one language to another language. + +## Types of Language Processors + +The language processors can be any of the following three types: +1. Compiler +2. Interpreter +3. Assembler + +## Compiler +- A compiler is a computer program that transforms source code written in programming language into another computer language. Typically from high level to low level source code. In a compiler, the source code is translated to object code successfully if it is free of errors. The compiler specifies the errors at the end of the compilation with line numbers when there are any errors in the source code. The errors must be removed before the compiler can successfully recompile the source code again the object program can be executed number of times without translating it again. +- For example C + + ```mermaid +flowchart LR; + A[Source code]-->B{Compiler} + B-->C[Object code] +``` + +## Interpreter +- The translation of a single statement of the source program into machine code is done by a language processor and executes immediately before moving on to the next line is called an interpreter. If there is an error in the statement, the interpreter terminates its translating process at that statement and displays an error message. The interpreter moves on to the next line for execution only after the removal of the error.An interpreter translates one line at a time and then executes it. +- Example: Perl, Python and Matlab. + + ```mermaid +flowchart LR; + A[Source code /High Level Programming Language]-->B[Interpreter] + B-->C[Executable Code/Machine Code/Output] + C-->D[Get Next Instruction] + D-->A +``` + +## Assembler +- The Assembler is used to translate the program written in Assembly language into machine code. Assembly language is some sort of instructions like ADD, MUL, MUX and so on, and the assembler is basically able to convert these in binary code. +- For example, the architecture of intel 8085 and intel 8086 are different. + + +```mermaid +flowchart LR; + A[Source code]-->B{Assembler} + B-->C[Object code] +``` + +# Linker +- A linker is special program that combines the object files, generated by compiler/assembler and other pieces of code to originate an executable file has .exe extension. In the object file, linker searches and append all libraries needed for execution of file. It regulates the memory space that will hold the code from each module. It also merges two or more separate object programs and establishes link among them. + +# Loader +- It is special program that takes input of executable files from linker, loads it to main memory, and prepares this code for execution by computer. +- Loader allocates memory space to program. It is in charge of loading programs and libraries in operating system. The embedded computer systems don't have +loaders. In them, code is executed through ROM. + +```mermaid +flowchart LR; + A>SOURCE CODE]-->B[Compiler] + B-->C[Assembler] + C-->D[Linker] + D-->E[Loader] + E-->F[Memory] +``` + +# Difference between COMPILER and Interpreter + + +# Compiler vs Interpreter + +| Characteristics | Compiler | Interpreter | +| --- | --- | --- | +| Code Conversion | Converts entire source code to machine code | Translates source code line by line | +| Analysis Time | Longer analysis time | Shorter analysis time | +| Execution Time | Faster execution time | Slower execution time | +| Error Handling | Error messages after scanning entire program | Error messages during translation | +| Debugging | Harder debugging | Easier debugging | +| Memory Requirements | More memory required | Less memory required | +| Intermediate Code | Generates object code | No intermediate code | +| Security | More secure | Less secure | +| Examples | C, C++, C# | Python, Perl, JavaScript | + +## Key Differences + +### Compiler + +* Converts entire source code to machine code before execution +* Longer analysis time, faster execution time +* Harder debugging, more memory required +* Generates object code, more secure + +### Interpreter + +* Translates source code line by line during execution +* Shorter analysis time, slower execution time +* Easier debugging, less memory required +* No intermediate code, less secure + +# Difference between LINKER and LOADER + + +# Linker vs Loader + +| **Characteristics** | **Linker** | **Loader** | +| --- | --- | --- | +| **Main Function** | Generate executable files | Load executable files to main memory | +| **Input** | Object code generated by compiler/assembler | Executable files generated by linker | +| **Process** | Combine various pieces of code and source code to obtain executable code | Load executable codes to main memory for further execution | +| **Types** | Linkage Editor, Dynamic Linker | Absolute, Relocating, Direct Linking, Bootstrap | +| **Additional Responsibilities** | Combine object modules, allocate addresses, arrange objects in address space | Adjust references used within the program | +| **Definition** | Process of combining code and source code to obtain executable code | Process of loading executable codes to main memory for further execution | + + + + + + + + + diff --git a/Notes/PPS/Computer_System_Components/Memory_and_Storage_Devices.md b/Notes/PPS/Computer_System_Components/Memory_and_Storage_Devices.md new file mode 100644 index 0000000..3cfde9f --- /dev/null +++ b/Notes/PPS/Computer_System_Components/Memory_and_Storage_Devices.md @@ -0,0 +1,184 @@ +# Memory and storage devices of Computer System + +## Computer System + +A Computer is an electronic device that stores, manipulates and retrieves the data. We can also refer computer computes the information supplied to it and generates data. + +A System is a group of several objects with a process. For Example: Educational System involves teacher, students (objects). Teacher teaches subject to students i.e. teaching (process). + +Similarly a computer system can have objects and process. The following are the objects of computer System +1. User ( A person who uses the computer) +2. Hardware +3. Software + +## Hardware + +Hardware of a computer system can be referred as anything which we can touch and feel. Example Keyboard and Mouse. + +*The hardware of a computer system can be classified as* + +1. Input Devices(I/P) +2. Processing Devices (CPU) +3. Output Devices(O/P) + +## CPU (Central Processing Unit) + +CPU is considered as the brain of the computer. CPU performs all types of data processing operations. It stores data, intermediate results and instructions (program).It controls the operation of all parts of computer. After receiving data +and commands from users, a computer system now has to process it according to the instructions provided. Here, it has to rely on a component called the central processing unit. + +*CPU itself has following three components* + +1. **ALU(Arithmetic Logic Unit)** - This part of the CPU performs arithmetic operations. It does basic mathematical +calculations like addition, subtraction, division, multiplication, etc. Further, it can even perform logical functions like the comparison of data. This unit controls the operations of all parts of computer. It does not carry out any actual data processing operations. + +*Functions of this unit are* + +- It is responsible for controlling the transfer of data and instructions among +other units of a computer. +- It manages and coordinates all the units of the computer. +- It obtains the instructions from the memory, interprets them and directs the +operation of the computer. +- It communicates with Input/Output devices for transfer of data or results +from storage. +- It does not process or store data. + +3. **Control Unit** - This unit is the backbone of computers. It is responsible for coordinating tasks between all components of a computer system. The control unit collects data from input units and sends it to processing units depending on its nature. Finally, it also further transmits processed data to output units for users. This is the most intricate +unit in the processing component of the computer system, which accepts the raw data from the input components, and carries out the activities in a controlled format, in accordance with the directions provided by the computer operators. This is another unit of hardware module located inside the central processing unit. + +4. **Memory unit (MU)** - Memory is a storage part in a computer system. It is used to store the data, information and programs at the time of processing on the computer. It stores data either temporarily or permanent. The main use of memory is saving and retrieving data.The Memory unit is used for storing the data. + +*The Memory unit is classified into three types* + +1) Primary Memory +2) Secondary Memory +3) cache memory + + ```mermaid +flowchart TB; + A[Memory]-->B[Primary] + A-->C(Secondary +- FDD +- HDD +- DVD +- PENDRIVE) +B-->D(ROM +- PROM +- EPROM +- EEPROM) +B-->E(RAM +- SRAM +- DRAM) + + +``` + +## Primary memory + +It is called the internal memory of the computer. And it is also known as main memory or Temporary memory. It holds the data and instructions that are presently working on the system or by the CPU. Primary Memory is called volatile memory, because when power is switched off it loses all data. + +Primary memory is generally of two types. + +1. **RAM** - It stands for Random Access Memory. RAM is a read /writes memory. It is referred as main memory of the computer system. It is a temporary memory. The information stored in RAM is lost whenever the power supply to the computer is switched off. + +RAM is of two types which are as follows - + +- *Static RAM* − Static RAM also known as SRAM. In this RAM the information is stored as long as the power supply is ON. SRAM are of higher coast and consume more power .They have higher speed than Dynamic RAM + +- *Dynamic RAM* − Dynamic RAM also known as DRAM, This type of RAM stores information in a very short time basically, a few milliseconds even though the power supply is ON. The Dynamic RAM is cheaper and of moderate speed and also they consume less power. + + +2. **ROM** - It stands for Read Only Memory. ROM is a permanent type of memory. ROM information is not lost when power supply is switched off. The Content of ROM is inserted by the computer manufacturer and permanently stored at the time of manufacturing. ROM cannot be overwritten by the computer. It is also called Non- Volatile Memory. + +ROM is of three types which are as follows - + +- *PROM (Programmable Read Only Memory)* − It is used to write data once and read many. Once a chip has been programmed, the recorded information cannot be changed. It is a non-volatile memory. + +- *EPROM (Erasable Programmable Read Only Memory)* − EPROM chip can be programmed by erasing the information stored earlier in it. Information stored in EPROM exposing the chip for ultraviolet light. + +- *EEPROM (Electrically Erasable Programmable Read Only Memory)* − It is programmed and erased by special electrical waves in milliseconds. A single byte of data or the entire contents of the device can be erased. + +## Difference between RAM and ROM + +| DIFFIERENCE | RAM | ROM | +| ------------| ---------- | ---------| +|Data Retention | RAM is a volatile memory which could store the data as long as the power is supplied | ROM is a non-volatile memory which could retain the data even when the power is turned off | +| Working Type | Data stored in RAM can be retrieved and altered | Data stored in ROM can only we read | +| Use | Used to store the data that has to be currently processed by CPU temporary | It stores the instructions require during bootstrap of the computer| +| Speed | It is a high speed memory | It is much slower than RAM | +| CPU intreaction | The CPU can access the data stored on it | The CPU cannot access the data stored on it unless the data is stored in RAM | +|Size and capacity | Small size with less capacity | Large size with higher capacity | +| Used as/in | CPU age, primary memory | Firmware, micro-controller | +| Accessibility | The data store is easily accessible | The data storage not as easily accessible as in RAM | +|Cost | Costlier | Cheaper than RAM | +| stroage | RAM chip can store only a few megabytes (MB) of data | ROM chip can store multiple gigabytes (GB) of data | + + +## Secondary Memory + +It is an external memory of the computer. It is also known as Auxiliary memory or permanent memory. It is used to store different programs and the information permanently. We call it a non-volatile memory that means the data is stored permanently even if power is switched off. + +The secondary storage devices are as follows + +- Floppy Disks +- Magnetic (Hard) Disk +- Magnetic Tapes +- Pen Drive +- Winchester Disk +- Optical Disk (CD, DVD) + +## Storage Devices + +1. **Magnetic Storage Devices**- In the Magnetic storage devices, all data are stored with using magnetized medium, and those types of data saved in that medium in the binary form like as 0 and 1. This magnetic storage has also non-volatile storage nature. These storage devices are not more costly but their data accessing power is slow, but this magnetic mechanism also to be used in the RAM that have good data accessing power to other. + +*Examples of magnetic storage devices are -* + +- Floppy diskette +- Hard drive +- Magnetic strip +- SuperDisk +- Tape cassette +- Zip diskette + +2. **Optical Storage devices** - In the optical storage devices, all read and write activities are performed by light. All recording information stores at an optical disk. As per the opinions of data scientist that compact space is most useful for huge data storage. Their big advantages are not more costly, light weight, and easy to transport because it is +removable device unlike hard drive. + +*Examples of Optical Storage devices are -* + +- Blu-ray disc +- CD-ROM disc +- CD-R and CD-RW disc. +- DVD-R, DVD+R, DVD-RW, and DVD+RW disc. + +*Following are some optical storage devices -* + +1. **Flash memory devices-** Flash Memory was introduced by Dr. Fujio Masuoka in 1980. Flash memory is also known as electronically erasable programmable read only memory (EEPROM), because in which piece of code like as programming can be write and erased by electrically. Flash memory also uses for the storing data to computers as well as electronic devices such as USB flash drives, MP3 players, digital cameras and solid-state drives. Flash memory is non volatile in nature +because all data are persisted in the memory when power is turn-off. + +*Examples of flash memory devices are-* + +- USB flash drive, jump drive, or thumb drive. +- CF (CompactFlash) +- M.2 +- Memory card +- MMC +- NVMe +- SDHC Card +- martMedia Card +- ony Memory Stick +- SD card +- SSD +- xD-Picture Card + +2. **Online cloud system** -Online Cloud System Clouding issystematically model forstoring data in computer, and in which entire data are stored in logically nature. Those clouding system are managed by other hosting companies. With the help of online clouding, all data can be access by couples of users anytime and anywhere. Big advantages are not place limitation as well as no need carry any storage device. + +*There are some types-* + +- Cloud storage +- Network media + + + + + + + diff --git a/Notes/PPS/Computer_System_Components/Software.md b/Notes/PPS/Computer_System_Components/Software.md new file mode 100644 index 0000000..c0afb4c --- /dev/null +++ b/Notes/PPS/Computer_System_Components/Software.md @@ -0,0 +1,81 @@ +# Software + +```mermaid +flowchart LR; + A[Software]-->B[System Software] + A-->C[Application Software] + B-->D[Operating System] + B-->E[Language Processors and\nDevice Driver Eg:- Interactive\ncompiler] + C-->F[General Purpose Software Ex: MS Word, \nMS Powerpoint, MS Excel,etc.] + C-->G[Customized Software Eg: Railway tickets,\nReservation Systems] +``` + +Software is a collection of instructions or commands computer program that is used to run machine and carry out any function. It is computer program that provides set of instruction to execute computer commands. + +## System Software +It is software that directly operates the computer hardware and provides the basic functionality to the user as well as to other softwares to operate smoothly. It basically controls computers interfunctioning and also control hardware device such as monitor, printer, etc. It is an interface between hardware and user application. + +### Features of System Software + +1. **Speed:** It is optimized for rapid operation to provide an efficient platform for higher-level software. + +2. **Complexity:** System software is generally more challenging to manipulate due to its lower-level nature and close interaction with hardware components. + +3. **Language:** System software is written in low-level languages so the CPU or other hardware can understand it. + +4. **Small in size:** The size of software is small compared to all other applications. + +5. **Close to the system:** It is directly connected to the hardware and enables them to run. + +### Types of System Software + +#### Operatiing System +It is a main program of computer system when the computer system is on. It is the first software that leads into Computer memory. Basically it manages Computer memory, CPU, printer, all the resources. +_Example_: Windows, Linux, Mac OS, etc. + +#### Language Processor +It consist of human readable language into a machine language and vice-a-versa. It converts program written in high level languages such as Java, C, CPP, Python, etc. into set of instructions that are easily readable by machine source code. + +#### Device Driver +It is a program or software that controls and have that device. Every device like printer, Mouse and modem needs a driver to connect with computer system externally. + +## Application Software + +### Features of Application Software + +1. **User-friendly Interface:** Application software is designed to be user-friendly & intuitive, making it easy for users to navigate & perform tasks. + +2. **Customization:** Many applications allow users to customize settings & other options to meet their specific needs. + +3. **Data Analysis:** Many applications include data analytics tools, such as spreadsheets or business intelligence tools. + +4. **Productivity tools:** Many application software programs include tools that help users to be more productive, such as calendars or task managers, etc. + +5. **Data storage & retrieval:** Application software is often used to store & retrieve important data such as contacts, documents & other information. + + +### Types of Application Software + +#### General Purpose +They are used for variety of task and it is not limited to specific tasks. +_Example_: MS Office + +#### Utility Software +It is used to support the computer infrastructure. It is designed to analyse, configure, optimise and maintain the system. +_Example_: Antivirus, Disk Manager + +#### Customized Software +It is used or design to perform specific task for function for specific organisation. Example: Airline Ticket Reservation. + +## Difference between System & Application Software + +| Feature | System Software | Application Software | +|---------------------------------|-----------------------------------------------------------|------------------------------------------------------------| +| **Purpose** | Manages and controls hardware components and provides a platform for running application software. | Helps users perform specific tasks like word processing, browsing, or gaming. | +| **Examples** | Operating Systems (Windows, macOS, Linux), Device Drivers, BIOS | Word Processors (MS Word), Web Browsers (Chrome, Firefox), Games | +| **Dependency** | Works independently of application software; necessary for running application software. | Depends on system software to function and cannot run without it. | +| **Installation** | Usually comes pre-installed with the device or is installed during system setup. | Installed by the user based on need, either from a physical medium or via download. | +| **Interaction with Hardware** | Directly interacts with hardware components to manage resources like CPU, memory, and storage. | Indirectly interacts with hardware via system software for task execution. | +| **Resource Management** | Handles resource management, including memory allocation, process scheduling, and device management. | Utilizes resources provided by the system software to execute specific tasks. | +| **User Interaction** | Typically runs in the background with minimal direct user interaction; provides an interface for running applications. | Directly interacts with the user through GUIs (Graphical User Interfaces) for task completion. | + diff --git a/Notes/PPS/basics_of_programming/basics_and_flowchart.md b/Notes/PPS/basics_of_programming/basics_and_flowchart.md new file mode 100644 index 0000000..331e1ee --- /dev/null +++ b/Notes/PPS/basics_of_programming/basics_and_flowchart.md @@ -0,0 +1,96 @@ +# Basics of programming + +# Programming +- It is a set or collection of instruction that perform specific task when executed by a computer. + +# Programming Language :- +- It is a formal computer Kanguage designed to communicate instructions to a machine (computer). + +# Algorithm:- +- A process or set of rules to be followed in calculations or other problem solving operation by a Computer + + ```mermaid +flowchart TB; + A[Programming task]-->B[Problem solving +phase] + A-->C[Implimentation +phase] + C-->D[Impliment the program +in some programming +Language] + B-->E[ Sequence of steps to +describe solution of problem] +``` +# Steps to solve Logical and Numerical problem + + + ```mermaid +flowchart TB; + A[Problem Statement]-->B[Focus on Problem] + B-->C[Describe Problem] + C-->D[Plan the Solution] + D-->E[ Execute the Plan] + E-->F[Evaluate the Answer] +``` +# Steps in Problem Solving +- First produce a general algorithm. +- Refine the algorithm to get step by step detailed algorithm + +# Flow Chart +- A general representation of sequence ofM operation in a program. +- It is a picture / graphical representation of problem solving process. +- It gives a step by step procedure for solution of a problem. +# Elements of a flow Chart +## Geometrical proces boxes:- +- It describes steps of solution. +## Arrows:- +- It describes flow of solution. +# Geometrical boxes :- +## Terminal :- +- Oval Shape +- Stop/Start +## Input/Output :- +- Parallelogram +- It describes Input/output. +## Process box :- +- Rectangle +- It describes processing to be performed. +## Decision box :- +- Diamond +- It describes/decide which path to be followed +## Connector box :- +- Circle +- To connect different paths of flow charts +## Arrows :- +- It describes flow of Execution +# Types of flow Chart :- +- Horizontal +- Vertical +- Panoramic +- Architectural + +# Examples of Flow Chart + + ```mermaid +flowchart TB; + A([Start])-->B[/Read 3 Numbers a,b,c/] + B-->C[Compute sum a+b+c] + C-->D[Compute average sum/3] + D-->E[/Print average value /] + E-->F([Stop]) +``` + +# Example of algorithm + +## Design an algorithm to add two No's +- Step 1 :- Start +- Step 2 :- Declare 3 integers a,b,c +- Step 3 :- Define values of a and b +- Step4 :- Add values of a and b +- Step 5:- Store output of step 4 to c +- Step 6:- print c +- Step7:- Stop +# Pseudocode:- +- Artifical / Informal language used to develope algorithm. +- It is similar to everyday english. + diff --git a/Notes/PPS/index.md b/Notes/PPS/index.md new file mode 100644 index 0000000..bdef218 --- /dev/null +++ b/Notes/PPS/index.md @@ -0,0 +1,97 @@ +Changes To be Deeted +# Programming for Problem Solving using C++ + +## SYLLABUS + +|Programme : B. Tech.| **L:** 2 **T:** 0 **P:** 0| +|--------------------|-----------------------------| +|Semester: 1|Teaching Hours: 26 hours| +|Theory/Practical: Theory|Credits: 2| +|Internal Marks: 40|Percentage of Numerical/Design Problems: 60%| +|External Marks: 60|Duration of End Semester Exam (ESE): 3 hours| +|Total Marks: 100|Elective Status: Compulsory| + +**Prerequisites: None** + +**On Completion of the course, the student will have the ability to:** +|CO#|Course Outcomes| +|----------|----------| +|1|Understand the working of computers and to design algorithms for problem solving.| +|2|Formulate algorithms for arithmetic and logical problems.| +|3|Test and execute programs and correct syntax and logical errors.| +|4|Implement conditional branching, iteration and recursion.| +|5|Decompose problems into functions and synthesize complete programs using divide and conquer approach.| +|6|Use arrays and structures to formulate algorithms and programs.| + +### Detailed Contents + +#### Part-A + +Unit-1 Introduction to Computers + + **Computer System Components:** Input and Output Devices, Memory and Storage Devices, +Block diagram of Computer System, Software: System and Application, Operating System with +its types, Compiler, Interpreter, Assembler, Linker, Loader. + +Unit-2 Basics of Programming + + **Idea of Algorithm:** Steps to solve logical and numerical problems. Representation of Algorithm: +Flowchart, Pseudocode with examples. Structure of a C++ Program, Compile and Execute C++ +program, Character Set, Tokens-Identifiers, Keywords, Variables, Literals, Constants, Data +Types, Different types of errors. + +Unit-3 Arithmetic expressions and precedence + + **main() function declaration conventions and Operators:** Assignment Operators, Numeric +operators, Prefix and postfix operators, Short-circuit operators, Bitwise operators, Logical +operators, Relational operators, sizeof operator, Type Conversion, basics of I/O streams +operation, Operator precedence, and associativity. + +Unit-4 Control Structures + + **Conditional Statements:** if, if-else, conditional operator (?:), switch and nested decision +statements; Looping Statements: for, while, do-while, Nested Loops, and Controlling loop +execution keywords: break, continue, goto keyword and labeled statements multiple-selection +keywords: switch, case, default keywords + +#### Part-B + +Unit-5 Functions + + **Functions: Need of functions, Components of Functions, Built-in and User Defined Functions, +Parameter passing in function:** Call by value, Call by reference, Scope rules, Default Arguments, +Function Overloading, Recursion: Base case and recursive case, Recursion versus Iteration. + +Unit-6 Arrays + + **Arrays**: Single-Dimensional and Multi-Dimensional arrays, Array operations, Character array +and strings literals, string literals declaring, initializing, and using strings basic string operations, +comparing strings + +Unit-7 Structures and Unions + + **Structures:** Need and syntax of structures, Structure Operations- Passing and returning +structures from functions, Nested Structures, Array of Structures, typedef, Union, Structure +versus Union. +#### Text Books: +1. D. Ravichandran, PROGRAMMING WITH C++, Tata McGraw-Hill Education. +2. Harvey M. Deitel and Paul J. Deitel, C++ How to Program, Pearson Education. + +#### Reference Books: +1. Herbert Schildt, C++: The Complete Reference, Mc-Graw Hill. +2. E. Balagurusamy, Object Oriented Programming with C++, Mc-Graw Hill. +3. Yashavant Kanetkar, Let Us C++, BPB Publication. + +#### E-books and online learning materials including video lectures: +1. Richard Grimes, Beginning C++ Programming, Packt Publishing Ltd. +2. https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_012972002406719488 + 37_shared/overview + +|S NO| PPS Syllabus-Scheme-2024.pdf|Instructor|Host Institute|URL| +|----------|----------|----------|----------|---------------------| +| 1|C and C++|Prof. Kannan Moudgalya|IIT Bombay|https://onlinecourses.swayam2.ac.in/aic20_sp06/preview| + + + + +