"Информатика", Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.
Программирование — это создание программ по разработанным алгоритмам. Алгоритм описывает способ решения задачи, а программа записывает этот способ на языке программирования, используя точные команды. Чтобы компьютер смог выполнить исходный текст, его обычно преобразуют в машинный код с помощью транслятора. В параграфе разбираются назначение языков программирования, различия между исходной и выполняемой программами, а также работа компилятора и интерпретатора.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Программирование — процесс создания программ для компьютера. Он включает запись разработанного алгоритма на языке программирования, проверку текста и подготовку результата к выполнению. Это нужно, чтобы превратить идею решения задачи в точные действия, которые сможет выполнить компьютер.
Программа — алгоритм, записанный на языке, понятном компьютеру после необходимого преобразования. Она задаёт последовательность действий для получения результата из исходных данных. Благодаря программе компьютер может многократно выполнять один и тот же способ решения.
Язык программирования — формальный язык для записи алгоритмов и программ. У него есть строгие правила записи команд и правила, определяющие смысл этих команд. Такой язык нужен для однозначного общения человека с компьютером.
Транслятор — программа, которая переводит программу с одного языка на другой, обычно в форму, пригодную для выполнения компьютером. Он обрабатывает исходный текст и создаёт или выполняет преобразованный вариант. Конкретный результат зависит от языка программирования и вида транслятора.
Решение задачи начинается не с набора команд, а с её постановки. Нужно выяснить, что дано, что требуется получить и какие ограничения существуют, после чего разработать алгоритм. Затем алгоритм записывают средствами выбранного языка, потому что компьютер должен получить точную последовательность операций, а не общее описание замысла.
Язык программирования подчиняется точным правилам, поскольку компьютер выполняет команды буквально. Если пропущен символ или нарушен порядок частей команды, компьютер не может надёжно восстановить намерение автора. Поэтому синтаксис отвечает за правильную форму записи, а смысл команд должен быть заранее определён правилами языка.
Исходная программа — текст, который пишет человек на языке программирования. Процессор не работает с таким текстом напрямую: ему нужны машинные команды, представленные в форме, которую понимает конкретная система. Различие между исходной и машинной программами объясняет, почему между написанием текста и запуском появляется дополнительный этап.
Транслятор преобразует исходную программу в другую форму, пригодную для компьютера. В зависимости от языка и выбранного транслятора результатом может стать машинный код, промежуточное представление или последовательное выполнение команд. Поэтому один и тот же исходный текст может обрабатываться по-разному в разных системах программирования.
Компилятор заранее переводит программу целиком или значительную её часть, а затем компьютер запускает полученный результат. Интерпретатор читает исходный текст, анализирует очередную команду и сразу выполняет её, переходя к следующей. Предварительная компиляция часто позволяет быстрее выполнять готовую программу, а интерпретация удобна для пошаговой проверки и запуска без отдельного этапа получения машинного файла.
| Понятие | Что означает | Роль в создании и выполнении программы |
|---|---|---|
| Алгоритм | Порядок действий для решения задачи | Определяет логику будущей программы |
| Исходная программа | Текст алгоритма на выбранном языке | Служит материалом для обработки транслятором |
| Язык программирования | Формальный язык записи команд и их смысла | Позволяет точно выразить алгоритм |
| Транслятор | Средство перевода программы в другую форму | Готовит команды к выполнению или выполняет их при разборе |
| Выполняемая программа | Форма, которую может исполнять компьютер | Реализует алгоритм и выдаёт результат |
Таблицу удобно читать как цепочку: от способа решения к тексту, затем к переводу и выполнению. Язык программирования связывает идею алгоритма с записью исходной программы. Транслятор обеспечивает переход от записи человека к действиям компьютера.
Условие. Даны длина a и ширина b прямоугольника. Требуется получить его площадь S. Сначала отделяем постановку задачи от записи: формула и порядок действий должны появиться раньше команд языка.
Ответ. В программе будет реализован алгоритм S = a · b. Если записать только формулу без ввода данных и вывода результата, задача останется решённой не полностью.
Условие. Дан алгоритм: получить два числа, сложить их и вывести сумму. Нужно определить, что понадобится для превращения алгоритма в работающую программу. Сам алгоритм ещё не является исходным текстом конкретного языка.
Ответ. Понадобятся команды выбранного языка и транслятор. Только после записи и необходимого преобразования алгоритм станет программой, которую компьютер сможет выполнить.
Условие. В первой ситуации программа переводится до запуска, а во второй команды разбираются и выполняются последовательно. Нужно определить используемый способ и сравнить ход работы. Критерий выбора — момент, когда происходит перевод исходного текста.
Ответ. Предварительный перевод означает компиляцию, последовательный разбор во время работы — интерпретацию. В обоих случаях исходная программа должна быть записана по правилам языка, но путь к выполнению различается.
Ошибка 1. Алгоритм и программу считают одним и тем же, потому что оба описывают действия. На самом деле алгоритм задаёт способ решения, а программа выражает его средствами конкретного языка. Проверка проста: спросите, можно ли выполнить описание без выбора языка и записи его команд.
Ошибка 2. Думают, что компьютер напрямую выполняет исходный текст любого языка. Такое мнение возникает из-за удобства современных сред, которые сами запускают транслятор. Проверьте себя: выясните, какой этап переводит текст в команды, доступные процессору.
Ошибка 3. Язык программирования путают с естественным языком, ведь оба состоят из слов и знаков. Но команды языка имеют строгий синтаксис и однозначный смысл, а компьютер не угадывает пропущенные части. Если запись допускает разные толкования, это не команда программы.
Ошибка 4. Компилятор и интерпретатор считают одинаковыми средствами. Ошибку допускают, когда замечают только общий результат — выполнение программы. Проверьте момент перевода: компилятор готовит программу заранее, интерпретатор работает с командами по ходу выполнения.
Для понимания программирования нужны представления об алгоритме, команде и исполнителе. Также важно уметь различать исходные данные и результат, потому что они определяют условие задачи. Без этого трудно построить правильный порядок действий.
Понятие программы пригодится при изучении записи и выполнения алгоритмов на конкретном языке программирования. Позже эти знания помогут понимать переменные, условия, циклы и процедуры как средства записи отдельных частей алгоритма.
Представление о трансляции объясняет, что происходит между написанием текста и запуском. Оно помогает разобраться в работе систем программирования, сообщениях об ошибках и различиях между компиляцией и интерпретацией.
Чем программа отличается от алгоритма?
Алгоритм описывает общий способ решения задачи, например последовательность действий для вычисления площади. Программа записывает этот алгоритм на конкретном языке программирования так, чтобы его мог обработать компьютер.
Почему компьютер не может выполнить программу, записанную на любом языке?
Компьютер непосредственно выполняет машинные команды, а языки программирования нужны человеку для удобной записи алгоритмов. Поэтому исходный текст нужно перевести в подходящую для процессора форму.
Зачем нужен транслятор?
Транслятор преобразует исходную программу, написанную человеком, в другую форму, понятную компьютеру. Без такого преобразования процессор обычно не сможет выполнить команды исходного текста.
Чем компилятор отличается от интерпретатора?
Компилятор заранее переводит всю программу или её существенную часть, после чего можно запускать полученный результат. Интерпретатор разбирает и выполняет команды последовательно во время работы программы.
Можно ли считать программирование только записью команд?
Нет. До записи команд нужно понять задачу, определить исходные данные и результат, разработать алгоритм и выбрать способ его реализации. После записи программу проверяют, переводят и запускают.
§ 8. Что такое программирование