A brief history of the development of programming languages. History of some programming languages

💖 Do you like it? Share the link with your friends

The vigorous development of new programming languages ​​began immediately after the appearance of the first vacuum tube computers. At that time, computers cost a lot. Purchasing a single copy was tens or even hundreds of times more expensive than the cost of developing any program. Such a machine required highly efficient code, which was manually compiled in Assembly language.

Only in the 50s, for the personal needs of IBM, the first algorithmic language was developed. It was called FORTRAN. Of course, by that time there had already been several developments in languages ​​that converted arithmetic expressions into machine code, but it was the creation of FORTRAN that is considered the start of a new era - the transition to the paradigm of algorithmic languages. What could it do? It allowed calculations only by writing an algorithm using input/output and conditional operators. Initially, the language was created specifically for the IBM 407 computer system. But the popularity of FORTRAN led to the fact that even manufacturers of other architectures began to produce their own translators. As a result, the general standard FORTRAN 66 was released in 1966.

Already at the end of the 50s. appeared good alternative FORTRAN. Peter Naur developed an algorithmic language independent of architecture. It was called ALGOL. In this case, the developers also tried to expand the capabilities of the language, bringing the notation system as close as possible to the mathematical one.

In the early 60s. IBM manufacturers introduced the not very popular PL/I language. It worked with the IBM 360 architecture and served as a kind of extension of FORTRAN using some COBOL language tools.
The first language in which the concept of a class was introduced was Simula-67. It was created by Dahl and Nayard in the late 60s.
70s Pascal was born. He quickly gained mass popularity. A little later, the US Department of Defense began developing a high-level language. The project was developed by 4 independent groups, and the development of requirements and specifications was carried out based on the Pascal language. The resulting product was released in the early 80s and was named Ada.

70s also gave us the universal language C. Its authors were Ken Thompson and Denis Ritchie. The language enjoyed increased popularity among system programmers, the first UNIX OS kernel was developed on it. In 1982, the C standard was submitted to ANSI for development, and the resulting version was adopted in 1990. Based on this language, the modern languages ​​Java and C++ were developed.

In addition to languages ​​that work with algorithms, languages ​​of other types have also developed. COBOL was developed to process business information; Prolog and LISP are considered artificial intelligence languages. In addition, the latter is widely used in game theory.

With the transition to personal computers, programming languages ​​have become a separate part of development environments. Nowadays there are even languages ​​used in office programs- for example, VBA.

History of programming languages

3. Classification of programming languages

1. Concepts software

Programming can be considered both a science and an art. The program is the result of intellectual work, which is characterized by creativity. Programs are designed for machine implementation of tasks.

Task is a problem that needs to be solved using technical means, and an application (synonymous with a program) is a solution to a given problem implemented on a computer.

Programming is the sphere of action aimed at creating programs.

Program is a sequence of computer commands that leads to the solution of a problem.

Application- This software implementation solving a problem on a computer.

Software(software) are software products and technical documentation to them.

Software product (PP) is a set of interrelated programs designed to implement a specific task of mass demand.

One of the most revolutionary ideas that led to the creation of automatic digital computers was expressed in the 20s of the 19th century Charles Babage the idea of ​​pre-recording the order of operation of a machine for the subsequent automatic implementation of calculations - a program. And although used Babyj recording a program on punched cards, invented to control such machines by a French inventor Joseph Marie Jacquard, technically has nothing in common with modern methods of storing programs in a PC; the principle here is essentially the same. From this moment the history of programming begins.

Adu Levlace, contemporary Bebija, called the world's first programmer. She theoretically developed some techniques for controlling the sequence of calculations that are still used in programming today. She also described one of the most important constructions of almost any modern programming language - a loop.

A revolutionary moment in the history of programming languages ​​was the emergence of a system for encoding machine instructions using special characters, proposed John Mauchly. The coding system he proposed inspired one of his employees Grace Murray Hopper. While working on the Mark-1 computer, she and her group had to face many problems and everything they came up with was for the first time. In particular, they came up with subroutines. And another fundamental concept of programming technique was first introduced by Hopper and her group: “debugging.”

Late 40s J. Mauchly created a system called " Short Code", which was a primitive high-level programming language. In it, the programmer wrote down the problem to be solved in the form of mathematical formulas, and then, using a special table, translated character by character, converting these formulas into two-letter codes. Subsequently, a special computer program converted these codes into binary machine code. System, developed J. Mauchly, is considered one of the first primitive interpreters.

Already in 1951 Hopper created the world's first compiler and she also introduced this term. Compiler Hopper carried out the function of combining commands and, during the broadcast, organized subroutines, allocated computer memory, and converted high-level commands (at that time pseudocodes) into machine commands. “Subroutines are in the library (of the computer), and when you select material from the library, it is called compilation,” was how she explained the origin of the term she coined.

In 1954, a group led by G. Hopper developed a system including a programming language and a compiler, which was later called Math-Matic. After successful completion of the creation work Math-Matic Hopper and her group set about developing a new language and compiler that would allow users to program in a language close to regular English. In 1958, a compiler appeared Flow-Matic. Compiler Flow-Matic was the first language for commercial data processing tasks.

Developments in this direction led to the creation of the language COBOL(COBOL - Common Business Oriented Language). It was created in 1960. In this language compared to Fortran And Algol, mathematical tools are less developed, but text processing tools and organization of data output in the form of the required document are well developed. It was intended as the primary language for mass data processing in management and business areas.

The mid-50s are characterized by rapid progress in the field of programming. The role of programming in machine commands began to decrease. New types of programming languages ​​began to appear, acting as an intermediary between machines and programmers. The first and one of the most common was Fortran(FORTRAN, from FORmula TRANslator - formula translator), developed by a group of IBM programmers in 1954 (first version). This language was focused on scientific and technical calculations of a mathematical nature and is a classic programming language for solving mathematical and engineering problems on a PC.

For the first high-level programming languages, subject orientation of the languages ​​was a characteristic feature.

A special place among programming languages ​​is occupied by ALGOL, the first version of which appeared in 1958. One of the developers Algola was "father" Fortran John Backus. The name ALGOrithmic Language emphasizes the fact that it is intended for writing algorithms. Thanks to a clear logical structure ALGOL became standard means recording algorithms in scientific and technical literature.

In the mid 60s Thomas Kurtz and John Kameny(employees of the mathematics department of Dartmouth College) created a specialized programming language that consisted of simple words in English. New language called the “Beginner All-Purpose Symbolic Instruction Code,” or BASIC for short. The year of birth of a new language can be considered 1964 . Today a universal language BASIC(which has many versions) has gained great popularity and is widely used among PC users of various categories all over the world. This was greatly facilitated by the fact that BASIC began to be used as the built-in language of personal computers, the widespread use of which began in the late 70s. However BASIC is an unstructured language and is therefore not well suited for teaching quality programming. To be fair, it should be noted that the latest versions BASIC for PCs (for example, QBasic) have become more structural and, in their visual capabilities, are approaching languages ​​such as Pascal.

The developers focused the languages ​​on different classes of tasks, tied them to one degree or another to a specific PC architecture, and implemented personal tastes and ideas. In the 60s, attempts were made to overcome this “discord” by creating a universal programming language. The first child of this direction was P.L./1 (Programm Language One), developed by IBM in 1967. This language claimed to be able to solve any problem: computing, text processing, accumulation and retrieval of information. However, it turned out to be too complex, the translator from it was not optimal enough and contained a number of undetected errors.

However, the line towards the universalization of languages ​​was supported. Old languages ​​have been modernized into universal variants: ALGOL-68 (1968), Fortran-77. It was assumed that such languages ​​would develop and improve and begin to displace all others. However, none of these attempts were successful.

Language LISP appeared in 1965. The main concept in it is the concept of recursively defined functions. Since it has been proven that any algorithm can be described using a certain set of recursive functions, then LISP is essentially a universal language. With its help, a PC can simulate quite complex processes, in particular, the intellectual activity of people.

Prologue developed in France in 1972 to solve the problems of “artificial intelligence”. Prologue allows you to formally describe various statements, the logic of reasoning and forces the PC to give answers to the questions asked.

A significant event in the history of programming languages ​​was the creation in 1971 of the language Pascal. Its author is a Swiss scientist Niklaus Wirth. Wirth named him after the great French mathematician and religious philosopher of the 17th century Blaise Pascal, who invented the first adding device, which is why the new language was given his name. This language was originally developed as an educational language for structured programming, and, indeed, now it is one of the main languages ​​for teaching programming in schools and universities.

In 1975, two events became milestones in the history of programming - Bill Gates And Paul Allen declared themselves by developing their own version BASIC, A Wirth And Jensen released a classic description of the language “Pascal User Manual and Report”.

