Download ch6_programming_concepts_3- Connor Lee

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

C syntax wikipedia , lookup

Name mangling wikipedia , lookup

Comment (computer programming) wikipedia , lookup

Reactive programming wikipedia , lookup

Object-oriented programming wikipedia , lookup

Falcon (programming language) wikipedia , lookup

C Sharp syntax wikipedia , lookup

Library (computing) wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Go (programming language) wikipedia , lookup

Structured programming wikipedia , lookup

Program optimization wikipedia , lookup

History of compiler construction wikipedia , lookup

Compiler wikipedia , lookup

Software bug wikipedia , lookup

Coding theory wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Cross compiler wikipedia , lookup

Interpreter (computing) wikipedia , lookup

Transcript
Computing Unit 2
Chapter 6 Programming
Fundamental programming concepts, p 240
Compiled and interpreted languages
1
2
Distinguish between a compiled and an interpreted language giving egs.
 Compiled: Many programming languages, such as the C family, are compiled,
meaning that the source code is converted once by a compiler into executable
code, such as an EXE file in windows, to be run many times under a particular
OS.
 Interpreted languages: Languages such as python, PHP, Perl and JavaScript use a
different approach. The source code is compiled every time it is run, instead of
being compiled once by a compiler into a stand-alone executable program.
What are the advantages of interpreter languages?
 Programs can be easily, swiftly and repeatedly modified by the programmer or
end user without a compiler.
 The code is human readable and no viruses can be hidden in the source code
 Source code only needs to be written once for all computers on all platforms
that have the interpreter to run it; this is important for server-side internet
programming.
Modular programming
1
2
3
What is meant by modular programming?
 Breaking programs into small sections of code to simplify debugging and allow
the re-use of modules in other programs.
What are the advantages of this type of programming?
 It’s easier to find bugs in the program
 Software development is faster when several programmers can work
simultaneously on different modules
 A useful module can be reused in other programs. This saves time and effort.
 A program often needs to carry out the same action in different places. Rather
than repeating the code, it appears once and is called upon multiple times.
What are functions?
 Functions are procedures that calculate and return a value. Function calls usually
have parentheses after them, to contain parameters.
Data validation
1
2
document1
What does validation check?
 Validation checks that input data is reasonable. Validation does not and cannot
check that inputs are accurate.
Elaborate under each of the following types of validation
a. Range check

A range check checks that data are within acceptable limits or come from a
range of acceptable values.
b. Type check
 A type check is a useful way of confirming that the values entered into fields are
of the expected type.
c. Existence check
 An existence checks whether the value has been entered at all.
Internal documentation
1
2
What is internal documentation
 It explains the functioning and purpose of source code to programmers to make
code more meaningful.
List what should be included in internal documentation.
 The purpose of a module
 The author’s name
 Date of last modification
 Version number, to keep track of the latest version of the code
 Information, if any, about further work that is needed
 Problems that still need to be fixed
 Assumptions; for example, the customer file already exists
 Constraints, for example, it must work on a screen of only 300 x 500 pixels.
 External code libraries or resources required by the module
Loops


What is meant by loops?
A loop is just an easy way of repeating an action it doesn’t matter whether it’s 100000
it’s just as easy as doing it twice.
Logic
1
What is digital logic?
 Digital logic is used to control a program’s behaviour under different conditions.
Debugging
1
2
document1
Syntax errors
a. What is meant by a syntax error?
 Compilers expect precise instructions in a strict format with no ambiguity. If any
source code cannot be understood by the compiler because the syntax does not
match what the computer expects, it will stop working until the code is fixed.
Logical errors
a. When does a logical error occur?

3
Logical errors occur when a programmer uses a wrong strategy. To the compiler,
nothing is wrong with the syntax. The problem is just the instructions are just
plain wrong.
Runtime errors
a. When do these errors occur and why?
 Runtime errors are caused by factors during the execution of the program, such
as:
 The computer running out of memory
 Hard disk errors
 Operating system failure
 A problem with network connectivity
 Incorrect or outdated device drivers
 Incompatibility with another program running on the computer, such as
antivirus software
Desk checking
1
What does this involve?
 Desk checking is a technique used to check the logic of an algorithm manually.
Essentially, the programmer imitates a compiler and manually tests pseudocode
logic by stepping through the lines of code to check that the values are as they
should be at each point.
Process testing, p 248
Under each of the following types of testing indicate what occurs:
1
2
3
4
5
alpha testing
 Sometimes called informal testing, is when programmers test their own code
during software development.
beta testing
 Is usually the first time that software is tested by future ‘end users’ and specially
chosen reviewers, using live data that is more random in nature.
validation testing
 Verifies that the code properly validates input data
component testing
 Individual modules within the software are tested in isolation
system checking
 Checks that the program works as a whole
Test data
1
document1
Why is test data required?

You need test data to prove the accuracy of a program’s output, you need to
feed the program sample data to work on, and compare the program’s answer
with one you know is guaranteed to be correct.
Arrays
1
What is an array?
 An array is a storage structure with many slots (elements) that are addressed by
number; arrays are managed with loops.
Stacks
1
What is the role of a stack?
 A stack is a simple, basic method of temporarily storing data, with the PUSH
command, and releasing it as needed, with the POP command.
Queues
1
When are queues used?
 Queues are often used when some code or a device such as a printer cannot
keep up with incoming data or commands.
Sequential files and random files
1
document1
Distinguish between the two types of files.
 Sequential files: Sequential (or serial) files are plain text documents that contain
human readable text data. Sequential files are easy to create but can be slow to
search through because data items can be of any length.
 Random files: Are records of identical length with fields that must be rigidly
defined in advance.