Immediately I ask you not to “drive away with kicks”, I tried, and this can be useful for students like me.
Error correction codes.
There are many codes that correct errors in binary code. This is very useful because a lot of information is spoiled when storing or transmitting information. One example of these codes is the “Hamming code” (Another author has already written about it in detail
http://habrahabr.ru/post/140611/ ). They add to the binary text additional, code bits with which we can correct the errors obtained.
Each such code has two characteristics - k and n. This code is called the (n, k) code. Here “n” denotes the total number of characters in a block of encoded text, and “k” is the number of significant characters.
For example, the simplest code is a code with repetitions. In this code, n-1 code bits are added to each symbol of the binary code, which duplicate the significant symbol and, in consequence, we can correct the error. For example, (3,1) -code appends to each character in the binary system two of the same and with noise, if one character from the block changes, then 2 identical ones remain and we return the original symbol by them.
Project Description
In my program, we used 2 types of such codes, this is a (3.1) code with repetition and (7.4) code, which is one of the so-called “Hamming codes”. However, my program is written in such a way that you can add any other type code (n, k) to it without much effort and time.
')
In order to accomplish my goal, I needed to translate a plain text into a binary form, then add code bits to help me recover the text. And in order to emit errors in a binary code, I wrote a procedure that noisy text (making errors in a binary code).
Then I translated the noisy code into plain text to demonstrate the effectiveness of the noise to the user. With the next step, I corrected the code that remained in my noisy code and translated it into plain text.
To create my program, I used the Pascal help program, my own knowledge and the “great” Google.com.
Conclusions and perspectives.
I created a program that implements two codes correcting errors in the text, received during the transfer or long-term storage of a file with information. He also improved his skills in the Pascal programming language.
I apologize for the "Jewish code" and for the turbo pascal too (a normal computer broke down, wrote on the second pentium). The code can help students in computer science and Olympiad classes.