Achieved no less impressive, including financial, success Philip Kahn, Frenchman who developed the system in 1983 Turbo Pascal. The essence of his idea was to combine the successive stages of program processing - compilation, editing links, debugging and error diagnosis - in a single interface. Turbo Pascal is not only a language and a translator from it, but also an operating shell that allows the user to conveniently work on Pascale. This language has gone beyond its educational purpose and has become a professional programming language with universal capabilities. Due to the mentioned advantages Pascal became the source of many modern languages programming. Since then several versions have appeared Turbo Pascal, the last one is the seventh.

Firm Borland/Inprise completed product line Turbo Pascal and moved on to release a visual development system for Windows - Delphi.

Large imprint on modern programming put tongue Si(first version - 1972), which is very popular among developers of software systems (including operating systems). This language was created as an instrumental language for developing operating systems, translators, databases and other system and application programs. Si combines both the features of a high-level language and a machine-oriented language, allowing the programmer to access all machine resources, which languages ​​such as BASIC And Pascal.

The period from the late 60s to the early 80s was characterized by a rapid growth in the number of different programming languages ​​that accompanied the software crisis. In January 1975, the Pentagon decided to bring order to the chaos of translators and established a committee that was ordered to develop one universal language. In May 1979, the winner was announced - a group of scientists led by Jean Ihbia. The winning tongue was dubbed Ada, in honor of Augusta Ada Levellace. This language is intended for the creation and long-term (many years) maintenance of large software systems, allows for parallel processing and real-time process control.

Note 1

For the first programs to work, it was necessary to install key switches on the front panel of the computing device. Naturally, using this method it was only possible to compose small programs. One of the first attempts to create a full-fledged programming language was made by the German scientist Konrad Zuse, who during the period 1943–1945. developed the Plankalkul language. Plankalkul was very promising language, which was actually a high-level language, but during the war it did not receive its due practical implementation, and its description was published only in 1972.

Machine code. Assembler

The history of programming languages ​​begins with development machine language: Logical zero and one language. Writing using this language was very difficult and tedious.

To make the work of programmers easier in the late 1940s. Assembly language was developed. Instead of binary digits that denoted any command, short words or abbreviations were written. Programmers consider assembly language a programming language. low level, since it is close to the lowest level language - machine. Programs written in assembly language directly depend on the characteristics of a particular processor, which is why it is called a machine-oriented language.

Writing programs in assembly language is a rather difficult task, and knowledge of computer devices is also required. And yet, assembler programs are the most effective and efficient.

Algorithmic languages

During the development of programming, the need arose to develop new, more advanced programming languages ​​that would be similar to natural languages ​​and would allow one not to work directly with machine commands. They came to be called high-level languages. High-level languages ​​are focused on describing algorithms, which is why they are called algorithmic languages. The advantage of such languages ​​is greater clarity and independence from a specific computer.

Since only machine language is recognized by a computer, a program written in an algorithmic language must be translated into that language before execution. special program- translator. The translator contains all the rules of the algorithmic language and methods for converting its various structures into machine language. There are two types of broadcast:

  • Compilation is a method of program execution in which program instructions are executed only when the translation of the entire program text has been compiled.
  • Interpretation is a method of program execution in which program instructions are translated and immediately executed.

Note 2

The advantage of programs written in an algorithmic language is the simplification of working with the program due to the relative simplicity of writing, easy readability, and the possibility of its correction. Disadvantages include: Extra time and broadcast memory.

Structured programming

In 1954, development of the first high-level language compiler began. Two years later, the Fortran language appeared (FORmula TRANslator - “formula translator”). The language contained features that greatly simplified development, but programming in Fortran was not an easy task: while it was easy to understand in short programs, the language became unreadable when it came to large programs. Despite this, the language was quite successful and many versions were released.

The problems were solved after the development of structured programming languages: they introduced the ability to create program blocks, independent subroutines, support for recursion and local variables, and the absence of an unconditional jump operator (GoTo). Thus, such languages ​​began to support the ability to split a program into its constituent elements.

Over the course of ten years, a fairly large number of new languages ​​were created:

  1. Algol (1958) was intended to write algorithms that are composed of separate blocks;
  2. Cobol (1959) was used for bulk data processing in management and business areas;
  3. Basic (1965) allowed you to write simple programs, was used to teach the basics of programming.

Very few of the languages ​​created were structured. Specialized languages ​​were also created: Lisp, Prolog, Forth, etc. Deserves special attention Pascal language(1970), named after the scientist Blaise Pascal, which was used both for teaching and for solving problems of varying complexity. Pascal programs were easy to read, allowing you to quickly find and correct errors, and it was well structured. All of the above has led to its widespread use, and even today it is actively used in educational institutions.

In 1972, the C language was introduced, which was a successful step in programming. The language combined the advantages of many languages ​​and had a large number various innovations. The wide possibilities, structure and relative simplicity of its study allowed the language to quickly become recognized and win the place of one of the main languages.

The advent of structured programming brought great results, but it was still difficult to write long and serious programs.

Object-oriented programming (OOP)

Since the 1970s The foundations of object-oriented programming (OOP) were laid, which arose as a consequence of the development of procedural programming, in which data and routines for processing them were not formally related.

OOP includes the following basic concepts:

  • Class– a model of an object that does not yet exist. In fact, it is a diagram of an object, describing its structure.
  • An object– an instance of a class, an entity in the address space of a computing system that appears when an instance of a class is created.
  • Abstraction– assigning characteristics to an object that clearly define its boundaries, which distinguish it from all other objects. The basic idea is to separate the way in which composite data objects are used from the details of their implementation in the form of simpler objects.
  • Encapsulation– combining properties (data) and methods (routines) in a class in order to hide object data from the rest of the program and ensure the integrity and independence of the object (changing object properties is possible only through special class methods).
  • Inheritance– a language mechanism that allows you to describe a new class based on an existing class (or classes) with the addition of new properties and methods.
  • Polymorphism– the ability of a system to use objects with the same interface without obtaining information about its type and internal structure.

Note 3

In 1967, the Simula language appeared - the first programming language in which the principles of object orientation were proposed. It supported working with objects, classes, virtual methods, etc., but all these features were not adequately appreciated by contemporaries. However, most of these concepts were incorporated by Alan Kay and Dan Ingalls into the Smalltalk language, which became the first widely used object-oriented programming language.

Currently, the number of applied programming languages ​​that implement the object-oriented paradigm is the largest in relation to other paradigms. The main languages ​​that support the concept of OOP: C++, C#, Object Pascal (Delphi), Java, etc.

Internet development

With the development of WWW (World Wide Web) technology, the Internet has become very popular. A large number of auxiliary languages ​​have been created to ensure work with the Internet, website design, access to resources, etc.

The interpreted language Perl, which is distinguished by its simplicity and easy portability to other platforms, is becoming widespread. It is designed for writing applications and CGI scripts of varying complexity. The Java language is also widely used and plays a significant role in the development and functioning of the Internet.

In the 1970s The SQL language appeared - a structured query language that was created for accessing and working with databases.

To write codes for website pages, the hypertext markup language HTML has been developed, which contains commands for marking up and formatting text and graphics. To make the site more attractive and functional, the following are used:

  • JavaScript scripts that run in the user's web browser and are used primarily to improve appearance website and solving small problems.
  • PHP scripts that run on the server side and send already processed information to the user's browser. They are used to create dynamic HTML pages, guest books, maintain forums and polls.
  • CGI scripts, which are written primarily in Perl, C/C++, are executed on the server side and depend on specific user actions. They are used, like PHP scripts, to create dynamic HTML pages, guest books, maintain forums and polls.

Send your good work in the knowledge base is simple. Use the form below

Good work to the site">

Students, graduate students, young scientists who use the knowledge base in their studies and work will be very grateful to you.

Posted on http://www.allbest.ru/

Introduction

1. Theoretical part

2. Practical part

2.2 Creating a database

2.3 Launching the program

Conclusion

Bibliography

Appendix A. Splash Form Code

Appendix B. Main Form Code

Appendix C: Data Module Code

Appendix D. Editor Form Code

INTRODUCTION

Programming is a relatively young and rapidly developing branch of science and technology. The experience of conducting real developments and improving existing software and hardware is constantly being rethought, resulting in the emergence of new methods, methodologies and technologies, which, in turn, serve as the basis for more modern software development tools. It is advisable to study the processes of creating new technologies and determine their main trends by comparing these technologies with the level of development of programming and the features of the software and hardware available to programmers.

The object of research is programming technologies.

The subject of the study is the history of the development of programming technologies.

The purpose of this course work is the study of the history of the emergence of programming and the basic principles and approaches to creating a programming language.

To achieve this goal, it is necessary to solve the following tasks:

1. Analyze information sources on programming technologies;

2. Consider the history of the development of programming technologies;

