1 / 25

computer Programs and Languages

Chapter 4. computer Programs and Languages. Developing a computer program. Programs are a set (series) of instructions Programmers determine The instructions to be performed. The order in which those instructions are to be performed. The data required to perform those instructions.

kurt
Download Presentation

computer Programs and Languages

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 4 computer Programs and Languages

  2. Developing a computer program • Programs are a set (series) of instructions • Programmers determine • The instructions to be performed. • The order in which those instructions are to be performed. • The data required to perform those instructions.

  3. Program Development- Where to start?

  4. Algorithms • The most basic tools that are used to develop the problem-solving logic • steps are unambiguous • a finite number of steps • that repeat (iterate) • require decisions (logic and comparison) until the task is completed • Different algorithms may accomplish the same task, with a different set of instructions, in more or less the same time, space, and efforts.

  5. Example-

  6. Flowcharts • A pictorial representation of an algorithm • steps in the form of different shapes of boxes • logical flow (sequence) by interconnecting arrows • help the programmer in understanding the logic of the program • Flowcharts outline the general procedure • Comparable to blueprint of a building • draws a flowchart prior to writing a program • standard flowchart symbols prescribed by the American National Standard Institute (ANSI).

  7. 2 x 200 • 200 • 200

  8. Calculate factorial- 5! = 5*4*3*2*1

  9. Computer languages • Natural languages are ambiguous, vaguely structured (vs. well defined), and has very large and ever changing (vs. well defined and a stable set) vocabularies • Machine language (Low level ) • Difficult to understand • Assembly language (Low level ) • Symbolic instructions of executable machine codes • High level language • Some rules similar to spoken

  10. Evolution • Programming languages have evolved tremendously • hundreds of different languages • user-friendly and more powerful • five generations • First Generation: Machine/Native Language • Binary- every instruction and data using 0/1 • Instruction consists of two parts • Operation & Operand- where to find or store the data (operation) • Fast and efficient, executed directly on the CPU • Difficult for humans to read, write, and debug

  11. Evolution … • Second generation- Assembly Language • programs can be written symbolically, using English words (also known as mnemonics) Assembler?

  12. Evolution … • Third Generation • High level, general-purpose • FORTRAN, LISP, COBOL, ALGOL • Ada, Basic, C, C++, Java, Pascal, Smalltalk • Easier for humans to read, write, debug • Compiler translates into machine code before running • Interpreter translates into machine code at runtime

  13. Evolution … • Fourth Generation • Specification languages, query languages, report generators, application generators • Maple, Mathematica, Postscript, SPSS, SQL • Fifth Generation • Solve problems using constraints rather than algorithms, used in Artificial Intelligence • Prolog

  14. Assignments IOA, IA, GA, Case !@#$

  15. A = 10, B = 20, K = 5, and SALES = 10000

  16. A family tree of languages Fortran LISP Cobol Algol 60 BASIC PL/1 Simula ML Algol 68 C Scheme Pascal Smalltalk Dylan Ada Prolog Perl C++ Modula 3 Java Python Ruby C#

  17. BASIC (1964) • Developed at Dartmouth in 1960’s by Tom Kurtz, John Kemeny, and a succession of undergraduates; first ran in 1964. • Beginner’s All-purpose Symbolic Instructional Code • Intended to introduce students in non-scientific disciplines to computing. • Influenced by FORTRAN and ALGOL. • Major goal to simplify user interface: • Simplicity chosen over efficiency • Time sharing over punched cards • Distinctions such as intvs real eliminated • Automatic defaults for declarations, values, arrays, output format, etc. • Clear error messages • Students had access to computers at all times • No universal BASIC standard: • ANSI (American National Standards Institute) is a minimal standard. • True Basic – Kemeny’s company

More Related