Последовательность команд, которые компьютер выполняет при обработке данных, называется

Обновлено: 04.07.2024

Как называется процесс перевода алгоритма в программу?

Ответ: Перевод алгоритма на язык программирования называется кодированием алгоритма. Продукты перевода — код всех алгоритмов задачи — проверяются путем их сбора в программу и запуска (выполнения) программы на компьютере.

Что из следующего обеспечивает визуальное представление шаблонов алгоритма, также известного как диаграмма UML?

Диаграмма потока данных обеспечивает визуальное представление алгоритма. … Наследование означает, что данные и методы существующего класса могут быть расширены и настроены в соответствии с новым классом.

Является ли процесс преобразования задачи в серию команд, которые компьютер будет использовать для выполнения задачи?

Программирование — это процесс преобразования задачи в серию инструкций, которые компьютер будет использовать для выполнения задачи.

Это этап, на котором программист физически вводит код в компьютер?

На самом деле, последний шаг после отладки — это тестирование и документирование программы. … В объектно-ориентированном анализе категории входных данных, которые являются частью проблемы, которую программа пытается решить, называются классами. редактирование кода. Шаг, на котором программист физически вводит код в компьютер.

Как превратить алгоритм в код?

  1. Разделите меньшее число на большее и получите остаток (например, 450/100 = 4 с остатком 50).
  2. Повторите шаг 1 с меньшим из двух чисел и остатком (например, 100/50 = 2 без остатка).

Какой набор инструкций сообщает компьютеру, что делать?

программное обеспечение, инструкции, которые сообщают компьютеру, что делать. Программное обеспечение включает в себя весь набор программ, процедур и подпрограмм, связанных с работой компьютерной системы. Этот термин был придуман, чтобы отличить эти инструкции от оборудования, т. е. физических компонентов компьютерной системы.

Что из следующего обеспечивает визуальное представление шаблонов, которые алгоритм включает в себя группу вариантов ответа?

Вопрос Ответ
Что из следующего обеспечивает визуальное представление шаблонов, которые содержит алгоритм? блок-схема
A ___ — это наглядная диаграмма процесса, включая решения, которые необходимо принять в процессе блок-схема
Сколько шагов в жизненном цикле разработки системы? 6

Что такое диаграмма последовательности в UML?

Диаграмма последовательности — это диаграмма унифицированного языка моделирования (UML), которая иллюстрирует последовательность сообщений между объектами при взаимодействии. … Диаграмма последовательности показывает последовательность сообщений, передаваемых между объектами. Диаграммы последовательности также могут отображать управляющие структуры между объектами.

Какой из следующих шагов описывает последний шаг, который следует сделать при разработке компьютерной программы?

Заключительный шаг в жизненном цикле разработки программы – это тестирование программного обеспечения как командой программистов, так и людьми, которые будут использовать программу. Результаты всего проекта документируются для пользователей и команды разработчиков.

Как называется последовательность команд?

Макрос – это набор команд и инструкций, которые вы группируете вместе в одну команду для автоматического выполнения задачи.

Что описывает обрабатываемые данные и элементы управления?

Сколько шагов в жизненном цикле разработки программы SDLC Mcq?

SDLC включает шесть этапов: выявление проблемы, анализ требований, проектирование системы, внедрение, тестирование, развертывание и обслуживание.

Каковы 5 шагов процесса программирования?

  • Определение проблемы.
  • Планирование решения.
  • Написание программы.
  • Тестирование программы.
  • Документирование программы.

Что из следующего является первым шагом в разработке программы?

Первым шагом в процессе разработки программы является полное понимание и определение проблемы, для решения которой должна быть разработана программа или программное обеспечение. На этом этапе проблема должна быть определена формально.

Какой первый шаг в написании программы?

  1. Понять проблему, которую вы пытаетесь решить.
  2. Разработайте решение.
  3. Нарисуйте блок-схему.
  4. Напишите псевдокод.
  5. Напишите код.
  6. Тестирование и отладка.
  7. Протестируйте с реальными пользователями.
  8. Выпуск программы.

Как вы программируете алгоритм?

  1. Шаг 1. Получите описание проблемы.Этот шаг намного сложнее, чем кажется. …
  2. Шаг 2. Проанализируйте проблему. …
  3. Шаг 3. Разработайте высокоуровневый алгоритм. …
  4. Шаг 4. Усовершенствуйте алгоритм, добавив больше деталей. …
  5. Шаг 5. Просмотрите алгоритм.