3. Identify the stages of development of programming technologies.

4. Create a database to store information about employees.

5. Design the application.

1. THEORETICAL PART

1.1 Concept and classification of programming languages

The functioning of the computer is carried out on the basis of the principle of program control. The program, which is a sequence of commands that implement an algorithm for solving a problem, is entered into the computer memory, after which its automatic execution begins from the first command. After each command is executed, the machine automatically moves on to the next command, and so on until it encounters a command instructing it to complete the calculation.

The structure of a computer command in the simplest case includes two parts: operational and address. The operation part contains the operation code (add, subtract, etc.). The address part contains the addresses of memory cells; they store the values ​​of the operands with which a given operation must be performed. Depending on the number of addresses specified in the command, one-, two-, and three-address commands are distinguished.

Physical principles of operation electronic devices Computers are such that the computer can accept commands consisting only of ones and zeros, i.e. machine code. At the initial stage of computer development, a person needed to compose programs in a language understandable to the computer, in machine codes. Each instruction consisted of an operation code and operand addresses, expressed as various combinations ones and zeros.

As further practice of communicating with a computer showed, such a language is cumbersome and inconvenient. When using it, it is easy to make a mistake by writing 1 or 0 in the wrong sequence. The program is very difficult to control. In addition, when programming in machine codes, you need to have a good knowledge of the internal structure of the computer and the operating principle of each block. And the worst thing about such a language is that programming in machine codes requires a lot of time, labor, and increased attention from the programmer.

This led to the need to find a tool that would make it easier to establish communication between a person and a computer. And such a means was found: various symbolic languages ​​and their corresponding translators (programming systems).

A programming language is a formalized language for describing an algorithm for solving a problem on a computer.

To automate programming, each computer had its own autocode (or assembler). This language fully replicates the set of machine language commands and appeared only to simplify programming in machine code.

Further development of language tools followed the path of creating machine-independent languages ​​that made it possible to write programs on any available computer with the possibility of transferring it to a more advanced architecture.

There are several hundred symbolic programming languages ​​in the world of various structures and capabilities, which can be classified according to various criteria.

If we take the syntax of the formation of programming language constructs as a classification feature, then they can be divided into the following classes:

* computer languages ​​- programming languages ​​perceived by the computer hardware (machine codes);

* computer oriented languages ​​- programming languages ​​that reflect the structure of a specific type of computer (Assemblers);

* algorithmic languages ​​- programming languages ​​independent of computer architecture to reflect the structure of the algorithm (Pascal, Fortran, BASIC, etc.);

* procedure-oriented languages ​​- programming languages ​​where it is possible to describe a program as a set of procedures (subroutines);

* problem-oriented languages ​​(universal programming languages) - programming languages ​​designed to solve problems of a certain class (Lisp, RPG, Simula, etc.);

* integrated programming systems.

If, as a sign of classification, we take membership in one of the programming styles that have emerged to date, each of which has its own calculation model, then programming languages ​​can be divided into the following classes:

* procedural;

* functional;

* logical;

* object-oriented.

A program in a procedural programming language consists of a sequence of operators (instructions) that specify certain actions. One of the most important qualifying features of procedural languages ​​is their level, which characterizes the degree of similarity between the programming language and machine language. The beginning of the level count is taken to be the machine language whose level is zero. Human language is considered to be the highest level language.

1.2 History of programming languages

Since ancient times, attempts have been made to create devices that speed up and facilitate the calculation process. Even the ancient Greeks and Romans used an abacus-like device, the abacus. Such devices were also known in the countries of the Ancient East. In the 15th century German scientists W. Schickard (1623), G. Leibniz (1673) and the French scientist B. Pascal (1642) created mechanical computing devices - the predecessors of the well-known adding machine. Computers have been improved over the course of several centuries. But the concept of “program and programming” was not used.

At the beginning of the 19th century. (1830), an English scientist, professor of mathematics at Cambridge University, Charles Babbage, analyzing the results of processing the population census in France, theoretically studied the process of performing calculations and substantiated the foundations of the architecture of a computer. Working on the project of the analytical engine - “Machine for calculating differences,” Ch. Babbage predicted many ideas and principles of the organization and operation of modern computers, in particular the principle of program control and memorized programs. A shared passion for science gave the scientist and Ada Lovelace (1815-1852) many years of fruitful collaboration. In 1843, she translated Menabrea's article on the lectures of Charles Babbage, where in the form of detailed comments (they exceeded the main text in volume) she formulated the main principles of programming the Analytical Engine. She developed the first program (1843) for Babbage's machine, convinced him of the need to use it in the invention binary system notation instead of decimal, developed programming principles that involve repeating the same sequence of commands under certain conditions. It was she who proposed the terms “work cell” and “cycle”.

A. Lovelace compiled the first programs for solving a system of two equations and calculating Bernoulli numbers using fairly complex algorithm and suggested that in time the Analytical Engine would compose music, paint pictures, and be used in practical and scientific activity. Time has confirmed her correctness and the accuracy of her forecasts. With her works, A. Lovelace laid the theoretical foundations of programming and is rightfully considered the world's first programmer and the founder of scientific programming.

In 1854, the English mathematician George Boole published the book “The Laws of Thought,” in which he developed propositional algebra - Boolean algebra. Based on it in the early 80s. XIX century the theory of relay contact circuits and the design of complex discrete automata was constructed. The algebra of logic had a multifaceted influence on the development computer technology, being a tool for the development and analysis of complex circuits, a tool for optimizing a large number of logical elements, many thousands of which make up a modern computer.

The ideas of Ch. Babbage were implemented by the American scientist G. Hollerith, who, using the built calculating and analytical machine and punched cards, processed the results of the population census in the United States for three years as of 1890. Electricity was used in the car for the first time. In 1896, Hollerith founded a company producing punching machines and punched cards.

In 1936, the English mathematician A. Turing introduced the concept of a Turing machine as a formal refinement of the intuitive concept of an algorithm. The scientist showed that any algorithm, in a sense, can be implemented on a Turing machine, and, therefore, proved the possibility of building a universal computer. Both machines can similarly be equipped with initial data of the problem being solved and a program for solving it. The Turing machine can be considered an idealized model of a universal computer.

In the 40s XX century The mechanical element base of computers began to be replaced by electrical and electronic devices. The first electromechanical machines were created in Germany by K. Zuse (Ts-3, 1941) and in the USA under the leadership of Harvard University professor G. Aiken (MARK-1, 1944). The first electronic machine was created in the USA by a group of engineers led by Dr. J. Mauchly of the University of Pennsylvania and graduate student J. Ecksrt (ENIAC - electronic numerical integrator and calculator, 1946). In 1949, EDSAC was built in England - the first machine with automatic program controlled, internal storage device and other necessary components of modern computers.

Computer logic circuits were developed in the late 1940s. J. von Neumann, G. Goldstein and A. W. Burks. A special contribution to this work was made by the American mathematician John von Neumann, who took part in the creation of ENIAC. He proposed the idea of ​​storing control commands and data in computer memory and formulated the basic principles for constructing modern computers. Stored program computers turned out to be faster and more flexible than previously created ones.

In 1951, the first mass production of electronic machines UNIVAC (universal automatic computer) was launched in the USA. At the same time, IBM began serial production of the IBM/701 machine.

In the USSR, the first authors of the computer, invented in December 1948, are I. S. Bruk and B. I. Rameev. And the first Soviet computer with a stored program was created in 1951 under the leadership of S. A Lebedev (MESM - small electronic calculating machine). In 1953, serial production of vehicles began in the Soviet Union, the first of which were BESM-1 and Strela.

With the advent of digital program-controlled machines, a new area of ​​applied mathematics was born - programming. As a field of study and profession, it emerged in the 1950s. Initially, programs were compiled manually in machine languages ​​(machine codes). The programs were cumbersome, and their debugging was very labor-intensive. To simplify the techniques and methods for composing and debugging programs, mnemonic codes were created that are similar in structure to machine language and use symbolic addressing. Assemblers translated a program written in mnemonic code into machine language and, expanded with macro instructions, are still used today. Next, autocodes were created that could be used on different machines and made it possible to exchange programs. Autocode is a set of pseudo-commands for solving specialized problems, for example, scientific or engineering ones. For such tasks there is a developed library of standard programs.

Until the end of the 1950s. The main design element of the computer was vacuum tubes (1st generation). During this period, the development of programming ideology and technology was driven by the achievements of American scientists J. von Neumann, who formulated the basic principles of computer construction, and J. Backus, under whose leadership Fortran (Formula Translation) was created in 1954, the first high-level programming language , used to this day in various modifications. So, in 1965, at Dartmouth College, D. Kamany and T. Kurtz developed a simplified version of Fortran - Basic. In 1966, a commission under the American Standards Association (ASA) developed two language standards: Fortran and Basic Fortran. Further modifications of the language are also used (eg 1970, 1990).

