RSS
Translated by
2010/05/26 13:39:45

Algorithm

Algorithms are a fundamental concept of information science as science and a subject matter at schools and universities which is studied and given at final and entrance examinations.

Content


Algorithm  — the sequence of accurately certain actions which accomplishment conducts to the solution of a task. The algorithm written in machine language is the program of the solution of a task. (Kaiming, 1985)

Main objective of algorithmization - drawing up algorithms for a computer - solving of tasks on a computer.

Vida Algoritmov

Applied algorithms are algorithms of the solution of applied tasks. The solution of a task correct if it conforms to requirements of assigned tasks.

The structured algorithms are algorithms for which the principles of structural record and structured design (on Russian-speaking are used structural pseudo-code).

The structured algorithms are the most convenient form of the description of algorithms and documentation of programs and the software for a computer.

The structured algorithms in the structured record in Russian are distinguished by simplicity of reading, understanding, correction and analysis of correctness by search and error correction.

Properties of Algorithms

Properties of algorithms - unambiguity, effectiveness, mass character, correctness.

The algorithm is productive if its accomplishment leads to obtaining results.

Applied Algorithm - correct if it yields the correct results for any legal initial data.

The applied Algorithm contains errors if for it yields the wrong results or does not yield results in general for some legal initial data.

The program contains errors if its accomplishment on a computer leads to receiving failures, failures or obtaining not the correct results.

Algorithmization

Algorithmization - methods of drawing up algorithms for the purpose of the solution of applied tasks on a computer.

Programming - development of the computer programs for the purpose of the solution (complex) of certain tasks.

Debugging of programs - process of search and error correction in programs on a computer.

Algorithmization in information science and programming

In the Unified State Examination in information science algorithmization by one of the main requirements of the USE to final and entrance examinations in information science.

In information science algorithmization is widely used for training in programming essentials based on the most different programming languages - the BASIC, Pascal, Si, etc.

In professional programming algorithms are used for documentation of software at professional developments for inspection of texts of programs and identification of errors in them.

For the description of algorithms most effective use of a Russian-speaking structural pseudo-code with a key word if - differently and so far - a cycle.

In professional programming it is known that use of a pseudo-code reduces number of errors in programs from 2-3 errors by 100 operators up to 2-3 errors on 1000 operators ten times.

In information science statistics shows that use of a pseudo-code by students and school students with capacities of programs up to 100 operators for two three start-up on a computer to reveal and eliminate all errors in programs.

Errors in algorithms and programs

Errors in algorithms programs - one of the most serious problems in information science and professional programming.

The program contains errors if at its accomplishment the computer glitches, failures or the wrong results.

Programming axioms (Keimin-Dijkstra):

1) The number of errors in programs - is unknown.

2) Duration of debugging of programs - is unknown.

3) The lack of errors is guaranteed by correctness proofs.

The lack of errors in programs is checked by their testing for a computer. Testing can reveal errors, but cannot guarantee lack of errors in programs. (Dijkstra)

The lack of errors in algorithms means that the algorithm yields the correct results for any legal data.

The correctness of results is defined by settings of solvable tasks and technical specifications on development of the computer programs.

Correctness proofs are correctness proofs of results of the solution of assigned tasks - results of work of algorithms and programs for any legal initial data.

Examples of algorithms and programs with correctness proofs see in textbooks by information science of Kaiming and in books by Dijkstra.

Evidential Programming

Evidential programming - development of programs without errors with correctness proofs of algorithms.

Writing of proofs is carried out after careful testing of programs for a computer.

Programming axioms [1] (Kaiming):

1. The number of errors in programs is in advance unknown: found an error, I look for another, the third, etc.

2. Duration of debugging of programs is in advance unknown: after debugging - look for errors.

3. The lack of errors in programs is guaranteed by correctness proofs of algorithms.

Algorithmization training

Experience of training in programming

Effective training in programming requires obligatory studying of algorithmization - bases of drawing up the structured algorithms and programs in the BASIC languages, Pascale, Javascript, etc.

Training of algorithmization and to programming was successfully carried out and carried out since 1980 at all faculties and specialties MIEM, MATI and many other universities according to textbooks and Kaiming, Nechayev, Piterkin's technique.

The description of algorithms of solving of tasks on a computer on the Russian-speaking pseudo-code clear to all Russian-speaking students, school students, teachers and teachers is the cornerstone of training in programming.

Any student or the school student, the teacher or the teacher who could not learn to read, understand and write algorithms of solving of tasks on a computer with verification of programs on a computer and the help of the teacher is not present and was not.

Programming practical work

At a proper practical work on a computer and good textbooks by information science all school and university students successfully mastered technology of drawing up algorithms and solving of tasks on the COMPUTER with the BASIC languages, Pascale, the Fortran, etc.

Estimates of school and university students on offsets and examinations in programming and information science always were "well" and "perfectly" upon completion of debugging of programs and obtaining results of solving of tasks on a computer.

Tasks on drawing up and programming of pictures on computer screens and also tasks on information processing in the arrays and databases which are not requiring special mathematics were for this purpose used and used.

such tasks on programming of pictures and drawings quite the weakest students can do even and school students with deviations in intellectual development.

Try and I guarantee at you and all your colleagues and friends everything will turn out with drawing up algorithms and programs for display of pictures on computer screens.

See Also

information science

logic in information science

structural pseudo-code

programming

solving of tasks on a computer

programming methodology

technology of programming

Evidential Programming

Literature

  1. Kaiming V.A. Informatika. The textbook for students of universities. M.: INFRA-M., 1998-2009.
  2. Kaiming V.A. Informatika. The textbook for school students. M.: Avenue, 2009.
  3. Kaiming V.A. Informatika. A benefit to examinations. M.: RIOR, 2008.
  4. Kaiming V. A. Bases of evidential programming. M.: MIEM, 1987.
  5. Kaiming V. A., Piterkin V.M. Fundamentals of information science and Tue M.: MIEM, 1985.
  6. Kaiming V. A. Methods of development of programs in languages of the high level. M.: MIEM, 1985.

Internet links