"Информатика (в 2 частях)", Нателаури Н.К., Маранин С.С.
Компьютерная программа — это точная последовательность команд, которую компьютер выполняет для получения результата. Программы создают на языках программирования, затем переводят в форму, понятную процессору. Они помогают запускать компьютер, работать с текстами и изображениями, искать информацию, играть и решать учебные задачи. По назначению программы бывают системными, прикладными и инструментальными.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Компьютерная программа — последовательность команд, записанных в форме, понятной компьютеру, для получения определённого результата. Команды задают действия исполнителю, например ввод данных, вычисление или вывод текста. Это понятие нужно, чтобы отличать точный набор указаний для компьютера от обычного описания действий.
Программное обеспечение — совокупность программ, обеспечивающих работу компьютера и выполнение пользовательских задач. В него входят операционная система, приложения и средства разработки. Благодаря программному обеспечению устройства получают команды, а человек может работать с информацией.
Язык программирования — формальный язык с правилами записи команд, на котором создают программы. Формальный значит строго заданный: у команд, знаков и их порядка есть определённый смысл. Такой язык нужен, чтобы компьютер однозначно понял замысел человека.
Программирование — разработка программы: составление алгоритма, запись его на языке программирования, проверка и исправление. Программист не просто набирает команды, а продумывает решение и ищет ошибки. Поэтому программирование объединяет планирование, запись, испытание и отладку.
Поставленная задача сначала превращается в алгоритм: выделяются исходные данные, нужные действия и результат. Затем каждое действие алгоритма записывается командами языка программирования. Такое преобразование необходимо, потому что компьютер может выполнить только точно заданную последовательность операций.
Произвольное описание действий компьютер не выполняет, поскольку обычная речь допускает неточности и разные толкования. Например, слово «быстро» не задаёт измеримого действия, а команда языка имеет строгое значение. Правила языка программирования устраняют неоднозначность и позволяют проверить запись до запуска.
Исходный текст программы переводится в форму, понятную процессору, специальным средством. Транслятор — общее название такого переводчика, а компилятор переводит программу целиком, тогда как интерпретатор выполняет её, разбирая команды по ходу работы. Без этого этапа процессор не сможет использовать текст, написанный человеком.
Обычно команды выполняются последовательно, поэтому результат зависит от их порядка. Он также определяется исходными данными и условиями, при которых выполняются отдельные действия. Перестановка команд или изменение входных значений может привести к другому результату даже в одной и той же программе.
По назначению программы делят на системные, прикладные и инструментальные. Системные поддерживают работу устройств и других программ, прикладные помогают пользователю решать конкретные задачи, а инструментальные служат для создания и проверки программ. Такое разделение показывает не способ написания программы, а её основную роль.
Чтобы определить вид программы, нужно спросить, какую главную задачу она выполняет. Операционная система и браузер могут работать одновременно, но относятся к разным категориям из-за различия функций. Таблица помогает быстро сопоставить назначение, примеры и пользователей каждого вида.
| Вид программы | Для чего предназначена | Примеры | Кто обычно использует |
|---|---|---|---|
| Системные программы | Управляют устройствами компьютера и обеспечивают работу других программ | Операционная система, драйвер, служебная программа | Пользователь и компьютерная система |
| Прикладные программы | Помогают выполнять конкретные пользовательские задачи | Текстовый редактор, браузер, графический редактор, игра | Пользователь |
| Инструментальные программы | Предназначены для создания, проверки и отладки программ | Среда программирования, компилятор, отладчик | Программист |
Условие. Нужно распределить операционную систему, браузер, текстовый редактор и среду программирования по видам программ. Для каждой категории следует объяснить её назначение. Определяем вид не по внешнему виду, а по главной выполняемой задаче.
Ответ. Операционная система — системная программа, браузер и текстовый редактор — прикладные, среда программирования — инструментальная.
Условие. Пусть программа содержит команды: a = 4, b = a + 3, a = b · 2. Нужно найти значения переменных после каждой команды. Здесь важно не подставлять конечное значение заранее, а выполнять команды в указанном порядке.
Ответ. После выполнения всех команд a = 14, b = 7. Изменение a в последней команде не меняет уже вычисленное значение b.
Условие. Дан словесный алгоритм: ввести длину a и ширину b, умножить их и вывести площадь S. На изучаемом языке это можно записать так: S = a · b. После записи программу нужно проверить на нескольких наборах данных, чтобы заметить ошибку в формуле или вводе.
Ответ. Программа вычисляет площадь как S = a · b и для указанных наборов выдаёт 15 и 16. Проверка на разных данных подтверждает правильность записи алгоритма.
Считать алгоритм и программу одним и тем же — ошибка, потому что алгоритм описывает способ решения, а программа записывает его на формальном языке. Так путают идею решения с её компьютерной записью. Проверьте себя: можно ли выполнить описание без перевода в команды языка?
Записывать команды с нарушением синтаксиса нельзя, даже если общий замысел понятен. Ошибку допускают, перенося в программу обычные слова или забывая обязательные знаки. Проверьте написание команд по правилам языка и исправьте сообщения транслятора.
Путать назначение программы с её видом — значит не учитывать главную функцию. Браузер работает с сайтами, а операционная система управляет компьютером, поэтому они относятся к разным категориям. Проверьте себя вопросом: чью задачу решает программа — компьютера, пользователя или программиста?
Проверять программу только на одном примере недостаточно, потому что ошибка может скрываться при других исходных данных. Один удачный результат ещё не доказывает правильность решения. Используйте несколько тестов, включая разные и необычные значения.
До изучения программ нужны понятия алгоритма, исполнителя, команды, исходных данных и результата. Дальше эти знания помогут работать с переменными, ветвлениями, циклами и процедурами, а также создавать собственные программы. Программа хранится в памяти компьютера и выполняется процессором, а результат может поступать на устройства вывода. Поэтому тема связывает алгоритмы с устройством и практическим использованием компьютера.
Чем программа отличается от алгоритма?
Алгоритм описывает способ решения задачи в понятной человеку форме. Программа записывает этот алгоритм на формальном языке так, чтобы его мог выполнить компьютер.
Почему компьютер не может выполнить команду, записанную обычными словами?
Обычные слова могут быть неточными и иметь несколько смыслов. Компьютер понимает только команды, записанные по строгим правилам конкретного языка.
Зачем программе нужен переводчик?
Исходный текст программы написан для человека и не является последовательностью машинных команд. Транслятор, компилятор или интерпретатор переводит его в форму, которую может обработать процессор.
Можно ли считать игру системной программой?
Нет, игра обычно относится к прикладным программам, потому что решает задачу пользователя — развлекает его. Системная программа обеспечивает работу компьютера и других программ.
Почему даже правильно составленный алгоритм может дать ошибочный результат в программе?
При записи алгоритма можно допустить ошибку в команде, порядке действий или исходных данных. Поэтому программу проверяют на нескольких тестах и исправляют найденные ошибки.
Программы