Advances in the field of electronics and microelectronics have made it possible to replace the computer element base with a more advanced one. At the end of the 1950s. bulky vacuum tubes are replaced by semiconductors (miniature transistors). Second generation computers appear; then after about 10 years - III generation computers on integrated circuits; in another 10 years - IV generation computers based on large integrated circuits (LSI). In Japan in the 1990s. V generation computer projects were implemented, which used advances in the field of artificial intelligence and bioelectronics. If the volume of random access memory (RAM) of one of the best domestic machines of the 1960s. M-20, created under the leadership of S.A. Lebedev in 1958, had 4096 words (8 KB) and a speed of 20 thousand operations per second, while modern personal computers are characterized by RAM of tens of MB and speed of hundreds of millions of operations per second , which allows you to solve the most complex problems.

In 1953, A.A. Lyapunov proposed an operator programming method, which consisted of automating programming, and the algorithm for solving the problem was presented as a set of operators forming a logical diagram of the problem. Schemes made it possible to dissect the cumbersome process of drawing up a program, the parts of which were compiled according to formal rules and then combined into a whole. To test the ideas of the operator method, the first programming program PP-1 was developed in the USSR in 1954, and in 1955 a more advanced one - PP-2. In 1956, the BESM PP was developed, in 1957 - PPSV, in 1958 - for the Strela vehicle.

In the USA in 1954, an algebraic approach began to be used, which essentially coincides with the operator method. In 1956, the IBM Corporation developed a universal Fortran software for automatic programming on the IBM/704 computer.

During this period, as experience and theoretical understanding were gained, programming languages ​​were improved. In 1958 -1960 ALGOL was created in Europe, which spawned a whole series of Algol-like languages: Algol W, (1967), Algol 68, Pascal (N. Wirth, 1970), C (D. Ritchie and B. Kernighan, 1972), Ada (under J. Ishbia, 1979), C++ (1983).

In 1961-1962 J. McCarthy at the Massachusetts Institute of Technology created the functional programming language Lisp, which opened one of the alternative directions in programming proposed by J. von Neumann.

At the beginning of the 1970s. There were more than 700 high-level languages ​​and about 300 translators for programming automation.

1.3 Procedural programming languages

Procedural or imperative programming is a reflection of von Neumann computer architecture. A program written in this language is a sequence of commands that define an algorithm for solving a problem. The main command is the assignment command, designed to determine and change the contents of computer memory. The fundamental idea of ​​procedural programming is to use the computer's memory to store data. The functioning of the program is reduced to the sequential execution of commands in order to convert initial state memory, i.e. the program performs a step-by-step transformation of the memory contents, changing it from the initial state to the resulting one.

One of the first high-level procedural programming languages ​​was Fortran, created in the early 50s. in the USA by IBM. The first publication about it appeared in 1954. The main purpose of the language is programming scientific and technical problems. The objects of language are integers and real numbers and numeric variables. Expressions in it are formed using four arithmetic operations: exponentiation, logical operations AND, OR, NOT, relational operators and parentheses. The main Fortran operators are input, output, assignment, conditional and unconditional jump, loop, subroutine call.

For many years it was one of the most widely spoken languages ​​in the world. During this time, a huge library of programs written in Fortran has been accumulated. And now work is underway on the next Fortran standard. In 2000, the F2k version of Fortran was implemented, and there is a standard version of HPF (HighPerformanceFortran) for parallel supercomputers. Many Fortran features are used in the PL-1 and BASIC languages.

COBOL (Ommon Zfusiness Oriented language - a generally accepted business language) is a programming language focused on solving data processing problems. Widely used to solve accounting, economic and management problems. Developed in the USA in 1958-1960. A Cobol program takes the form of a series of sentences written in English language and resembles regular text. Groups of sequentially written statements are combined into sentences, sentences into paragraphs, paragraphs into sections. The programmer assigns names (labels) to paragraphs and sections, which makes it easier to directly access the desired section of the program. The Russian version of the language was adopted in the USSR. Cobol provided powerful tools for working with large amounts of data stored on various external media. Many applications have been created in this language, some of which are still actively used today.

Suffice it to say that one of the highest paid categories of citizens in the United States are Cobol programmers.

Algol was developed by a group of foreign specialists in 1960 and was the result of international cooperation in the late 50s. (Algol-60). Algol was intended to record algorithms constructed in the form of a sequence of procedures used in solving assigned problems. Practitioners perceived this language ambiguously, but nevertheless, as a recognized international language, it played a big role in the development of basic programming concepts and for training programmers. It introduced the concepts of “block structure of a program” and “dynamic memory allocation” for the first time. Within a block in Algol you can enter local notations that are independent of the rest of the program. Despite its international origin, Algol-60 is less widespread than

Fortran. For example, not all foreign computers had translators from ALGOL-60. In 1968, as a result further development and improvements to ALGOL-60, the ALGOL-68 version was created. It is a multi-purpose, general-purpose advanced programming language.

The latter property made it possible, using the same translator program, to translate from various extended versions of the language without additional costs for adapting this language to different categories of users, for obtaining problem-oriented dialects of the language. In terms of its capabilities, Algol-68 is still ahead of many programming languages, but due to the lack of efficient computers, it was not possible to create good compilers for it in a timely manner. In our country in those years, under the leadership of academician Andrei Petrovich Ershov, the Alpha translator was created, which represented a fairly successful Russified version of Algol.

In the mid-60s. Dartmouth College mathematics faculty members Thomas Kurtz and John Kemeny created a specialized programming language that consisted of simple English words. The new language was called Beginners Universal Symbolic Code, or BASIC for short. 1964 is considered the year of birth of this language. It is most widely used when working on personal computers in interactive dialogue mode. The popularity of BASIC is explained both by the ease of its development and the presence of sufficiently powerful universal tools suitable for solving scientific, technical and economic problems, as well as problems of a domestic nature, gaming, etc. According to the concepts inherent in BASIC, various default rules are widespread in it, which is considered bad form in most programming languages ​​of this type. Many versions of the language arose, often with little compatibility with each other. However, knowing one of the versions, you can easily master any other. BASIC actively absorbs many concepts and innovations from other languages.

Initially, the interactive mode was carried out using an interpreter; nowadays there are also compilers for this language.

In the early 60s. Each of the existing programming languages ​​was focused on different classes of tasks, but to one degree or another was tied to a specific computer architecture. Attempts have been made to overcome this shortcoming by creating a universal programming language. PL /1 (PL /1 -- Programming language One) is the first multi-purpose universal language, developed in the USA by IBM in 1963-1966. This is one of the most common universal languages, it is well suited for solving problems in the field of computer technology: research and planning of computational processes, modeling, solving logical problems and studying logical circuits, developing software systems. During the development of PL/1, the basic concepts and tools of the languages ​​Fortran, Algol-60, and Cobol were widely used. PL/1 is a rich and flexible language that makes it possible to insert and correct program text during its debugging. The language has become widespread, and translators from it are available for many types of computers. IBM continues to support this language today.

Pascal is one of the most popular procedural programming languages, especially for personal computers. Created as an educational programming language in 1968-1971. Niklaus Wirth at the ETH in Zurich (Switzerland), it was named after the French mathematician and philosopher Blaise Pascal (1623--1662). N. Wirth's task was to create a language based on simple syntax and a small number of basic structures, translated into machine code by a simple compiler.

Pascal's language concept is based on a systematic approach, which involves a transition from a general task to specific ones (simpler and smaller in scope). Pascal's basic principles include:

* Structured programming. Its methodology is based on the use of routines and independent data structures that combine related sets of data. Subroutines allow you to replace ordered blocks of commands in program text, making the program code more compact. The structured approach ensures the creation of more understandable and easy-to-read programs and simplifies their testing and debugging.

* Top-down programming, when a task is divided into simple, independently solved subtasks. Then, based on the solved subproblems, the solution to the original problem is built completely - from top to bottom.

The development of the Pascal language was based on Algol-60, but it tightened a number of requirements for the program structure and has capabilities that allow it to be successfully used to create major projects, for example, translator programs. Pascal has been implemented for all types of computers, and is currently used in many educational institutions for teaching programming, as well as for creating large real-world projects.