Как создать алгоритмическую программу?

  1. Шаг 1. Определите цель алгоритма.
  2. Шаг 2. Получите доступ к историческим и текущим данным.
  3. Шаг 3. Выберите подходящие модели.
  4. Шаг 4. Тонкая настройка.
  5. Шаг 5. Визуализируйте результаты.
  6. Шаг 6. Непрерывный запуск алгоритма.

Что такое блок-схема в программировании?

Блок-схема — это тип диаграммы, которая представляет алгоритм, рабочий процесс или процесс. На блок-схеме шаги показаны в виде прямоугольников разного вида, а их порядок показан путем соединения прямоугольников стрелками. Это схематическое представление иллюстрирует модель решения данной проблемы.

Что представляет собой процесс написания конкретных инструкций на языке программирования?

Ответ: Это называется программированием. Объяснение. Само определение гласит, что «Программирование — это процесс написания определенных инструкций на языке программирования».

Какие инструкции говорят компьютеру, что делать с quizlet?

Программное обеспечение — это инструкции, которые сообщают аппаратному обеспечению компьютера, что делать.

Что такое последовательность в алгоритме?

Последовательности — это основная логическая структура алгоритмов или программ. При создании алгоритмов или программ инструкции представлены в определенном правильном порядке. Последовательность может содержать любое количество инструкций, но каждая инструкция должна выполняться в том порядке, в котором она представлена.

Каков первый шаг викторины по жизненному циклу разработки системы?

Планирование системы. На первом этапе SDLC определяется объем проекта.

Что из следующего является первым этапом жизненного цикла разработки программы (PDLC)?

Определение проблемы —

Первый шаг — определить проблему. В крупных программных проектах это работа системного аналитика, который предоставляет программистам результаты своей работы в виде спецификации программы.

Какая система представляет информацию в обобщенной форме?

