Etter/Ingber
Engineering Problem Solving
with C
Fundamental Concepts
Chapter 1
Engineering Problem Solving
Etter/Ingber
Computing Systems:
Hardware and Software
A computer is a machine designed to perform operations
specified with a set of instructions called a program.
Hardware refers to the computer equipment.
keyboard, mouse, terminal, hard disk, printer
Software refers to the programs that describe the steps we
want the computer to perform.
Etter/Ingber
CPU
Computer Hardware
CPU - Central processing unit
ALU - Arithmetic and logic unit
ROM - Read only memory
RAM - Random access memory
Internal
Memory
External
Memory
Input Output
Processor
ALU
Etter/Ingber
Computer Software
Operating System - Provides an interface with the user
unix, windows, linux, ...
Software Tools
word processors (MicrosoftWord, WordPerfect, ...)
spreadsheet programs (Excel, Lotus1-2-3, ...)
mathematical computation tools (MATLAB, Mathematica, ...)
Computer Languages
machine language
assembly language
binary language
high level languages (C, C++, Ada, Fortran, Basic, java)
Etter/Ingber
Executing a Computer Program
Compiler
Converts source program to object program
Linker
Converts object program to executable program
Compile Link/load Execute
C language
program
Machine
language
program
Program
output
Input data
Etter/Ingber
Key Terms
Source Program
printable/Readable Program file
Object Program
nonprintable machine readable file
Executable Program
nonprintable executable code
Syntax errors
reported by the compiler
Linker errors
reported by the linker
Execution/Run-time errors
reported by the operating system
Logic errors
not reported
Etter/Ingber
The C Programming Language
General purpose, machine-independent
language
Developed at Bell Labs in 1972 by Dennis
Ritchie
American National Standards Institute(ANSI)
approved ANSI C standard in 1989
Etter/Ingber
An Engineering Problem-Solving
Methodology
1. PROBLEM STATEMENT
2. INPUT/OUTPUT DESCRIPTION
3. HAND EXAMPLE
4. ALGORITHM DEVELOPMENT
5. TESTING
Etter/Ingber
First Program - sum two numbers
/******************************************************************/
/* Program chapter1 */
/* */
/* This program computes the sum two numbers */
#include <stdio.h>
int main(void)
{
/* Declare and initialize variables. */
double number1 = 473.91, number2 = 45.7, sum;
/* Calculate sum. */
sum = number1 + number2;
/* Print the sum. */
printf(The sum is %5.2f \n, sum);
/* Exit program. */
return 0;
}
/***************************************************************************/