The period from the late 60s to the early 80s. characterized by a rapid growth in the number of different programming languages, which, paradoxically, accompanied the software crisis. This crisis was particularly acute for the US military department. In January 1975, the Pentagon decided to restore order among the countless translators and created a committee to develop one universal language. On a competitive basis, the committee reviewed hundreds of projects and found that no existing language could meet their requirements, leaving two projects for final consideration. In May 1979, the winner was announced - a group of scientists led by Jean Ikhbia. The winning language was named ADA, in honor of Ada Lovelace, daughter of the great poet Byron. In her youth, she was fascinated by the ideas of Charles Babbage and helped him write a description of the machine, and in the early 40s. XIX century developed the world's first computer program. The ADA language is a direct descendant of Pascal. It is designed for the creation and long-term maintenance of large software systems, managing processes in real time. The language clearly expresses the modularity of its constructions, and ensures the convenience of organizing various connections between modules. Its important advantage is the possibility of parallel programming of program branches, which can then be implemented on multiprocessor computers. The ADA language is difficult to learn.

The C programming language was developed at Bell Labs to implement operating system UNIX in the early 70s and was not considered as widespread. It was planned to replace Assembler in order to be able to create equally efficient and compact programs, and at the same time not depend on a specific type of processor. In terms of the set of control constructs and data structures, C has the capabilities inherent in high-level languages, and at the same time it has the means of directly accessing the functional units of the computer. The syntax of the C language allows you to create concise program code. One of the significant features of C that brings it closer to functional languages ​​is that the differences between expressions and operators are smoothed out. For example, expressions that are program statements can additionally perform assignment operations. The use of subroutines is based on the concept of a function, which can also combine the capabilities of a procedure. There is no concept of procedure in the C language. The syntax of the language makes the program difficult to read. The lack of strict data typing and the ability to combine several actions in one expression make this language attractive to programmers, providing them additional features, but does not contribute to reliability created programs. C language is popular and widely used professional programmers. It is currently implemented for most computer platforms.

1.4 Artificial intelligence languages

The very concept of “artificial intelligence” arose at the dawn of computing technology. Despite its venerable age, this term does not have an exact definition and has always been understood in an intuitive sense. It is usually said that the field of artificial intelligence includes those tasks that humans still solve better than computers. Thus, the range of problems solved within the framework of artificial intelligence is constantly changing dynamically. For example, a few years ago, teaching computers to play chess was the prerogative of AI (from the English Artificial Intelligence - artificial intelligence), but today more and more experts believe that playing chess is no longer a problem of artificial intelligence. Today, the main problems solved within the framework of AI are approximately the following: building expert systems, solving search problems in which a complete enumeration of options is theoretically impossible (including game programming), modeling biological forms, pattern recognition. The fundamental principles for solving all these problems were laid down in the early seventies, but due to the fact that AI tasks are very resource-intensive, they have only received real development in our days.

To solve AI problems, back in the early seventies, two specific programming languages ​​were created - Prolog and Lisp. A modern artificial intelligence developer must be fluent in each of them. Next, we will dwell on their most characteristic features.

Historically, Lisp has been more old language. The concept he introduces is called functional programming, which is a direct extension of the conventional algorithmic approach. A Lisp program is a function, the result of which is the result of the program, and the arguments, most often, are other function calls. Due to objective reasons, Lisp has adopted parenthesis-free notation when calling functions; calling any function is carried out using a list, the first element of which is the name of the function, and all other elements represent arguments. For example, the addition of two numbers A and B can look like this: (add A B), the addition of three numbers can look like this: (add A (add B C)). The most important feature of Lisp is that a record of the form (add A B) can be not only a list, like a function call, but also a list, like a data element, containing three components - add, A and B. The decision is whether the list should be used as data or should be interpreted can, within Lisp, be decided by the program itself. This gives the program the ability to modify its own code, which is extremely important for AI applications.

Prolog uses an approach to programming that is fundamentally different from algorithmic programming and is called goal-oriented or declarative programming. In algorithmic programming, we specify a sequence of actions that the program should perform, i.e. We describe how it should work. In declarative programming, we describe what the program should do, and how these actions will be carried out is a matter for the Prolog system.

Rules of inference, directed graph theory, and mathematical logic were invented long before the advent of such areas of research as artificial intelligence. But it was research in this area that made it possible to adapt the formal apparatus of these theories to the tasks of representing knowledge and to find highly effective means of their implementation. The development of modern production, object-oriented and procedural deduction systems is largely determined by such applications of artificial intelligence as problems of classification and design, described in a number of chapters of this book.

Although artificial intelligence research has produced many different representation languages, they all share a number of similar properties.

Firstly, all such languages ​​are declarative in the sense that they allow one to describe knowledge relevant to solving a specific problem, and not a method for solving it. Most expert systems use an architecture in which knowledge is separated from the inference engine. This allows experiments to be carried out using the same knowledge in different processing modes. Some new architectural solutions, such as those using bulletin boards, allow control knowledge to be represented declaratively and processed in the same way as other types of knowledge.

Secondly, all such languages ​​are organized according to a modular principle. Just as the language itself hides implementation details from the user, individual knowledge modules hide their implementation details from each other by communicating through a global data structure (in production and bulletin board systems) or through specific protocols (in object-oriented systems). ). This allows you to increase the volume of the knowledge base and use the methodology for testing the designed system on prototypes.

Third, the mechanism for calling procedures in such languages ​​is based on pattern matching in one form or another. Activation of rules in production systems, inclusion of knowledge sources in bulletin board systems, and resolution of phrases in deductive systems use such mapping in one form or another. This is a very powerful and fairly general mechanism that facilitates the modular organization of system components, although it requires certain computing resources.

Knowledge representation languages ​​are usually implemented as inference systems driven by pattern matching. A program in any of these languages ​​consists of many relatively independent modules (rules, structures, or phrases) that map to input data and manipulate data in memory. There are three essential components to any such system.

* A set of modules, each of which can be activated by data entering the system input, if this data matches the pattern defined for this module.

* One or more dynamic data structures that can be analyzed and modified by the activated module.

* An interpreter that cyclically controls the selection and activation of modules.

Research in this area in recent years has concentrated around the following tasks:

* search effective methods interpreter implementations;

ѕ creation on the basis of “pure formalisms” of software suitable for practical application;

* conducting experiments with “mixed” formalisms that combine different paradigms.

Today, languages ​​such as CLIPS provide the user with a wide variety of means for representing and manipulating knowledge, which in the hands of specialists allows the creation of programs to solve a wide range of practical problems.

1.5 Object-oriented approach to programming

In place of structured programming in the early 1990s. object-oriented programming has arrived - OOP. It can be considered as modular programming of a new level, when instead of a largely random, mechanical combination of procedures and data, their semantic connection becomes the main thing. An object is considered as a logical unit that contains data and rules (methods) for processing them. An object-oriented language creates a “software environment” in the form of many independent objects, each of which has its own properties and ways of interacting with other objects. The programmer defines a set of operations, describing the structure of message exchange between objects. As a rule, it does not “look” inside objects, but if necessary, it can change elements inside objects or form new ones.

OOP is based on three important principles (encapsulation, inheritance, polymorphism), which give objects new properties.

* Encapsulation - combining data and algorithms for processing them into a single whole. The data here are the fields of the object, and the algorithms are the object methods.

* Inheritance is the ability of objects to generate their descendants. A child object automatically inherits all fields and methods, can supplement objects with new fields, replace and supplement methods.

* Polymorphism is the property of related objects to solve problems of similar meaning in different ways.

The idea of ​​using software objects has been explored over the years by various scientists. Simula-67 is considered one of the first languages ​​of this type. And in 1972, the Smoltalk language, developed by Alan Kay, appeared, which approved the status of OOP.

At the present stage, instrumental environments and visual programming systems are being developed for creating programs in high-level languages: (Turbo Pascal, Delphi, VisualBasic, C++Builder, etc.).

1.6 Component programming

The development of the basic principles of object-oriented programming began with the advent of component programming (CP). KP - dynamic process without strict rules, performed mainly for distributed development (programming) of distributed systems. The essence of CP is that independent designers and programmers develop independent components (individual parts) of a single system, distributed over many nodes of a large network. These parts may belong to different owners and be managed by organizationally independent administrators.

In the CP, a component is considered as a storage (in the form of DLL or EXE files) for one or more classes. Classes are distributed in binary form, not as source code. Providing access to class methods is carried out through strictly defined interfaces according to the protocol. This eliminates the problem of compiler incompatibility, allowing you to change class versions in different applications without recompilation. Interfaces define the content of the service and act as an intermediary between the client and the server.

Microsoft has created technologies for distributed development of distributed systems, such as COM (Component Object Model), COM+, .NET. Other technologies have also been developed: CORBA (OMG consortium), JAVA (Sun Microsystem company), etc. The idea of ​​transferring the functions of algorithm compilers and programmers to a computer gave new opportunities for the development of the field of artificial intelligence, which was supposed to create methods for automatically solving intellectual problems. The formalization of the knowledge that professionals in various fields have, their accumulation in knowledge bases implemented on a computer, became the basis for the creation of expert systems. V generation computers, intelligent robots, and expert systems operate on the basis of knowledge bases. These systems can not only find a solution to a particular problem, but also explain how it was obtained.

