Computer science. Fundamentals of Algorithmization and Programming
To write applications of varying complexity,first you need to get knowledge on how it's done. And it is desirable to begin with the very basis of algorithmization and programming. That's about them, and we'll talk in the article.
What is informatics?
This is the name of complex technical science,whose task is to systematize the methods of creating, processing, transferring, storing and reproducing data using computer technology. Also, it refers to the principles of functioning and management methods that help to achieve the goal. The term "informatics" is of French origin and is a hybrid of the word "information" and "automation". It arose due to the development and dissemination of new technologies for data collection, processing and transmission, which were associated with fixing them on machine carriers. This is the origin of informatics. The fundamentals of algorithmization and programming are one of the most important directions of this science.
What does she do?
Before computer science there are such tasks:
- Hardware and software support of computer technology.
- Means to ensure the interaction of human and computer components among themselves.
To indicate the technical part, oftenthe term "interface" is used. Here is an arbitrary program before us. The fundamentals of algorithmization and programming are always used when creating products of mass distribution that "must" win a wide audience. After all, for the popularity of the developed application should work optimally and look.
Representation of algorithms
They can be recorded in a significant number of ways. The most popular are the following:
- Verbal-formular description. It implies the placement of text and specific formulas that will explain the features of interaction in all individual cases.
- Flowchart. It implies the presence of graphic symbols that make it possible to understand the features of the interaction of the program within itself and with other applications or the hardware component of the computer. Each of them can be responsible for a separate function, procedure or formula.
- Algorithmic languages. It is intended to create separate methods of description for specific cases, which show the features and sequence of tasks.
- Operator schemes. It means the creation of a prototype - it will show the interaction on the basis of the paths that will pass the individual operands.
Pseudocode. Outline sketch of the program.
How to start creating your prototype program, function or procedure? To do this, it is sufficient to use such general recommendations:
- Each algorithm should have its own name, which explains its meaning.
- Be sure to take care of the presence of the beginning and the end.
- Input and output data should be described.
- You should specify the commands that will be used to perform certain actions on specific information.
Ways to write
Representations of the algorithm can be as many as five. But there are only two ways of recording:
- Formally verbal. It is characterized by the fact that the description is mainly made using formulas and words. The content, as well as the sequence of the steps of the algorithm, in this case is written in a natural professional language in an arbitrary form.
- Graphic. The most common. It uses block symbols or algorithm schemes. The connection between them is shown by means of special lines.
We are developing a software structure
There are three main types:
- Linear. With this structure, all actions are performed sequentially in the order of the queue and only once. The diagram looks like a sequence of blocks, located from top to bottom, depending on the order of their execution. The resulting primary and intermediate data can not affect the direction of the computational process.
- Branching. Has found wide application in practice, when solving complex problems. So, if it is necessary to take into account the initial conditions or intermediate results, the necessary calculations are performed in accordance with them and the direction of the computing process can vary depending on the result obtained.
Cyclical. To make it easier for you to work with many tasks, it is worthwhile to repeat some sections of the program code many times. To not prescribe how many times and what needs to be done, use a cyclic structure. It provides a sequence of commands that will be repeated until the specified condition is met. Using cycles allows you to significantly reduce the complexity of writing a program.
Important is the choice of programming language,which will create programs. It should be noted that many of them are "sharpened" under specific conditions of work (for example, in the browser). In general, programming languages are divided into two groups:
- not procedural;
You can guess which ones are most oftenapply? Operator-procedural - that's the answer. They can be machine oriented or independent. The first include assemblers, autocodes, symbolic coding. Independent divide, based on their orientation:
Each of them has its own sphere of application. But for writing programs (useful applications or games), object-oriented languages are most often used. Of course, you can take advantage of others, but the fact is that they are the most elaborate for creating end products of consumption for the masses. Yes, and if so long as you do not have an exact vision of where to start, I suggest drawing attention to the basics of algorithmization and object-oriented programming. Now this is a very popular direction, where you can find a lot of educational material. In general, the basics of algorithmization and programming languages are needed now, because there is a shortage of qualified developers, and their importance in the future will only grow.
When working with algorithms (and subsequently withprograms) should strive to think through all the details to the smallest. In the future, the identification of each unprocessed section of code will lead only to additional work, increased development costs and the timing of the task. Careful planning and elaboration of all the nuances will save considerable time, effort and money. Well, now they can say that after reading this article, you have a concept about the basics of algorithmization and programming. It remains only to apply this knowledge. If there is a desire to study the topic in more detail, I can advise the book "Fundamentals of Algorithmization and Programming" (Semakin, Shestakov) 2012.