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

Обновлено: 04.07.2024

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

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

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

  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

Активность

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

Просмотреть

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

Nvidia запустила облачную версию своей платформы Omniverse для 3D-моделирования. Компания также представила Omniverse .

Преодолейте сбои AWS, научившись создавать многорегиональную архитектуру, обеспечивающую отказоустойчивость в случае аварии.

Чтобы добиться высокой доступности и отказоустойчивости в AWS, ИТ-администраторы должны сначала понять различия между двумя моделями.

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

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

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

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

Будь то создание автоматизированных инструментов для сертификации ОС или изучение eBPF как способа обеспечения безопасности цепочки поставок в домене .

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

Насколько хорошо вы знаете обработку исключений в Java? Эти 10 сложных вопросов с несколькими вариантами ответов для проверенных и непроверенных .

Не позволяйте возникновению RuntimeException в Java привести к остановке вашего кода. Вот 10 примеров того, как избежать .

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

Считаете, что готовы к сертификационному экзамену AWS Certified Solutions Architect? Проверьте свои знания, ответив на эти 12 вопросов и.

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

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

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

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

Два важных термина, которые мы использовали в приведенном выше определении, — это —

  • Последовательность инструкций
  • Язык программирования

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

Вы будете использовать человеческий язык, чтобы рассказать, как пройти в KFC, что-то вроде следующего:

Сначала идите прямо, через полкилометра поверните налево на красный свет, затем проедьте около километра, и справа вы найдете KFC.

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

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

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

Вышеупомянутая компьютерная программа дает компьютеру указание напечатать "Hello, World!" на экране компьютера.

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

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

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

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

Введение в программирование

Если вы поняли, что такое компьютерная программа, то мы скажем: акт написания компьютерных программ называется компьютерным программированием.

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

Использование компьютерных программ

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

MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome и т. д. являются примерами компьютерных программ.

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

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

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

Программист

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

Основываясь на знании языков программирования, мы можем назвать программистов следующим образом:

  • Программист на C
  • Программист на C++
  • Программист Java
  • Программист Python
  • Программист PHP
  • Программист на Perl
  • Программист Ruby

Алгоритм

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

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

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

<р>1. Глагол «программировать компьютер» означает написание инструкций, утверждений или команд, которые указывают компьютеру, как обрабатывать данные. Существует несколько языков программирования, используемых для программирования компьютера.

Дополнительная информация

Microsoft Excel< бр /> <р>2. В качестве существительного программа, также называемая приложением или программным обеспечением, представляет собой набор инструкций, которые обрабатывают ввод, манипулируют данными и выводят результат. Например, Microsoft Word — это программа для обработки текстов, которая позволяет пользователям создавать и записывать документы. Браузер, такой как тот, который вы используете для просмотра этой страницы, является программой.

Приложения и программы

Когда Apple представила iPhone, они популяризировали термин «приложение», но приложение (приложение) и программа — это одно и то же. Сегодня большинство людей думают о «приложении» как о приложении на компьютере Apple, смартфоне или планшете. Под программой понимается что-то, что работает на компьютере (например, на компьютере с Windows).

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

Программы и скрипты

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

Команды и программы

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

Файлы какого типа относятся к программным файлам?

Примеры компьютерных программ

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

Если вы посетите страницу категории программ, вы сможете увидеть другие примеры программ этой категории.

Какова цель программы?

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

Каковы основные функции программы?

Функции программы различаются в зависимости от типа программы. Например, функция программы-браузера состоит в том, чтобы просматривать Интернет. Функция текстового процессора заключается в создании, просмотре и редактировании документов. Программа обычно предназначена для выполнения определенной задачи (функции) и только этой задачи. Другими словами, программа текстового процессора может создать документ, но ее нельзя использовать для работы в Интернете.

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

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

Игровые программы?

Да, игры — это программы, но они могут обозначаться как "игры", а не как "программы", чтобы отличить их от программ, предназначенных для отдыха, а не для продуктивной работы. Как категория программ, игры имеют свои собственные подкатегории, такие как FPS, MMO и RPG. Например, Quake — это «игра FPS».

Является ли Microsoft Windows программой?

Нет. Все версии Microsoft Windows считаются операционной системой, а не программой.

Какой была первая программа?

Первая программа, хранившаяся в электронной памяти, была написана Томом Килберном. Программа вычислила старший множитель целого числа 2 · 18 = 262 144 и была успешно выполнена 21 июня 1948 года в Манчестерском университете, Англия. Компьютер назывался SSEM (малая экспериментальная машина), также известный как «Manchester Baby». Это событие широко отмечается как рождение программного обеспечения.

Дополнительная информация

<р>3. Program — это шведский перевод папки Windows Program Files.

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