The independence of high-level languages ​​from computers has attracted specialists from various fields of knowledge into the field of algorithmization of problems, made it possible to use numerous standard standard programs, and allowed programmers to eliminate duplication in writing programs for various types of computers and significantly increase labor productivity.

At the end of the 1980s. V generation computer projects appeared in Japan and the USA, implemented in the late 1990s. Progress in programming is associated with progress in the architecture of computer systems, a departure from the von Neumann concept, and with advances in the field of artificial intelligence. Revolutionary changes in the elemental base of computers are associated with research in bioelectronics.

At the present stage, programming includes a set of issues related to writing specifications (problem conditions), designing, coding, testing and functioning of computer programs. Modern computer software has a complex structure and usually includes an operating system, translators from various languages, text-based control and diagnostic programs, and a set of service programs. For example, Japanese scientists are developing the idea of ​​a “ring structure” of six levels to design software systems:

1. (internal) programs for equipment;

2. OS kernel;

3. pairing programs;

4. user-oriented part of the OS;

5. programming systems;

6. (external) user programs.

According to these research projects, it is planned to simplify the process of creating software by automating the synthesis according to the specifications of the original requirements in natural languages. IN Lately In Japan, they managed to create a robot translator that translates English into Japanese and vice versa, doing this in a human voice. All developed countries are working on software packages for creating robots. For many areas of human activity.

1.7 Application of structured and object-oriented programming methods

The widespread use of structural and object-oriented programming methods using graphical models was combined with the lack of tools. This has given rise to the need for software and technology tools of a special class - CASE (Computer Aided Software Engineering), implementing the technology for creating and maintaining software for various systems. The prerequisites for the emergence of CASE technologies arose by the end of the 1980s. Initially, the term "CASE" was applied only to automation of software development, but now software engineering has a broader meaning for systems development in general. CASE technologies include the development and implementation of high-level languages, methods of structured and modular programming, design languages ​​and means of supporting them, formal and informal languages ​​for describing system requirements.

At the beginning of the 20th century. with the creation of the mechanical typewriter, it became possible to create printed text for the public, although making changes to such text (correcting errors) was quite labor-intensive work. Then came electric typewriters. With the advent of personal computers, the preparation of printed text has become much more advanced. In the last two decades of the last century, many complexes of text processing programs have already been developed, which were first called text editors, and as they expand functionality- word processors.

At the beginning of this century, word processors became more advanced. Along with simpler ones (for example, Professional Write, etc.), powerful ones have appeared, such as MS WinWord, Word Perfect Word Star 2000, etc. Among the domestic ones, the Lexicon word processor has become widespread.