~ Система поддержки руководителей (ESS представляет информацию в очень обобщенной форме. Она помогает руководителям высшего уровня контролировать деятельность компании и разрабатывать стратегические планы.

Что такое диаграмма последовательности в разработке программного обеспечения?

Диаграмма последовательности — это тип диаграммы взаимодействия, поскольку она описывает, как и в каком порядке группа объектов работает вместе. Эти диаграммы используются разработчиками программного обеспечения и бизнес-профессионалами для понимания требований к новой системе или для документирования существующего процесса.

Как создать диаграмму последовательности в Star UML?

  1. Сначала выберите элемент, дочерним элементом которого будет новая диаграмма последовательности.
  2. Выберите модель | Добавить диаграмму | Диаграмма последовательности в строке меню или выберите Добавить диаграмму | Диаграмма последовательности в контекстном меню.

Как создать диаграмму последовательности в UML?

Что мы называем пошаговым изучением программы?

Объяснение: отладчики выполняют задачу пошагового изучения кода, которая называется пошаговым выполнением.

Сколько шагов в жизненном цикле разработки программы?

Эти шесть этапов, известных как «жизненный цикл разработки программного обеспечения», включают планирование, анализ, проектирование, разработку и внедрение, тестирование и развертывание, а также техническое обслуживание.

Какие этапы решения проблем в программировании?

  1. Дизайн программы — алгоритм, блок-схема и псевдокод.
  2. Кодирование.
  3. Компиляция и выполнение.
  4. Отладка и тестирование.
  5. Документация по программе.

Что такое командное программирование?

В вычислительной технике команда – это указание компьютерной программе выполнить определенную задачу. Он может быть запущен через интерфейс командной строки, такой как оболочка, или как ввод в сетевую службу как часть сетевого протокола, или как событие в графическом пользовательском интерфейсе, запускаемое пользователем, выбирающим параметр в меню.

Как называется небольшая программа на Java?

Апплет обычно представляет собой небольшую программу на языке Java, встроенную в HTML-страницу. Java можно рассматривать как компилируемый, так и интерпретируемый язык, поскольку его исходный код сначала компилируется в двоичный байт-код. Этот байт-код выполняется на виртуальной машине Java (JVM), которая обычно представляет собой программный интерпретатор.

Как называются программы, работающие на оборудовании?

Программное обеспечение — набор инструкций или программ, которые сообщают компьютеру, что делать или как выполнять определенную задачу (компьютерное программное обеспечение работает на оборудовании). Основные виды ПО – системное ПО и прикладное ПО.

Что описывает данные и элементы управления, подлежащие обработке, 2 точки?

<р>2. Что описывает данные и элементы управления, подлежащие обработке? Объяснение: Функции, описанные в описании области применения, оцениваются и в некоторых случаях уточняются для предоставления более подробной информации до начала оценки. … Объяснение. Среда разработки программного обеспечения (SEE) включает аппаратное и программное обеспечение.

Цикл выборки-выполнения: что на самом деле делает ваш компьютер?

Что такое динамическое программирование и как его использовать

Эрик Шулл. Общение с последовательными процессами (22 сентября 2015 г.)

Последовательная и параллельная обработка

какое утверждение не описывает языки пятого поколения?
программирование необходимо, когда программное обеспечение, необходимое для выполнения задачи, недоступно.
спецификация программы — это четкое изложение целей и задач проект.
который относится к текстовому подходу к документированию алгоритма?
sql является примером языка программирования категории ________.
сопоставьте каждый из следующих шагов разработки sdlc с его позицией в процессе разработки.
какой язык является наиболее популярным языком для написания приложений Apple MacOS?
небольшая программа на основе Java называется ________.

Как ваш компьютер узнает, как запускать программы? Как он переводит код из приложения в действие? Вот как это работает.

Изображение предоставлено: Марчин Вичари/Flickr

Общеизвестно, что код пишется разработчиком и как люди взаимодействуют с компьютерами. Однако задумывались ли вы когда-нибудь о том, как программное обеспечение, такое как код, взаимодействует с компьютерным оборудованием, таким как ЦП (центральный процессор)? Если да, то вы попали по адресу.

Чтобы понять, как код выполняется на компьютере, вы должны понимать, что заставляет компьютер работать и как им можно манипулировать. Во-первых, давайте сначала поговорим об основных принципах компьютерного оборудования, прежде чем переходить к программному обеспечению.

Что такое двоичный файл?

Двоичная система — это система счисления с основанием 2, которую процессоры и память используют для выполнения кода. Двоичные числа могут быть только 1 или 0, отсюда и их название. Если вы сгруппируете восемь двоичных чисел (00000000), вы получите то, что известно как байт, а одно двоичное число (0) называется битом.

Как простой переключатель формирует бинарные сигналы

Все логичное, связанное с компьютерными вычислениями, начинается с простого переключателя. Простой выключатель имеет два проводника и соединительно-разъединительный механизм. Соединение обоих проводников позволяет течь току, который создает сигнал на другом конце проводника. С другой стороны, если проводники отсоединены, ток не будет течь, а значит, и сигнала не будет.

Поскольку переключатель может быть включен или выключен только в одном экземпляре, он представляет собой идеальный механизм для преобразования сигналов высокого и низкого уровня в сигналы прямоугольной формы.

Когда вы щелкаете переключателем, он генерирует сигнал или один бит данных. Обычная фотография, сделанная со смартфона, будет содержать около пяти мегабайт данных, что соответствует 40 000 000 битам. Это означает, что вам придется щелкать переключателем десятки миллионов раз, чтобы получить достаточно данных для одной фотографии, сделанной со смартфона.

Учитывая механические ограничения переключателя, инженерам требовалось устройство, не имеющее движущихся частей и обеспечивающее более высокую скорость переключения.

Транзисторы, используемые в качестве переключателя

Изображение транзистора: Эван-Амос/Викимедиа, изображение прямоугольной волны: Sponk/Викимедиа

Благодаря открытию легирования (управления электропроводностью полупроводников, таких как кремний), инженеры смогли создавать переключатели с электрическим управлением, известные как транзисторы. Это новое изобретение позволило повысить скорость обработки, для питания которой требовалось небольшое напряжение, что в конечном итоге позволило разместить более миллиарда таких транзисторов в одном современном ЦП.

Что такое архитектура процессора?

Транзисторы затем искусно скомпонованы для создания логических вентилей, полусумматоров, сумматоров, триггеров, мультиплексоров, регистров и различных компонентов, обеспечивающих функционирование ЦП. То, как эти компоненты расположены друг над другом, определяет так называемую архитектуру ЦП.

Архитектура ЦП также определяет ISA процессора (архитектуру набора инструкций). ISA содержит встроенный список инструкций, которые ЦП может выполнять изначально. Эти инструкции затем последовательно смешиваются вместе с помощью языка программирования, чтобы создать то, что известно как программа. Обычно на ЦП доступны сотни инструкций, включая сложение, вычитание, перемещение, сохранение и загрузку.

Вот пример набора инструкций:

Каждая инструкция в наборе инструкций имеет собственный двоичный адрес, известный как код операции. Код операции будет первыми несколькими двоичными битами, которые сообщают, какую операцию из набора инструкций использовать.

За кодом операции следует операнд. Операнд содержит значения и адреса, по которым будет использоваться код операции.

Ассемблер

Теперь, когда вы понимаете двоичные сигналы, вы можете узнать, как ваш компьютер интерпретирует такие сигналы. То, как интерпретируется машинный код, зависит от типа логики, используемой в ассемблере (программа низкого уровня, используемая для декодирования и сборки кода в правильный двоичный код).

Например, если наш ассемблер использует стандарт ASCII (американский стандартный код для обмена информацией), наш ассемблер возьмет заданный машинный код и интерпретирует его так же, как из ASCII в таблице ниже.

< td>Y < td>00111101 < td>W
00101001 A 00101111 G 00110101 M 00111011 S 01000001
00101010 B 00110000 H 00110110 N 00111100 T 01000010 Z
00101011 C 00110001 I 00110111 0 U
00101100 D 00110010 J 00111000 P 00111110 V
00101101 E 00110011 K 00111001 Q 00111111
00101110 F 00110100 L 00111010 R 0100000 X

Понимание языка ассемблера

Язык ассемблера – это удобочитаемый язык программирования низкого уровня, который напрямую управляет кодами операций и операндами архитектуры ЦП.

Вот пример простого ассемблерного кода, использующего показанный ранее набор инструкций:

Этот блок кода хранится в ОЗУ до тех пор, пока ЦП не выберет каждую строку кода одну за другой.

Цикл выборки, декодирования и выполнения ЦП

ЦП выполняет код в цикле, известном как выборка, декодирование и выполнение. Эта последовательность показывает, как ЦП обрабатывает каждую строку кода.

Выборка. Счетчик инструкций внутри ЦП берет одну строку инструкции из ОЗУ, чтобы сообщить ЦП, какую инструкцию выполнять следующей.

Декодирование: Ассемблер декодирует удобочитаемый блок кода и собирает его в правильно отформатированные двоичные файлы для понимания компьютером.

Выполнение: ЦП затем выполняет двоичные файлы, применяя инструкции, указанные кодом операции, к предоставленным операндам.

Компьютер выполнит его следующим образом:

  1. Загрузить первый регистр со значением 5
  2. Загрузить второй регистр со значением 7
  3. 5 + 7 = 12, сохранить 12 в третьем регистре
  4. Сохраните значение третьего регистра по адресу RAM M12

Компьютер успешно сложил два числа и сохранил значение по указанному адресу ОЗУ.

Отлично! Теперь вы знаете, как компьютер выполняет код. Однако это не останавливается на достигнутом.

Дальше

При наличии надлежащего оборудования, ассемблера и языка ассемблера люди могли выполнять код с достаточной легкостью. Однако по мере того, как и программы, и компьютерное оборудование становились все более сложными, инженеры и программисты должны были придумать способ сделать программирование менее утомительным и обеспечить совместимость с различными типами архитектуры ЦП. Таким образом, создание компиляторов и интерпретаторов.

Что такое компилятор и интерпретатор?

Компилятор и интерпретатор — это трансляционные программы, которые берут исходный код (программы, созданные на языках программирования высокого уровня) и переводят их на язык ассемблера, который затем ассемблер декодирует в двоичный код.

Интерпретатор возьмет одну строку кода и немедленно выполнит ее. Обычно это используется на терминалах, таких как терминал Linux Bash Shell и терминал Windows PowerShell. Отлично подходит для выполнения простых разовых задач.

Изображение предоставлено: Rlistmedia/Wikimedia Common

Напротив, компилятор берет несколько строк кода и компилирует их для создания программы. Примерами таких программ могут быть Microsoft Word, Photoshop, Google Chrome, Safari и Steam.

С созданием компиляторов и интерпретаторов были созданы языки программирования высокого уровня.

Языки программирования высокого уровня

Языки программирования высокого уровня — это любой язык после ассемблерного кода. Некоторые из этих языков, с которыми вы, возможно, знакомы, — это C, Python, Java и Swift. Эти языки программирования сделали программирование более понятным и простым, чем язык ассемблера.

В этом параллельном сравнении показано, насколько сложнее программировать на ассемблере, чем на таком высокоуровневом языке программирования, как Python:

Оба кода будут печатать "Hello World".

С помощью этих языков программирования разработчики могут программировать игры, веб-сайты, приложения и драйверы с разумными затратами времени.

Компьютеры могут выполнять любой код

Компьютер — это устройство, которое может читать только двоичные файлы. Эти двоичные файлы создаются более чем миллиардом транзисторов микроскопических размеров, упакованных внутри процессора. Расположение транзисторов диктует ISA ЦП (архитектуру набора инструкций), которая предоставляет сотни инструкций, которые ЦП может легко выполнить, как только его код операции вызывается через код. Разработчики последовательно смешивают и сопоставляют эти инструкции, в результате чего создается целая программа, включающая игровые движки, веб-браузеры, приложения и драйверы.

ЦП выполняет код в последовательности, известной как цикл выборки, декодирования, выполнения. Как только фрагмент кода загружается в ОЗУ, ЦП извлекает его содержимое один за другим, декодирует содержимое в двоичный файл с помощью ассемблера, а затем выполняет код.

Поскольку ассемблер может преобразовывать только код, специально созданный для архитектуры ЦП, компиляторы и интерпретаторы были созданы на основе ассемблера (во многом как адаптер) для работы с различными типами архитектуры ЦП. Интерпретатор возьмет одну команду и немедленно выполнит ее. Напротив, компилятор возьмет все ваши команды и скомпилирует их в программу многократного использования.

Языки программирования высокого уровня, такие как Python, C и Java, были созданы, чтобы сделать программирование проще, быстрее и удобнее. Подавляющему большинству программистов больше не нужно кодировать на ассемблере, поскольку их простые в использовании языки программирования высокого уровня можно преобразовать в ассемблере с помощью компилятора.

Надеюсь, теперь вы лучше понимаете основы работы компьютеров и то, как они выполняют код.

Желая узнать, как все устроено, Джайрик Манинг начал возиться со всеми видами электронных и аналоговых устройств еще в подростковом возрасте. Он занялся криминалистикой в ​​Университете Багио, где познакомился с компьютерной криминалистикой и кибербезопасностью. В настоящее время он много занимается самообразованием и экспериментирует с технологиями, выясняя, как они работают и как мы можем использовать их, чтобы сделать жизнь проще (или, по крайней мере, круче!).

Подпишитесь на нашу рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Компьютеры и программное обеспечение идут рука об руку. Компьютеры сильны, потому что они могут делать много вещей, а программы — это то, как мы заставляем компьютеры делать все это.

Видео: что такое программирование?

Компьютерное оборудование

  1. Центральный процессор (ЦП)
  2. Основная память (оперативная память или ОЗУ)
  3. Дополнительные устройства хранения
  4. Устройства ввода
  5. Устройства вывода

ЦП

ЦП — это сердце компьютера. Программа – это последовательность инструкций, хранящихся в оперативной памяти. Когда программа запускается, ЦП получает инструкции и выполняет или следует инструкциям.

Цикл выборки/декодирования/выполнения

  • fetch — получение следующей инструкции из основной памяти.
  • декодировать — определить, какую инструкцию выполнять.
  • выполнить — выполнить инструкцию.

Каждая программа заканчивается последовательностью основных инструкций, состоящих из арифметических и логических операций, а также операций управления потоком.

Арифметические и логические операции включают сложение, вычитание, умножение, деление и сравнение значений (равенство, меньше, больше).

Операции потока управления используются для определения следующей инструкции. Например, в зависимости от инструкции программа может пропустить или перейти к другой части списка инструкций.

Вы узнаете подробности о том, как ЦП обрабатывают инструкции в CS 271, Компьютерная архитектура и язык ассемблера.

Основная память

Основная память или ОЗУ используется для хранения программы во время ее выполнения и для хранения данных, с которыми работает программа.

Сведения об оперативной памяти

  • ЦП может быстро получить доступ к любому месту в ОЗУ.
  • ОЗУ называется энергозависимой памятью. В отличие от постоянного хранилища, когда компьютер выключается или когда программа завершает выполнение, значения, хранящиеся в ОЗУ, стираются.
  • ОЗУ делится на единицы хранения, называемые байтами. Байт — это последовательность из восьми битов.
  • Бит — это наименьший элемент ОЗУ, в нем хранится двоичная цифра, 0 или 1. Каждая программа и каждое значение данных на вашем компьютере хранится в виде последовательностей нулей и ls.

Дополнительное хранилище

Вторичное хранилище обеспечивает длительное и постоянное хранение. В отличие от оперативной памяти, данные, хранящиеся во вторичном хранилище, не исчезают при выключении или перезагрузке компьютера.Наиболее распространенной формой вторичного хранилища для больших компьютеров является дисковый накопитель, но компьютеры могут использовать и другие формы вторичного хранилища, например твердотельные накопители, в которых используются микросхемы памяти, сохраняющие значения данных без питания.

Как и в основной памяти, во вторичном хранилище также хранится информация в виде последовательностей нулей и единиц в виде битов и байтов.

Устройства ввода

Обычно мы думаем о клавиатурах и мышах, но устройства ввода могут включать в себя камеры, микрофоны и многие другие типы различных датчиков, когда вы начинаете думать о компьютерах, встроенных в автомобили, электронику и почти любое электрическое устройство.

Устройства вывода

Информация, которую компьютер отправляет во внешний мир, называется выводом. Если задействован человек, выходные данные обычно отправляются на устройство вывода, такое как экран компьютера или принтер. Не все программы будут выводить данные на устройство вывода. Вместо этого выходные данные могут быть отправлены по компьютерной сети или сохранены в базе данных.

Видео: аппаратное и программное обеспечение

Программы и языки программирования

Как сказано выше, программирование включает в себя создание набора инструкций, которым компьютер будет следовать, чтобы решить проблему или выполнить задачу. Давайте уточним нашу терминологию в этом разделе.

Алгоритмы

Алгоритм задает конечную последовательность четко определенных операций для решения конкретной проблемы или класса проблем. Шаги алгоритма можно описать разными способами, включая слова (также известные как естественный язык), блок-схемы, псевдокод (описанный ниже) и код языка программирования.

По мере увеличения сложности задач важно разрабатывать алгоритмы, которые будут эффективными (т. е. быстрыми) и правильными в том смысле, что они будут давать указанный результат для любых допустимых входных данных. На курсе CS 325 "Анализ алгоритмов" вы узнаете о методах анализа сложности и доказательства правильности.

Превращение алгоритмов в программы

Алгоритм может быть реализован на многих различных компьютерных языках, и одна программа может использовать или реализовывать множество различных алгоритмов. Например, вы можете использовать алгоритм сортировки для упорядочивания сообщений и алгоритм расшифровки для понимания сообщений.

Машинный код, язык ассемблера и компиляторы

ЦП компьютера выполняет инструкции вашей программы. Однако пока вы пишете программу на таком языке, как C++, процессор компьютера может следовать только инструкциям, закодированным как последовательность Os и s. Программный компилятор — это специальная программа, которая преобразует операторы, написанные на языке программирования, в двоичную форму (Os и s>, называемую машинным кодом. Поскольку нам трудно распознать последовательности 0 и 1, существует низкоуровневая (близкая к аппаратной ) язык программирования, называемый языком ассемблера, который использует короткие сокращения и шаблоны для описания того, что должен делать ЦП. Например, оператор ассемблера «MOV AL, 61h;» означает копирование следующего значения (61h, шестнадцатеричное представление 97) в ячейку памяти « АЛ".

Вы узнаете гораздо больше о машинном коде и языке ассемблера в CS 271, Архитектура компьютера и язык ассемблера.

Языки высокого уровня

В этом классе вы изучите C++, язык высокого уровня. Языки высокого уровня — это компьютерные языки, которые скрывают многие низкоуровневые детали компьютерной системы и, как правило, используют более естественные слова и символы по сравнению со словами, такими как «MOV», на языке ассемблера, который является языком низкого уровня.

C++ — один из многих языков высокого уровня. Чтобы увидеть текущую популярность всех компьютерных языков, перейдите в индекс TIOBE.

Исходный код, объектный код и исполняемый код

Исходный код

Когда вы начнете создавать программы в этом классе, вы будете создавать исходный код. Исходный код сохраняется в простом текстовом файле, называемом исходным файлом.

Преобразование исходного кода в исполняемый код

Ваш компьютер не понимает исходный код. Вы должны использовать компилятор для преобразования исходного кода в исполняемый код, который вы можете запустить и запустить на своем компьютере.

Во время преобразования исходного кода в исполняемый файл компилятор C++ создаст объектный код.

Исходный код преобразуется компилятором в так называемый объектный код. Объектный код программы на C++ сохраняется в файлах с суффиксом .o или .obj. На последнем этапе, называемом связыванием, объектные файлы объединяются с любыми библиотечными подпрограммами (подпрограммами, предоставленными языком для использования вами) для создания окончательного исполняемого файла с расширением .exe.

В зависимости от того, как вы компилируете свою программу, вы можете увидеть или не увидеть различные этапы преобразования исходных файлов в исполняемый файл. Например, во многих IDE (интегрированных средах разработки, таких как Visual Studio, Code:: Blocks или XCode) промежуточные шаги выполняются автоматически, поэтому вы можете нажать кнопку «сборка», и исполняемый файл будет создан.

Из чего состоит программа?

Языковые элементы

Большинство языков программирования включают следующие элементы.

Ключевые слова

Ключевые слова – это слова, имеющие особое значение в языке. Их можно использовать только по прямому назначению. Также известны как зарезервированные слова.

Определяемые программистом идентификаторы

Идентификаторы, определяемые программистом, — это слова, которые вы выбираете как программист для определения переменных или процедур программирования.

Операторы

Операторы выполняют операции над одним или несколькими операндами. Операнд — это часть данных. Различные арифметические символы, такие как +, * и /, являются примерами операторов.

Пунктуация

Знаки препинания отмечают начало или конец утверждения или отдельных элементов в списке.

Синтаксис

Правила, которые необходимо соблюдать при построении программы. Эти правила определяют, как вы можете комбинировать ключевые слова, определенные программистом идентификаторы, операторы и знаки препинания.

Специфика C++. Вы начнете изучать элементы языка, характерные для C++, в главе 2.

Строки и операторы

Мы часто думаем, что программы состоят из строк и операторов. Строка — это всего лишь одна строка в программе. Вы можете отображать номера строк в большинстве редакторов исходного кода IDE. В Visual Studio 2013 их необходимо включить, поскольку по умолчанию они отключены. Вы часто будете видеть ссылки на номера строк при компиляции программы и возникновении ошибки.

программа, отображающая номера строк и код в примере программы под названием hello world

На снимке экрана показана программа с ошибкой. Когда программа была скомпилирована, выходные данные (серые окна выше) включали «source.cpp(B)», что указывало на то, что проблема была в строке 8 файла с именем source. цена за тысячу показов

Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.

Переменные

Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.

Ввод и вывод

Двумя наиболее важными факторами при программировании являются ввод и вывод. Многие программы, которые вы напишете для классных заданий, будут использовать ввод с клавиатуры. Программа запросит ввод, и вы наберете ответ. По мере прохождения программы обучения вы приобретете опыт работы с файлами, базами данных, веб-ресурсами и другими источниками ввода.

Во многих, если не во всех заданиях CS 161, вы будете направлять вывод программы на консоль. Вы не часто видите вывод консоли, если запускаете приложения в Windows или OS X, потому что эти типы прикладных программ используют графические пользовательские интерфейсы (GUI). Однако программирование с графическим интерфейсом добавляет гораздо больше работы по созданию программы, и наша работа в CS 161 состоит в том, чтобы научить вас основам программирования, поэтому мы будем придерживаться консольного вывода.

Пример вывода в консоль

консольный вывод программа, выводящая текст hello world

Активность

Выберите хотя бы одно занятие, которое учащиеся могут активно вовлечь в изучение материала. Чем больше, тем лучше!

Просмотреть

Обобщите содержание раздела. Кроме того, не забудьте связать материал с тем, что будет дальше, чтобы помочь учащимся связать этот материал со следующим материалом.

Компьютеры не понимают человеческие языки. Фактически, на самом низком уровне компьютеры понимают только последовательности чисел, представляющие операционные коды (коды операций для краткости). С другой стороны, людям было бы очень сложно писать программы в терминах кодов операций. Поэтому были изобретены языки программирования, чтобы облегчить людям написание компьютерных программ.

Языки программирования предназначены для чтения и понимания людьми. Программа (исходный код) должна быть переведена на машинный язык, чтобы компьютер мог выполнить программу (поскольку компьютер понимает только машинный язык). То, как происходит этот перевод, зависит от того, является ли язык программирования компилируемым или интерпретируемым языком.

Компилируемые языки (например, C, C++)

Следующее иллюстрирует процесс программирования для скомпилированного языка программирования.


Компилятор берет программный код (исходный код) и преобразует исходный код в модуль машинного языка (называемый объектным файлом).Другая специализированная программа, называемая компоновщиком, объединяет этот объектный файл с другими ранее скомпилированными объектными файлами (в частности, модулями времени выполнения) для создания исполняемого файла. Этот процесс изображен на схеме ниже. Нажмите Начальная сборка, чтобы увидеть анимацию создания исполняемого файла. Щелкните Запустить исполняемый файл, чтобы имитировать запуск уже созданного исполняемого файла. Нажмите «Перестроить», чтобы имитировать перестроение исполняемого файла.

Исходная сборка Запустить исполняемый файл Rebuild

Таким образом, для скомпилированного языка преобразование исходного кода в исполняемый код происходит до запуска программы. Этот процесс сильно отличается от того, что происходит в интерпретируемом языке программирования.

Это несколько упрощено, так как многие современные программы, созданные с использованием скомпилированных языков, используют динамически подключаемые библиотеки или общие библиотеки. Поэтому для запуска исполняемого файла могут потребоваться эти динамические связанные библиотеки (Windows) или общие библиотеки (Linux, Unix).

Интерпретируемые языки программирования (например, Python, Perl)

Для интерпретируемого языка этот процесс отличается. Вместо перевода исходного кода на машинный язык до создания исполняемого файла интерпретатор преобразует исходный код на машинный язык во время работы программы. Это показано ниже:


В интерпретируемых языках используется специальная программа, называемая интерпретатором, которая преобразует исходный код, объединяется с библиотеками времени выполнения и выполняет полученные машинные инструкции во время выполнения. В отличие от скомпилированного языка, здесь нет предварительно скомпилированной программы для запуска. Процесс преобразования и объединение с библиотеками времени выполнения происходит каждый раз, когда запускается программа на интерпретируемом языке. Вот почему программы, написанные на скомпилированных языках, работают быстрее, чем аналогичные программы, написанные на интерпретируемых языках. Нажмите Start, чтобы запустить симуляцию интерпретируемой программы. Нажмите «Перезапустить», если хотите снова запустить симуляцию.

Каждый раз, когда запускается интерпретируемая программа, интерпретатор должен преобразовывать исходный код в машинный код, а также извлекать библиотеки времени выполнения. Этот процесс преобразования заставляет программу работать медленнее, чем сопоставимая программа, написанная на скомпилированном языке.

Поскольку интерпретатор выполняет преобразование исходного языка в машинный во время выполнения программы, интерпретируемые языки обычно приводят к тому, что программы выполняются медленнее, чем скомпилированные программы. Но взамен часто получается, что интерпретируемые языки часто не зависят от платформы, поскольку для каждой операционной системы можно использовать разные интерпретаторы.

А теперь кое-что другое. Java

Язык программирования Java не вписывается ни в модели компилируемого языка, ни в модели интерпретируемого языка. Это показано на рисунке ниже.


Компилятор Java (javac) преобразует исходный код в байт-код. Байт-код — это своего рода средний машинный язык. Этот файл байт-кода (файл .class) можно запустить в любой операционной системе с помощью интерпретатора Java (java) для этой платформы. Интерпретатор называется виртуальной машиной. Таким образом, Java является примером языка программирования для виртуальных машин.

Языки виртуальных машин были созданы как компромисс между компилируемыми и интерпретируемыми языками. В идеальных условиях программы на языке виртуальной машины работают ближе по скорости к программам на скомпилированном языке, но обладают независимостью от платформы программ на интерпретируемом языке.

Способ, которым языки программирования виртуальных машин получают часть скорости компилируемых языков, заключается в том, что исходный код пропускается через компилятор для создания байт-кода. Это преобразование происходит до запуска программы. Способ, которым языки виртуальных машин достигают своей переносимости (независимости от платформы), заключается в наличии разных интерпретаторов для каждой поддерживаемой операционной системы. Этот интерпретатор связывает правильные библиотеки времени выполнения для каждой операционной системы. Скомпилированный байт-код представляет собой средний машинный язык, который будет работать без изменений с любым интерпретатором виртуальной машины для этого языка. Этот процесс проиллюстрирован далее. У нас есть компилятор, который преобразует исходный код в байт-код. Это можно смоделировать, нажав кнопку Compile. После создания байт-кода этот же байт-код можно использовать без каких-либо изменений в любой операционной системе, имеющей интерпретатор виртуальной машины для языка программирования. Обратите внимание, что каждый интерпретатор виртуальной машины имеет разный код библиотеки времени выполнения, потому что каждая операционная система имеет разные библиотеки времени выполнения.Вот как язык виртуальной машины решает проблемы зависимости от платформы. Нажмите «Запустить Windows», «Запустить Mac OSX» или «Запустить Linux», чтобы имитировать запуск программы в любой из этих операционных систем.

Читайте также: