Compiler and Programming Principles

IntegralThorium avatar
IntegralThorium
·
·
Download

Start Quiz

Study Flashcards

18 Questions

What is the second phase in the software development life cycle?

Design of the software

Which programming language is C++ derived from?

C

What was C used for originally?

Maintaining the UNIX operating system

Which feature makes C a unique programming language?

Direct memory manipulation as a high-level language

What makes C easier than writing assembly language?

Higher level of abstraction

Which phase of the software life cycle involves the coding process?

Implementation

What is the purpose of a linker in programming?

To automatically combine object code for routines used in the program

What is the most challenging aspect of programming according to the text?

Designing algorithms to solve a given problem

In the software development process, what happens during the 'Implementation phase'?

Writing the program in a preferred programming language

What is the purpose of 'Desktop testing' in program design?

To review and evaluate if the algorithm fits the desired outcome

What is the relationship between programs and algorithms?

Algorithms are sequences of precise instructions that lead to a solution, which programs are made of

Which phase of the software development process involves defining the problem and gathering complete information?

Problem-solving phase

Which class of computer is designed for single person use?

PC

What type of memory is volatile and loses data when the power is turned off?

RAM

Which device communicates information from the user to the computer?

Keyboard

What does a computer's main memory store?

Currently executing programs

Which type of computer is larger and more powerful than a personal computer for industry use?

Workstation

What are networks used for in computing?

To share information or resources among multiple computers

Study Notes

Compiler and Linker

  • A compiler takes a source program/code written in a high-level language (HLL) and produces an object program/code that can be run.
  • The object code from a program may need to be combined with the object code for the routines it uses (e.g., input and output).
  • A linker combines object code (or "links" them) to produce an executable program.

Programming and Problem-Solving

  • Algorithms are sequences of precise instructions that lead to a solution to a problem.
  • Algorithms can be expressed in programming languages or human languages.
  • Programs are made up of algorithms.
  • The software life cycle consists of six phases: analysis and specification, design, implementation, testing, maintenance and evolution, and obsolescence.

Algorithm Design

  • The problem-solving phase involves:
    • Defining the problem and gathering complete and specific information.
    • Designing the algorithm.
    • "Desktop testing": going through the algorithm to ensure it fits the problem.
  • The implementation phase involves:
    • Writing the program in a preferred programming language.
    • Testing the code to ensure it performs as expected.

Introduction to C++

  • C++ is a derivation of the C programming language, developed by Dennis Ritchie in 1972.
  • C was used for writing and maintaining the UNIX operating system and was also written to expand upon the "B" programming language.
  • C++ became popular for its integration with UNIX and was made for other operating systems.
  • C is a high-level language with features of a low-level language, allowing for direct memory manipulation.

Computer Systems

  • A computer system consists of hardware, software, and high-level languages.
  • Hardware includes:
    • PC (personal computer)
    • Workstation
    • Mainframe
    • Networks (multiple computers connected to share information or resources)
  • Input devices communicate information from the user to the computer.
  • Output devices communicate information from the computer to the user.
  • Memory stores input and performs calculations, with main memory (RAM) being volatile but fast, and secondary memory storing information not being used.
  • A computer terminal consists of a keyboard and monitor.

Learn about the process of compiling a source code written in a High-Level Language (HLL) to object code, and the role of a linker in combining object code for routines. Understand the general principles used in designing and writing programs.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Compiler and Programming Languages Quiz
10 questions
Symbol Tables and Compiler Phases Quiz
10 questions
Compiler Basics
10 questions

Compiler Basics

IrreproachableWaterfall avatar
IrreproachableWaterfall
Use Quizgecko on...
Browser
Browser