Sei sulla pagina 1di 16

NANKANA SAHIB COLLEGE OF EDUCATION

Introduction to Computers - Languages

Submitted to : Gaganpreet Kaur Submitted By : Paramjeet Kaur Roll No. 97

Computer Organization
A Typical Von-Neumann Architecture VonCPU Control Circuit (ex: PC: Program Counter) ALU Memor y I/O

Example:
1. 2. 3. 4. 5. 6.

Input unit Output unit Memory unit Arithmetic and logic unit (ALU) Central processing unit (CPU) Secondary storage unit

Programming Languages
1. Machine languages (machine

dependent)
Native tongue of a particular kind of computer. computer. Each instruction is a binary string. string. The code is used to indicate the operations to be performed and the memory cells to be addressed. This form is addressed. easiest form of computers to understand, but is most difficult for a person to understand. understand. Strings of numbers giving machine specific instructions
Example: +1300042774 +1400593419 +1200274027

Programming Languages (cont.)


2. Assembly languages (machine dependent)
EnglishEnglish-like abbreviations representing elementary computer operations (translated via assemblers) Again specific to only one type of computer. computer. Uses descriptive names for operations and data, e.g. , LOAD value, ADD delta, STORE value. Assemblers will translate value. these to machine languages. Intermediate languages. level. level. Somewhat descriptive, but basically following the machine instructions. instructions.
Example: LOAD ADD STORE BASEPAY OVERPAY GROSSPAY

Programming Languages
(cont.)

3. High-level languages (machine Highindependent)


Codes similar to everyday English HighHigh-level languages: Write program instructions languages: called statement that resemble a limited version of English. English. e.g., the statement value = value + delta. Portable, meaning it can delta. Portable, be used on different types of computers without modifications. modifications. Compilers translate them to machine languages. Examples are FORTRAN, languages. PASCAL, COBOL, C, C++, BASIC etc. etc. Use mathematical notations (translated via compilers)
Example: grossPay = basePay + overTimePay
a

Example: Statement:

a= a + b

Before b

10 7

a After 17 b 7

Programming Languages
(cont.)

Structured programming
Disciplined approach to writing programs Clear, easy to test and debug and easy to modify

Multitasking
Specifying that many activities run in parallel (still timesliced)
Language Application Area Origin of Name

FORTRAN COBOL Lisp C Prolog Ada Smalltalk C++ JAVA

Formula Translation Common BusinessOriented Language Artificial Intelligence (AI) List Processing System Programming Predecessor B AI Logic Programming Real-time distributed systems Ada Augusta Byron & Charles Babbage GUI, OOP Objects talk via message Supports object & OOP C (++ is the increment operator) SupportsWeb programming Originally named Oak

Scientific programming Business data Processing

Semantic Gap
A semantic gap exists between the amount of information conveyed in assembly language v high level languages. Consider the following C single statement: x = x + 3; This single statement may require many assembly language statements (operations): Load memory location 24 into accumulator Add a constant 3 to the accumulator Store accumulator in memory location 24 The number of executable statement expands greatly during the translation process from a high level language into assembly language.

C Programming Language
C
HighHigh-level general-purpose language developed in general1972 at AT&T Bell Lab. By Dennis Ritchie from two
previous programming BCPL and B

Originally developed to write the UNIX operating system


Hardware independent (portable) By late 1970's C had evolved to "Traditional C"

Today, virtually all new operating systems are written in C or C++. The current standard in C is ANSI C. C++ is a more advanced version of C, incorporating among other things, the objectobjectoriented constructs

Standardization
Many slight variations of C existed, and were incompatible Committee formed to create a "unambiguous, machinemachineindependent" definition Standard created in 1989, updated in 1999

C has become a popular language industry due its power and flexibility

The C Standard Library


C programs consist of pieces/modules called functions
A programmer can create his own functions
Advantage: the programmer knows exactly how it works Disadvantage: time consuming

Programmers will often use the C library functions


Use these as building blocks

Avoid re-inventing the wheel reIf a pre-made function exists, generally prebest to use it rather than write your own Library functions carefully written, efficient, and portable

The C Standard Library


(cont.)

The Key Software Trend: Objects in C++ and JAVA


Reusable software components that model items in the real world Meaningful software units: ex: Date objects,
time objects, audio objects, video objects, file objects, record objectsany noun can be

represented as an object More understandable, better organized, and easier to maintain than procedural programming Favor modularity

The C Standard Library


#include <stdio.h> main() { int i; for (i = 0; i ++; i < 10) { printf ("Hello World!\n"); World!\ } }

A Typical C Program Development Environment


Phases of C Programs:
1. Edit
Editor Preprocessor Compiler Linker Disk Disk Disk Disk Primary Memory Loader

1. Program is created in the editor and stored on disk 2. Preprocessor program processes the code 3. Compiler creates object code and stores it on disk. 4. Linker links the object code with the libraries

2.Preprocess 3. Compile 4. Link 5. Load 6. Execute

5. Loader puts program in memory.


Disk

Primary Memory CP U

6. CPU takes each instruction and executes it, possibly storing new data values as the program executes

A Typical C Program Development Environment (cont.)


Procedure to Prepare a C Program for Execution
Enter the program code and save as a source (*.c) file using Word Processor (editor)

Source (.c) file on disk (Format: text)

Revised Compiler attempts to Failure source file translate the program into machine code List of errors Success

Correct syntax errors

New object (*.obj) files (Format: binary)

The linker links the new object file with other object files

Other object (*.obj) files

Input data

Executable (*.exe, *.out) file (Format: binary)

The loader places the executable file into memory

Executable program in memory

Welcome to CSCI230

Results

Constructs in C Language
Type Declarations: ex: int, float, I/O: ex: printf(), scanf() Arithmetic and Logical Operations: ex: +,,*,/,%,>,<,==,

Arrays, Pointers, Structures, Unions, Functions


Arguments & return values Recursion

Control Mechanisms:
while, for,

ex: if, else,

Characters & Strings: ex: strcat(),


strcpy(),

File Processing: ex: fopen(), fclose(), PrePre-processor: ex: #define Misc.


bit operations, ...

Operation System (OS)


Responsibilities:
Communicating with the computer user Managing allocation of memory, of processor time, and of other resources for various tasks I/O handling: BIOS vs DOS services (Interrupts) Read/Write data from secondary storage

Evolution of Operating Systems


Batch processing: do only one job or task at a time Operating systems: manage transitions between jobs and Increase throughput (amount of work computers process) Multiprogramming: Computer resources are shared by many jobs or tasks Timesharing: Technique used to implement multiprogramming where the computer runs a small portion of one users job then moves on to service the next user
Command-line Interface UNIX MS_DOS VMS Graphical User Interface (GUI) MacOS Windows X Windows (linux and solaris)

Application Software
Developed to assist a computer user in accomplishing special tasks
ex: word processing applications: MSMS-word or Word-perfect Wordex: Spreadsheet applications: Lotus1Lotus1-2-3, Excel ex: Database: Oracle, MS-Access MS-

Software Development Life Cycle (SDLC)


Problem: Problem: specify the problem requirements Analysis: Analysis: analyze the problem Design: Design: design the algorithm to solve the problem Implementation: Implementation: Implement the algorithm Testing: Testing: test and verify the completed program Maintenance: Maintenance: maintain and update the program

Potrebbero piacerti anche