1 / 34

Chapter 1: Introduction

Chapter 1: Introduction. In this chapter you will learn about: Overview of PC components The different types of language Natural Language Formal Language Functional / Imperative Language Programming Languages C as an imperative language C program at a glance. Components of a PC.

cbader
Download Presentation

Chapter 1: Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1: Introduction • In this chapter you will learn about: • Overview of PC components • The different types of language • Natural Language • Formal Language • Functional / Imperative Language • Programming Languages • C as an imperative language • C program at a glance Principles of Programming - NI July 2005

  2. Components of a PC Computer Hardware Components Principles of Programming - NI July 2005

  3. Introduction • What is computer hardware? • Computer devices in physical form • Comprised of 4 components: • Input devices • Central Processing Unit (CPU) • Output devices • Memory Chapter 2 SAK3002 – Information Technology and Its Application

  4. Processor Control Unit Arithmetic Logic Unit (ALU) InstructionsDataInformation InstructionsDataInformation Introduction (cont’d) Control Unit Arithmetic Logic Unit (ALU) Memory InputDevices OutputDevices Data Information StorageDevices Chapter 2 SAK3002 – Information Technology and Its Application

  5. Input Device • What is input? • Data or instructions entered into memory of computer • Input device is any hardware component that allows users to enter data and instructions Chapter 2 SAK3002 – Information Technology and Its Application

  6. Input Device (cont’d) • Two types of input: • Data • Unprocessed text, numbers, images, audio, and video • Instructions • Programs • Commands • User responses Chapter 2 SAK3002 – Information Technology and Its Application

  7. Input Device (cont’d) • Keyboard allows the computer user to enter • Words • Numbers • Punctuation • symbols and • special function commands into the computer’s memory Chapter 2 SAK3002 – Information Technology and Its Application

  8. Output Device • What is output? • Data that has been processed into a useful form, • Output device is any hardware component that can convey information to user Chapter 2 SAK3002 – Information Technology and Its Application

  9. Output Devices (cont’d) • Display device • Output device that visually conveys information • Information on display device sometimes called soft copy • Monitorhouses display device as separate peripheral Chapter 2 SAK3002 – Information Technology and Its Application

  10. Output Devices (cont’d) LCD monitor • Display device • Uses liquid crystal display • Have a small footprint • Mobile devices that contain LCD displays include • Notebook computer, Tablet PC, PDA, and Smart Phone Chapter 2 SAK3002 – Information Technology and Its Application

  11. Input / Output Devices • Input Devices • Accepts information from the user and transforms it to digital codes that the computer can process • Example: keyboard, mouse, scanner • Output Devices • An interface by which the computer conveys the output to the user • Example: monitor, printer Principles of Programming - NI July 2005

  12. Main Memory • A semiconductor device which stores the information necessary for a program to run. • 2 types • ROM (Read Only Memory) • Contains information that is necessary for the computer to boot up • The information stays there permanently even when the computer is turned off. • RAM (Random Access Memory) • Contains instruction or data needed for a program to run • Got erased when the computer is turned off. Principles of Programming - NI July 2005

  13. Processor Control Unit Arithmetic Logic Unit (ALU) CPU • What is the central processing unit (CPU)? • Also called theprocessor • Interprets and carries out basic instructions that operate a computer Control Unit Arithmetic Logic Unit (ALU) • Control unit directs and coordinates operations in computer • Arithmetic logic unit (ALU) performs arithmetic, comparison, and logical operations Chapter 2 SAK3002 – Information Technology and Its Application

  14. CPU (cont’d) • Register • Temporary high-speed storage area that holds data and instructions Stores location from where instruction was fetched Stores instruction while it is being decoded Stores data while ALU computes it Stores results of calculation Chapter 2 SAK3002 – Information Technology and Its Application

  15. Central Processing Unit (CPU) • Does most of the work in executing a program • The CPU inside a PC is usually the microprocessor • 3 main parts: • Control Unit • Fetch instructions from main memory and put them in the instruction register • ALU (Arithmetic Logic Unit) • Execute arithmetic operations • Registers • Temporarily store instructions or data fetched from memory Principles of Programming - NI July 2005

  16. Storage Devices • A magnetic device used to store a large amount of information. • Store the software components or data needed for the computer to execute its tasks. • Could be “read only” or “writable”. • Example: Hard drive, CD ROM, floppy disks Principles of Programming - NI July 2005

  17. Network Devices • Connect a computer to the other computers. • Enable the users to access data or execute programs remotely. • Example: modem, Ethernet card Principles of Programming - NI July 2005

  18. Natural language • Our everyday-language; spoken and written • Not 100% needed to understand: • “Do you want to buy this computer ?” remains comprehensible Principles of Programming - NI July 2005

  19. Semantics and Syntax • Semantics – the meaning of the language within a given context • Syntax - Syntax are the rules to join words together in forming a correct expression or phrase. • In natural languages it is often possible to assemble a sentence in more than one correct ways. Principles of Programming - NI July 2005

  20. Formal Language • Language with limited, defined, words • Each concatenation of words ('phrase') has a single, clearly defined meaning • no (miss-)interpretation possible • Sometimes called “Context Free Language” • To 'talk' to a computer; to instruct a computer; our commands must be 100% clear and correct. • Often there is only a single, correct syntax. Principles of Programming - NI July 2005

  21. Functional / Imperative Language • Functional Language: • Tell what to do, but not how: sum [1...10] • Imperative Language: • Tell what to do, but mainly how: “Take number 1 and add the next number to it; then add the next number to the sum; and so on; until you have reached 10 as number to be added. Then print the sum of all numbers” Principles of Programming - NI July 2005

  22. What is Programming? • Programming is instructing a computer to do something for you with the help of a programming language • The two roles of a programming language: • Technical: It instructs the computer to perform tasks. • Conceptual: It is a framework within which we organize our ideas about things and processes. • In programming, we deal with two kind of things: • Data - representing 'objects' we want to manipulate • Procedures-'descriptions' or 'rules' that define how to manipulate data. Principles of Programming - NI July 2005

  23. Programming Language • Formal Language used to communicate to a computer. • A programming language contains instructions for the computer to perform a specific action or a specific task: • 'Calculate the sum of the numbers from 1 to 10‘ • 'Print “I like programming”‘ • 'Output the current time' Principles of Programming - NI July 2005

  24. Programming Language • Can be classified into as a special-purpose and general-purpose programming languages. • Special-purpose : is design for a particular type of application • Structured Query Language (SQL) • General-purpose : can be used to obtain solutions for many types of problems • Machine Languages • Assembly Languages • High-Level Languages Principles of Programming - NI July 2005

  25. Machine Language • The only language that the processor actually 'understands‘ • Consists of binary codes: 0 and 1 • Example: 00010101 11010001 01001100 • Each of the lines above corresponds to a specific task to be done by the processor. • Programming in machine code is difficult and slow since it is difficult to memorize all the instructions. • Mistakes can happen very easily. • Processor and Architecture dependent Principles of Programming - NI July 2005

  26. Assembly Language • Enables machine code to be represented in words and numbers. • Example of a program in assembler language: LOAD A, 9999 LOAD B, 8282 SUB B MOV C, A LOAD C, #0002 DIV A, C STORE A, 7002 • Easier to understand and memorize (called Mnemonics), compared to machine code but still quite difficult to use. • Processor and Architecture dependent Principles of Programming - NI July 2005

  27. High-Level Language • Use more English words. They try to resemble English sentences. Therefore, it is easier to program in these languages. • The programming structure is problem oriented - does not need to know how the computer actually executes the instructions. • Processor independent - the same code can be run on different processors. • Examples: Basic, Fortran, Pascal, Cobol, C, C++, Java • A high level language needs to be analyzed by the compiler and then compiled into machine code so that it can be executed by the processor. Principles of Programming - NI July 2005

  28. C Programming Language Why 'C' ? • Because based on 'B'; developed at Bell Laboratories • Developed by Dennis Ritchie at Bell Laboratories in the 1960s • In cooperation with Ken Thomson it was used for Unix systems • The C Language was only vaguely defined, not standardized, so that almost everyone had his own perception of it, to such an extend that an urgent need for a standard code was creeping up Principles of Programming - NI July 2005

  29. C Programming Language cont… • In 1983, the American National Standards Institute (ANSI) set up X3J11, a Technical Committee to draft a proposal for the ANSI standard, which was approved in 1989 and referred to as the ANSI/ISO 9899 : 1990 or simply the ANSI C, which is now the global standard for C. • This standard was updated in 1999; but there is no compiler yet Principles of Programming - NI July 2005

  30. C – An Imperative Language • C is a highly imperative language • We must tell it exactly how to do what; • the means and functions to use; • which libraries to use; • when to add a new line; • when an instruction is finished; • in short: everything and anything… • Hint: Observe the syntax in the next slide Principles of Programming - NI July 2005

  31. A Simple Program in C #include <stdio.h> main() { printf("I like programming in C.\n"); } Principles of Programming - NI July 2005

  32. A Simple Program in C - explanation #include <stdio.h> main() { printf("I like programming in C.\n"); } standard Library, input-output, header-file Begin of program Start of Segment Function for printing text Insert a new line End of statement End of Segment Principles of Programming - NI July 2005

  33. C Output I like programming in C. Principles of Programming - NI July 2005

  34. Summary • We have looked at some underlying hardware • We have seen some different types of languages; • the relevance of semantics and syntax. • We have observed the detail necessary in an imperative language to instruct a computer properly. • Finally, we examined the syntax to print a line of text to the screen of our computer. Principles of Programming - NI July 2005

More Related