Since the early 1980s. Table processors began to be used to prepare and process numerical information. In 1979, D. Bricklin proposed the first spreadsheet program, VisiCalc. In 1981, the Super Calc system from Computer Associates was developed, in 1982 - Multiplan from Microsoft, then a package for IBM PC Lotus -2-3 from Lotus Development, Russified packages ABAC, DRAGON and etc. In 1985, the Excel spreadsheet processor from Microsoft appeared, initially for personal computer Macintosh and then for IBM PC compatibles. This processor was developed in parallel with the Windows OS, its versions absorbed all the features GUI, up to Excel versions 5.0 like Windows applications 3.1, Excel 7.0 as Windows 95 applications, etc. In recent years, quite a lot of systems have been created for preparing spreadsheet documents, i.e. spreadsheets, spreadsheet processors (for example, Corel Quattro 6.0 from Corel Co, Lotus 5.0 from Lotus Development Co", Office Proftessional for Windows firms"Microsoft") - but the most widely used are electronic Excel tables.

A large number of standard relational database management systems have been developed - DBMS (for example, MS Access, paradox, etc.), on the basis of which relational databases are built in various subject areas.

For many organizations (especially management ones) so-called office packages, in which applications operating on the basis of a single OS include systems for working with various types of information. For example, application packages for the Windows OS have been created (MS Office, Word Perfect Office from Corel, Star Office from Sun Microsystems, etc.), which include software tools for performing functions for processing all types of information. For example, MS Office includes improvements from year to year (depending on latest version Windows OS) word processing tools (MS Word), graphics (PhotoDraw) and presentations (PowerPoint), tables (Excel), databases (Access), Email(Outlook), working on the World Wide Web (FrontPage), creating sound clips (MS Sound Recorder).

2. PRACTICAL PART

2.1 Software rationale

Delphi is a development environment for programs designed to work on operating systems Windows family. Programs in Delphi are created on the basis of modern visual design technology, which, in turn, is based on the ideas of object-oriented programming. Programs in Delphi are written in the ObjectPascal language, which is a successor to the TurboPascal language. As its name suggests, this language also embodied the concept of object-oriented programming.

Using Delphi, you can create various types of programs - console applications, window applications, and applications for working with databases and the Internet. Console applications use the procedures Read, Readln, Write, Writeln to input and output data. To run a console application, the MS DOS operating system mode is emulated.

Windowed applications are the main type of applications used in operating systems of the Windows family. Windowed applications are the vast majority of application programs designed to run on Windows, for example, programs such as Explorer, Word processor, Excel spreadsheet, graphic editor and many others. Delphi uses to create windowed applications special components. With their help, text information is entered and displayed, a graphical user interface is created, etc.

Microsoft Office Access or simply Microsoft Access is a relational database management system (DBMS) from Microsoft Corporation. Has a wide range of features including linked queries, communication with external tables and databases. Thanks to the built-in VBA language, you can write applications that work with databases in Access itself.

Main components of MS Access:

· table builder;

· screen form builder;

· SQL query builder (the SQL language in MS Access does not comply with the ANSI standard);

· builder of printed reports.

They can call scripts in VBA, so MS Access allows you to develop applications and databases practically from scratch or write a wrapper for an external database.

Microsoft Jet Database Engine (English), which is used as the MS Access database engine, is a file server DBMS and therefore is applicable only to applications that work with small amounts of data and with a small number of users simultaneously working with this data. Access itself lacks a number of mechanisms needed in multi-user databases, such as triggers.

Access, when working with a database, interacts differently with the hard (or floppy) disk than other programs.

In other programs, the document file, when opened, is completely loaded into RAM, and the new edition of this file (changed file) is entirely written to disk only when you click the “save” button.

In Access, a new revision of the contents of a modified table cell is written to disk (saved) as soon as the keyboard cursor is placed in another cell (or a new revision of the modified entry is written to disk as soon as the keyboard cursor is placed in another entry (row)). Thus, if the power is suddenly turned off, only the changes to the record that you did not have time to leave will be lost.

Data integrity in Access is also ensured through the transaction mechanism.

There is also a “Save” button in Access, but in Access in data viewing mode it is needed, first of all, to save the changed display mode of a table or other object - that is, to save changes such as:

· changing column widths and row heights,

· rearranging columns in data viewing mode, “fixing” columns and releasing frozen columns,

· change sorting,

· applying a new filter,

· changing the font; text, grid and background colors,

In addition, in Access, this button is needed in Design mode to save changes to the structure of a database object made in this mode.

Even if in the process of working with the database file the “Design” mode was not used and new data was not added to the database (that is, if the database was only viewed), then the database file still tends over time, while working with it, increase more and more in size. The use of new sortings and filters greatly helps to increase the file size (especially if several different, very different sortings/filters were applied).

This increment in file size is, in fact, emptiness, but this emptiness lies within the file, increasing its volume.

To return the database file to its normal (minimum) volume (that is, to remove emptiness from the file), Access has a button “Compress and restore the database” - this button must be pressed from time to time (when this button is pressed, no information, no data are not deleted from the database file). You can also start the database with the compact parameter, which will perform compression automatically and close the database at the end of the process.

language programming development program

2.2 Creating a database

Four tables were created in the database: Address, Personal data, Position, Phones.

The “Address” table stores information about the place of residence of employees. The following fields were created in it: Employee, Country, City, Home_Address.

Figure 1 shows the Address table in design mode.

Figure 1. - “Address” table

The “Position” table stores information about the position held by the employee. The following fields were created in it: Employee, Department, Position.

Figure 2. - Table “Position”

The “Personal Data” table stores information about employees. The following fields were created in it: Key, Last name, First name, Patronymic, Gender, Marital status, Children, Date of birth, Date of admission, Experience, Education, Military service (husband).

Figure 3. - Table “Personal data”

The “Telephones” table stores information about the means of communication with an employee. The following fields were created in it: Employee, Phone, Note.

Figure 4. - Table “Telephones”

2.3 Launching the application

When you start the program, you are greeted by a splash screen.

This form contains Timer, Label and Image components

Figure 5. - Screensaver form

· The Timer component has only four properties and one event, and working with the Delphi Timer component is very simple.

...

Similar documents

    Basic information about programming languages ​​and their composition. Computer program. Compiler usage and operators. High level programming languages. Object-oriented programming concepts. Languages ​​of artificial intelligence.

    presentation, added 08/14/2013

    Machine codes and assembler. The first high-level programming languages. FORTRAN programming language. Advantages and disadvantages of ALGOL. Scientific and accounting programs. The basic principles that were followed when creating the Basic programming language.

    course work, added 06/21/2014

    Using Object Oriented Programming - good decision when developing large software projects. Object and class as the basis of an object-oriented language. The concept of object-oriented languages. Languages ​​and software environments.

    test, added 01/17/2011

    History of the development of programming languages; creation and distribution of the C++ language; a new approach to object-oriented software development. Application of modeling of subject areas for structuring their information reflections.

    abstract, added 12/06/2010

    Description of modern programming languages ​​(Pascal, Assembly, C++, BASIC, Logo, Fort, Prolog, Refal and Lex). Concept, purpose and components of programming systems (machine-oriented and machine-independent programming systems).

    course work, added 08/18/2010

    Semantics of programming languages. Procedural and object-oriented programming languages. Standard template library. Bytecode independence from the operating system and hardware and the ability to run a Java application on any device.

    abstract, added 11/24/2009

    Characteristics and properties of programming languages. Study of the evolution of object-oriented programming languages. Construction of an evolutionary map of OOP mechanisms. Development of a conceptual model of the functioning of the user interface.

    course work, added 11/17/2014

    The concept of object-oriented programming, characteristics of the languages ​​used. Practical development of object-oriented programming tools for information security problems: software implementation in C++, as well as Turbo Pascal.

    course work, added 12/22/2011

    History of the origin of Web programming languages. Historical facts of the appearance of the very first of them. The essence of modern, currently relevant, HTML language, history of the appearance of the PHP language, application Java language Script and its use.

    abstract, added 02/23/2013

    Development and classification of programming languages. Guidelines on learning programming languages. Basic concepts of object-oriented programming. Creation of an electronic textbook using hypertext markup language.

MINISTRY OF EDUCATION AND SCIENCE OF UKRAINE

CRIMEA ECONOMIC INSTITUTE

State Higher Educational Institution “KYIV NATIONAL ECONOMIC UNIVERSITY named after. V. Getman"

DEPARTMENT OF INFORMATION SYSTEMS AND TECHNOLOGIES

PRACTICE REPORT

in the discipline: “Economic Informatics”

In the first section I consider the issue concerning the “History of Programming Languages”. As computer technology developed, different programming techniques emerged. At each stage, a new approach was created that helped programmers with the increasing complexity of programs. The first programs consisted of installing key switches on the front panel of the computing device. Obviously, only small programs could be written in this way.

With development computer equipment a machine language appeared, with the help of which the programmer could set commands, operating with memory cells, fully using the capabilities of the machine. However, using most computers at the machine language level is difficult, especially when it comes to input/output. Therefore, we had to abandon its use. At the present stage, many languages ​​have appeared that allow you to perform a wide variety of functions based on their structure and capabilities.

In the second section, I look at creating and using formulas in Excel. Formulas in Excel help you solve economic problems without much effort and without requiring extensive knowledge of mathematics and economics. Formulas are used to perform calculations using values ​​contained in other cells. Excel formulas can perform simple arithmetic, complex calculations, and logical tests. Moreover, they allow you to convert numbers or create alternative scenarios with immediate calculation of results, without the need for additional data entry.

In the third section, I describe the creation of my website on the topic: “Holiday home website.” Currently, this is very relevant and directly related to my future profession.


The physical principles of operation of electronic computer devices are such that the computer can accept commands consisting only of ones and zeros, i.e. machine code. At the initial stage of computer development, a person needed to compose programs in a language understandable to the computer, in machine codes. Each instruction consisted of an opcode and operand addresses, expressed as various combinations of ones and zeros.

As further practice of communicating with a computer showed, such a language is cumbersome and inconvenient. When using it, it is easy to make a mistake by writing 1 or 0 in the wrong sequence. The program is very difficult to control. In addition, when programming in machine codes, you need to have a good knowledge of the internal structure of the computer and the operating principle of each block. And the worst thing about such a language is that programming in machine codes requires a lot of time, labor, and increased attention from the programmer.

This led to the need to find a tool that would make it easier to establish communication between a person and a computer. And such a means was found: various symbolic languages ​​and their corresponding translators (programming systems).

Characteristics of programming languages

A programming language is a special language in which commands are written to control a computer. Programming languages ​​are designed to make it easier for people to read and write for computers, but they must then be translated (by a translator or interpreter) into machine code, which alone can be executed by the computer. Programming languages ​​can be divided into high-level languages ​​and low-level languages.

A low-level language is a programming language designed for a specific type of computer and reflecting its internal machine code; Low-level languages ​​are often called machine-oriented languages. They are difficult to convert for use on computers with different CPUs, and also quite difficult to learn, since it requires a good understanding of the internal workings of the computer.

A high-level language is a programming language designed to satisfy the programmer's requirements; it does not depend on the internal machine codes of any type of computer. High-level languages ​​are used to solve problems and are therefore often called problem-oriented languages. Each high-level language command is equivalent to several commands in machine codes, so programs written in high-level languages ​​are more compact than similar programs in machine codes.

A brief history of programming languages. Chronology

From a certain point of view, the entire history of the computer industry and computer science can be represented as the history of the development of programming languages. Times are changing, tasks are becoming more complicated, what previously required man-years is now done by enthusiasts on their knees in a few weeks; a huge mass has accumulated standard solutions, typical libraries and typical programmers. And the creation, development and change of programming languages ​​is in full swing.

The object of the research topic is programming languages, which at different times and under different conditions were and are offered as an alternative to the usual and generally accepted ones; their fate, properties and chances.

Now I will offer you a short history programming languages:

1801 - Joseph Maria Jacquard embroiders "hello world" onto fabric using punched cards. Khabrovians of those times were dissatisfied with the lack of tail recursion, multithreading and capital letters.

1842 - Ada Lovelace writes the first program. Its success is hampered by a small problem - computers have not yet been invented to run this program. A century and a half later, enterprise application architects would adopt Ada's technique of writing non-executable programs and call this method UML.

1936 - Alan Turing invents all the languages ​​that could theoretically exist, but fails to patent them.

1936 - Alonzo Church also invents every possible language, only better. His lambda calculus is unpopular because it is unlike C. Critics don't mind that C hasn't been invented yet.

1940s - Various "computers" are "programmed" by soldering wires and shorting contacts.

1957 - John Backus and IBM invent Fortran. There's no joke about IBM and Fortran. The Fortran compiler throws an error if the programmer is not wearing a tie.

1958 - John McCarthy and Paul Graham come up with LISP. LISP's popularity is hampered by the depletion of the world's supply of parentheses; fortunately, the supply of curly and angle brackets is practically inexhaustible. However, LISP (nowadays known as Lisp, sometimes Arc) is the generally accepted standard in the field of "fundamental information technology concepts such as recursion and forgiveness"

1964 - John Kemney and Thomas Kurtz write BASIC, an unstructured language for people with no programming knowledge.

1970 - Guy Steele and Gerald Susman create the Circuit. As a result of their efforts, "Almighty Lambda" appears, and then "Almighty Lambda, the Universal Slow Cooker"..

1970 - Niklas Wirth creates the procedural language Pascal. Many people are unhappy with the different assignment operator syntax from C. Critics are not bothered by the fact that the C language has not yet been invented.

1972 - Dennis Ritchie invents a pistol that fires in both directions at the same time. Not satisfied with the number of deaths and injuries caused by this device, he creates the C and Unix language.

1972 - Alain Colmero invents the logical language Prologue. The maximum task of a scientist is to endow a computer with the intelligence of a two-year-old child. He does a brilliant job of writing a program that answers “No!” for any request.

1973 - Robin Milner writes ML, a language based on M&M type theory. ML generates SML, which has formally described semantics. The ML family of languages ​​includes OCaml, F# and Visual Basic.

1980 - Alan Kay writes Smalltalk and coins the term "object-oriented". When asked to explain, he replies, “Programs in OOP are just objects.” When asked what objects are made of, he answers “of objects” and explains “everything is made of objects, including objects. And it stands on four elephants."

1983 - Björn Stroustrup takes the C language, molds whatever comes to mind on top of it, and calls it C++. In order for programs to compile in a reasonable time, they have to be sent into the future by Skynet's artificial intelligence. Why Skynet needs this is unclear.

1986 - Brad Cox and Tom Love come up with Objective-C. They say it "combines the security of C with the incredible speed of Smalltalk."

1987 - Larry Wall falls asleep on his keyboard. Waking up, he mistakes the line on the monitor for a program in the language that God intended his prophet Larry to write. This is how Pearl appears.

1990 - A commission of Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and the Humane Society designs Haskell, a purely functional language with lazy evaluation.

1991 - Dutch programmer Guido van Rossum goes to Argentina. After undergoing a mysterious operation, he returns with a scar on his skull, Python writes, crowds of fans proclaim him Dictator for Life, and he declares that “there is only one way.”

1995 - Brendan Eick collects errors from all known languages, adds several new ones and combines everything into Livescript. After some time, the language was renamed Javascript to take advantage of the popularity of the Java language. After some time, the language was renamed ECMAscript.

1996 - James Gosling invents Java. Java is a fairly verbose, statically typed, class-based object-oriented language, with garbage collection, single call dispatch, single implementation inheritance, and multiple interface inheritance. Sun loudly proclaims Java as the most innovative language.

2001 - Anders Hejlsberg comes up with the C1. C1 is a fairly verbose, statically typed, class-based object-oriented language, with garbage collection, single call dispatch, single implementation inheritance, and multiple interface inheritance. Microsoft loudly proclaims C1 as the most innovative language ever.

Language Main Use Description
Ada On defense High level
Assembler Jobs that require detailed control of hardware, fast execution and small programs Fast and effective, but requiring some effort and skill
BASIC In education, business, home Easy to learn
WITH System programming, universal programming Fast and efficient, widely used as a universal language
C++ In object-oriented programming Based on C language
COBOL Programming in business Strictly focused on commercial tasks, easy to learn, but a lot of operators
Fort Application management Uses inverse Polish notation
Fortran Scientific work and calculations Based on mathematical formulas
Lisp Artificial intelligence A symbolic language with a reputation for being difficult to learn
Modula-2 System programming and real-time programming, universal programming Highly structured, designed to replace Pascal for "real world" applications
Oberon Universal programming A small, compact language that combines many features of Pascal and Modula-2
Pascal Universal language Highly structured
Prologue Artificial intelligence Symbolic-logical programming system, initially intended for solving theorems, but now used more often to solve problems related to artificial intelligence

Excel is the most popular spreadsheet program today. With its help, they maintain various lists, catalogs, tables, compile financial and statistical reports, provide data from public opinion polls, process the results of scientific experiments, keep records, etc.

Using formulas in Excel is one of the main functions of work. The formula can contain up to 1024 characters. A formula can include the following elements: functions, links, operators, constants. You can use cell references in formulas. A cell on the screen can display either a formula or the result of a calculation using that formula, depending on the value of the formula switch.

2.1 Creating and using formulas in Excel

Formulas are an expression starting with an equal sign and consisting of numerical values, cell addresses, functions, names, which are connected by arithmetic operations signs. The signs of arithmetic operations that are used in Excel include: addition; subtraction; multiplication; division; exponentiation.

Some operations in the formula have higher priority and are performed in the following order:

exponentiation and expressions in parentheses;

multiplication and division;

addition and subtraction.

The result of the formula is the value that is displayed in the cell, and the formula itself is displayed in the formula bar. If the values ​​in cells referenced in formulas change, the result will change automatically.

The formula is the main tool for data analysis. Formulas can be used to add, multiply, compare, and combine values. Formulas follow a specific syntax, which includes the equal sign (=), calculated elements (operands), and operators. Operands can be constants, references or ranges of references, headers, names or functions. Cell coordinates can be entered by pointing the cursor at the desired cell.

How to create a formula using the mouse:

Place the cursor in the cell in which we want to enter the formula.

Enter the = sign.

Place the cursor in the cell whose coordinates should be at the beginning of the formula and click on it.

Enter an action operator (+ or -) or other symbol.

Move the cursor to the cell whose coordinates you want to use and click.

Formulas are used to calculate values ​​based on a combination of other values ​​(numbers, cell coordinates, arithmetic operators(+, -, *,/), as well as other formulas; names of other areas of the worksheet; coordinates of cells from other tables.

How to enter a formula.

When you enter text or a number into a cell, Excel assumes that it is a value. Excel displays values ​​exactly as they were entered (conversions are only possible if some formatting is used for the cell). However, if the first character you enter is an equal sign, Excel knows that you are entering a formula.

After entering, the formula is saved here, but the result obtained with its help is displayed in the cell instead of the formula itself. If you select a cell with a formula, the formula appears in the Formula Bar, where you can edit it.

The cell with the formula displays the result

If you have a cell in your worksheet whose value begins with a # sign, be aware that Excel is telling you that it can't calculate (or display) a result using the formula in that cell. So-called error codes are indicated in a similar way. To ensure that the cell displays the correct result instead of the error code, you must correct the problem by either editing the formula or changing the contents of the cells referenced in the formula.

Operators denote operations that must be performed on the operands of a formula. IN Microsoft Excel four types of operators are included - arithmetic, text, comparison operators and address operators.

Arithmetic operators are used to perform basic mathematical calculations on numbers. The result of an arithmetic operation is always a number. Indicated by the following symbols:

Addition

– subtraction or unary minus

* multiplication

/ division

% percent

^ exponentiation

Comparison operators are used to indicate operations that compare two numbers. The result of a comparison operation is the logical value TRUE or FALSE. Indicated by the following symbols:

> more

< меньше

>= greater than or equal to

<= меньше или равно

<>not equal

The text operator & is used to denote the operation of combining sequences of characters into a single sequence. For example, the result of executing the expression "North" & "wind" would be: "North wind".

Address operators combine ranges of cells to perform calculations. Indicated by symbols:

: - range operator, which refers to all cells between the boundaries of the range, inclusive;

The union operator, which refers to the union of range cells;

space is an intersection operator that refers to common range cells.

The order of actions in formulas

If the formula consists of several operators, the actions are performed in the following order:

: (colon), (comma) (space)

reference operators

–unary minus (for example, –1)

^exponentiation

* and /multiplication and division

And – addition and subtraction

&text operator

= < > <= >= <>comparison operators

To change the order in which statements are processed, use parentheses.

programming language assembler BASIC

Functions in Excel are used to perform standard calculations in workbooks. The values ​​that are used to evaluate functions are called arguments. The values ​​returned by functions as a response are called results. In addition to built-in functions, you can use custom functions in calculations that are created using Excel tools.

To use a function, you must enter it as part of a formula in a worksheet cell. The sequence in which the symbols used in the formula must appear is called function syntax. All functions use the same basic syntax rules. If you violate the syntax rules, Excel will display a message indicating that there is an error in the formula.

If a function appears at the very beginning of a formula, it must be preceded by an equal sign, as in any other formula.

Function arguments are written in parentheses immediately after the function name and separated from each other by the semicolon “;”. Parentheses allow Excel to determine where the argument list begins and ends. Arguments must be placed inside the parentheses. Remember that when writing a function, there must be opening and closing brackets, and you should not insert spaces between the function name and the brackets.

Arguments can be numbers, text, booleans, arrays, error values, or references. Arguments can be either constants or formulas. In turn, these formulas may contain other functions. Functions that are an argument to another function are called nested. Excel formulas can use up to seven levels of nested functions.

The specified input parameters must have valid values ​​for the given argument. Some functions may have optional arguments that may not be present when the function's value is calculated.

For ease of use, functions in Excel are divided into categories: database and list management functions, date and time functions, DDE/External functions, engineering functions, financial, information, logical, view and link functions. In addition, the following categories of functions are present: statistical, text and mathematical.

Using text functions, it is possible to process text: extract characters, find the ones you need, write characters to a strictly defined place in the text, and much more.

Using the date and time functions, you can solve almost any problem related to date or time (for example, determining age, calculating work experience, determining the number of working days in any period of time).

Logic functions help create complex formulas, which, depending on the fulfillment of certain conditions, will perform different kinds data processing


The theme of the site assigned to me is the Site of a holiday home, which I called “WHITE STAR”. The purpose of creating my website is to attract the maximum number of tourists who could relax, improve their health, get a lot of pleasure in the “WHITE STAR” boarding house, as well as an accurate description and provide complete information about the holiday home, prices, services provided there and quality service.

My site consists of 7 pages, the first page, which is the main page, is called “***WHITE STAR***”, the remaining 6 subordinate pages, in which the following tags were used:

tags for creating the page background: ;

block structure tags:

,
;

tags for text formatting ,
, tags- a container that stores independent HTML files. We use hyperlinks to communicate between pages. In particular, we use the tag . To structure information data on Web pages, I used the technology of combining information into a table. To create a table, use the tag

, and we can also set the thickness of the frame inside this tag , frame color , table background etc. Set the table title , columns
, lines
, column headers . The work also used many other tags: text formatting: size , font type , text color , right align

Centered

Left

Italics , bold font , underlined etc. Inserting an image and alternative text of this image. Line break
, line insertion


. I also used bulleted list