Question
Submitted by Elizabeth T.
Mar. 21, 2022
04:28 p.m.
Instant Answer
Step 1
What is software?
Software refers to a set of instructions or programs that tell a computer what to do.
What is software?
Software refers to a set of instructions or programs that tell a computer what to do.
Step 2
Step 3
Final Answer
Video Answer
Solved by verified expert
Solved on Dec. 25, 2022, 4:23 p.m.
More Than Just
We take learning seriously. So we developed a line of study tools to help students learn their way.
Ace Chat
Your personal AI tutor, companion, and study partner. Available 24/7.
Ask Our Educators
Ask unlimited questions and get video answers from our expert STEM educators.
Notes & Exams
Millions of real past notes, study guides, and exams matched directly to your classes.
Reviewed By Expert Numerade Educators
University Of Delhi
My name is Vaibhav Jain. I am a content developer, faculty of Mathematics, Video producer in the field of mathematics. I teach and provide content and solutions from K- 6 to K-12 segment which also included jee level problems.
I have completed my graduation from DELHI UNIVERSITY in the branch of Physical Science & Computer Science.
Key points :
MAJOR POINT- I have made 4400 videos up to JEE level mathematics in 2 months at Doubtnut Company and more than 50000 pen-paper solutions in the last 1.5 years.
I am hardworking and passionate about my subject.
1. I am working with «Doubtnut Company» as a video solution developer.
2. I worked with «Chegg.com» as SME
3. I have worked with «Bytedance inc » in various projects like question answering, quality checking, live tutoring, video solution making.
4. I am always keen on Edtech companies for great projects and roles.
5. I have secured ‘96.67’ percentile in Management exams like MAH-CET
6. I have scored ‘100’ out of 100 in class 10 in maths.
7. I have scored ‘100’ out of 100 in class 12 in maths.
8. I have also qualified in jee mains.
Numerade tutor for
3 years
Video Answers to Similar Questions
«Программное обеспечение» — это термин, обозначающий серию подробных инструкций, которые сообщают компьютеру, какие задачи нужно выполнять и как их выполнять. Сюда входят все процедуры и процедуры, которым компьютер должен следовать, чтобы получить работа сделана.
Есть синонимы термина «программное обеспечение». Часто используется «компьютерная программа» или просто «программа». Столь же приемлемым является термин «приложение» для описания того же набора команд для решения проблем. Некоторыми примерами приложений являются программное обеспечение для обработки текстов, такое как Microsoft Word, и программное обеспечение для работы с электронными таблицами, такое как Microsoft Excel.
Иногда инструкции встраиваются в исполняемые файлы с расширением .exe. Когда люди запускают их, эти файлы запускают серию шагов, которые сообщают компьютеру, как выполнить данную операцию.
Содержание
- Урок №1. Введение в программирование
- Машинный язык
- Язык ассемблера
- Высокоуровневые языки программирования
- Преимущества высокоуровневых языков программирования
- Изучаем C++. Часть 1. Что такое программа и языки программирования
- Что такое язык программирования
- Как работают программы
- Пишем первую программу на C++
- Запускаем код в интернете
- Запускаем код на компьютере
- Из чего состоит программа на C++
- Как работает процессор и языки программирования
- Процессор и оперативная память
- Ассемблер
- Языки программирования высшего уровня
- Компилируемые языки
- Интерпретируемые языки
- Подытожим
- Нужно ли учить C для понимания работы компьютера?
- Абстрактная машина C
- Отступление: почему люди заблуждаются?
- Что люди на самом деле имеют в виду?
- Изучай С, чтобы ЛУЧШЕ понять, как работают компьютеры
Урок №1. Введение в программирование
Обновл. 24 Дек 2020 |
Компьютеры понимают только очень ограниченный набор инструкций, и чтобы заставить их что-то делать, нужно четко сформулировать задание, используя эти же инструкции. Программа (также «приложение» или «программное обеспечение», или «софт») — это набор инструкций, которые указывают компьютеру, что ему нужно делать. Физическая часть компьютера, которая выполняет эти инструкции, называется «железом» или аппаратной частью (например, процессор, материнская плата и т.д.). Данный урок является началом серии уроков по программированию на языке С++ для начинающих.
Машинный язык
Процессор компьютера не способен понимать напрямую языки программирования, такие как C++, Java, Python и т.д. Очень ограниченный набор инструкций, которые изначально понимает процессор, называется машинным кодом (или «машинным языком»). То, как эти инструкции организованы, выходит за рамки данного введения, но стоит отметить две вещи.
Например, одна команда машинного кода архитектуры ×86 выглядит следующим образом:
Во-вторых, каждый набор бит переводится процессором в инструкции для выполнения определенного задания (например, сравнить два числа или переместить число в определенную ячейку памяти). Разные типы процессоров обычно имеют разные наборы инструкций, поэтому инструкции, которые будут работать на процессорах Intel (используются в персональных компьютерах), с большей долей вероятности, не будут работать на процессорах Xenon (используются в игровых приставках Xbox). Раньше, когда компьютеры только начинали массово распространяться, программисты должны были писать программы непосредственно на машинном языке, что было очень неудобно, сложно и занимало намного больше времени, чем сейчас.
Язык ассемблера
Так как программировать на машинном языке — удовольствие специфическое, то программисты изобрели язык ассемблера. В этом языке каждая команда идентифицируется коротким именем (а не набором единиц с нулями), и переменными можно управлять через их имена. Таким образом, писать/читать код стало гораздо легче. Тем не менее, процессор все равно не понимает язык ассемблера напрямую. Его также нужно переводить, с помощью ассемблера, в машинный код. Ассемблер — это транслятор (переводчик), который переводит код, написанный на языке ассемблера, в машинный язык. В Интернете язык ассемблера часто называют просто «Ассемблер».
Преимуществом Ассемблера является его производительность (точнее скорость выполнения) и он до сих пор используется, когда это имеет решающее значение. Тем не менее, причина подобного преимущества заключается в том, что программирование на этом языке адаптируется к конкретному процессору. Программы, адаптированные под один процессор, не будут работать с другим. Кроме того, чтобы программировать на Ассемблере, по-прежнему нужно знать очень много не очень читабельных инструкций для выполнения даже простого задания.
Например, вот вышеприведенная команда, но уже на языке ассемблера:
Высокоуровневые языки программирования
Для решения проблем читабельности кода и чрезмерной сложности были разработаны высокоуровневые языки программирования. C, C++, Pascal, Java, JavaScript и Perl — это всё языки высокого уровня. Они позволяют писать и выполнять программы, не переживая о совместимости кода с разными архитектурами процессоров. Программы, написанные на языках высокого уровня, также должны быть переведены в машинный код перед выполнением. Есть два варианта:
компиляция, которая выполняется компилятором;
интерпретация, которая выполняется интерпретатором.
Компилятор — это программа, которая читает код и создает автономную (способную работать независимо от другого аппаратного или программного обеспечения) исполняемую программу, которую процессор понимает напрямую. При запуске программы весь код компилируется целиком, а затем создается исполняемый файл и уже при повторном запуске программы компиляция не выполняется.
Проще говоря, процесс компиляции выглядит следующим образом:
Интерпретатор — это программа, которая напрямую выполняет код, без его предыдущей компиляции в исполняемый файл. Интерпретаторы более гибкие, но менее эффективные, так как процесс интерпретации выполняется повторно при каждом запуске программы.
Любой язык программирования может быть компилируемым или интерпретируемым, однако, такие языки, как C, C++ и Pascal — компилируются, в то время как «скриптовые» языки, такие, как Perl и JavaScript — интерпретируются. Некоторые языки программирования (например, Java) могут как компилироваться, так и интерпретироваться.
Преимущества высокоуровневых языков программирования
Преимущество №1: Легче писать/читать код. Вот вышеприведенная команда, но уже на языке C++:
Преимущество №2: Требуется меньше инструкций для выполнения определенного задания. В языке C++ вы можете сделать что-то вроде а = Ь * 2 + 5; в одной строке. В языке ассемблера вам пришлось бы использовать 5 или 6 инструкций.
Преимущество №3: Вы не должны заботиться о таких деталях, как загрузка переменных в регистры процессора. Компилятор или интерпретатор берёт это на себя.
Преимущество №4: Высокоуровневые языки программирования более портируемые под различные архитектуры (но есть один нюанс).
Источник
Изучаем C++. Часть 1. Что такое программа и языки программирования
Разбираемся, как устроен язык программирования C++, что такое программы и как научиться их писать.
Чтобы научиться программировать с нуля, нужно только уметь пользоваться компьютером, устанавливать программы, создавать папки и файлы. Это первая статья из серии «Глубокое погружение в C++», с помощью которой вы сделаете первые шаги в профессии разработчика серверных приложений и игр.
Не пугайтесь большого объёма информации: чем больше вы будете знать, тем лучше сможете программировать. Это особенно важно, если вы выбрали C++, потому что на этом языке невозможно без хорошей теоретической базы написать высокопроизводительный код.
Внимание! В следующих разделах информация сильно упрощена.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Что такое язык программирования
Компьютер — это бесполезный кусок железа, который ни с чем не может справиться самостоятельно. И чтобы получить какой-то результат, нужно написать для него программу — подробный набор инструкций.
Компьютер понимает только машинный код — специальный язык, который очень сложно изучить. Вот как выглядит вывод на экран надписи «Hello, World!» на машинном коде (в шестнадцатеричном представлении):
Чтобы упростить разработку, были созданы языки программирования — с их помощью пишут инструкции для компьютера, которые понятны и человеку. Одним из первых был язык ассемблера. Вот как на нём выглядит вывод надписи «Hello, World!»:
Всё равно достаточно сложно, да? В результате человечество создало более понятные языки программирования, на которых гораздо быстрее писать программы. А чтобы они потом запускались, код переводится в машинный или какой-нибудь промежуточный язык — этот процесс называется компиляцией.
Если язык похож на машинный код, то его называют низкоуровневым. Если же он больше понятен человеку, то — высокоуровневым. C++ сочетает в себе свойства и того, и другого.
Как работают программы
Любая программа работает с данными: она их получает, обрабатывает, а потом возвращает результат обработки. Данные могут быть переданы пользователем, считаны из файла или записаны в самом коде.
Например, браузер получает текст из адресной строки, который ввёл пользователь, отправляет адрес на сервер, а потом выводит ответ в виде страницы.
Также программа может состоять из других подпрограмм — наборов инструкций. Обработка запроса пользователя, отправка данных на сервер, получение ответа, вывод страницы — всё это подпрограммы.
Вот пример логики такой подпрограммы:
Можно вернуть данные пользователю, записать их в файл или передать другой подпрограмме. Вот ещё один пример использования программы:
Эта команда запускает программу в ОС Linux, которая конвертирует изображение img.jpg в другой формат, а потом сохраняет в файл img.png.
Сейчас слово «подпрограмма» встречается редко — вместо него используют слова «функция», «процедура» или «метод».
Пишем первую программу на C++
По традиции программистов первая программа, написанная на изучаемом языке, должна выводить на экран надпись «Hello, World!».
В C++ такой код будет выглядеть так:
Попробуем его запустить, а потом разберём, как он работает.
Запускаем код в интернете
Самый простой вариант — зайти на сайт repl.it. На главной странице нажмите Start Coding, выберите C++ и нажмите Create Repl.
У вас откроется следующая страница:
Слева — менеджер файлов, в центре — текстовый редактор, где уже введён нужный нам код, а справа — консоль, в которой выводится результат. Чтобы запустить программу, нажмите Run.
Запускаем код на компьютере
Если же вы хотите компилировать код на своём компьютере, то установите компилятор. Я пользуюсь G++, его и вам рекомендую.
После установки компилятора создайте отдельную папку для кода, а в ней — файл hello.cpp (это расширение для файлов с командами на C++). Желательно, чтобы путь к папке состоял из латинских символов и был написан без пробелов.
Откройте hello.cpp с помощью любого блокнота или редактора кода (например, Sublime text или VS Code) и вставьте в него код, указанный выше. Теперь откройте терминал с помощью инструкции ниже.
| Windows | Linux |
|---|---|
| 1. Нажмите Win + R, введите cmd и нажмите Enter. | 1. Нажмите Ctrl + Alt + t. Если не помогло, то подходящий способ можно найти в этой статье. |
| 2. Введите команду cd [путь]. Например, cd projects\cpp1, если ваша папка находится по адресу c:\projects\cpp1. | 2. Введите команду cd [путь]. Например: cd
/projects/cpp1 |
| 3. Если папка находится не на системном диске, то команду нужно изменить: cd /D [диск:][путь]. Например: cd /D d:\projects\cpp1 |
Затем введите следующую команду:
Эта команда скажет компьютеру, что нужно скомпилировать код из файла hello.cpp и сохранить результат в файл hello (или hello.exe в Windows).
После этого запустите скомпилированную программу, и вы увидите, что всё работает:
Теперь, когда мы смогли запустить программу, разберёмся в ней.
Из чего состоит программа на C++
Начнём с самой первой строчки:
С помощью языка программирования можно:
Но чтобы получить больше возможностей, программе нужно как-то взаимодействовать с операционной системой. Писать код, который будет отправлять команды ОС, достаточно сложно, но нам и не придётся — всё уже написано другими разработчиками и помещено в специальную библиотеку.
Одна из таких библиотек, iostream, позволяет запрашивать пользовательский ввод или выводить что-то в консоли.
Есть и другие библиотеки, которые помогают работать с графикой, отправлять запросы через интернет, воспроизводить звук и так далее. В будущем вы научитесь самостоятельно писать свои собственные библиотеки.
Источник
Как работает процессор и языки программирования
Эта статья будет полезна всем, кто по каким-либо причинам не знает, как работает процессор, как и зачем появились языки программирования и принцип их работы.
Все описанное ниже как всегда упрощено для лучшего понимания.
Процессор и оперативная память
Все вы знаете, что процессор в компьютере — это мозг. Он управляет всеми процессами, происходящими внутри этой консервной банки. Но знаете ли вы, как он работает?
Начнем вот с чего. Процессор не понимает русский, английский и другие языки. Он понимает числа, которые являются для него простыми командами, например: взять из памяти какие-то данные, добавить какие-то данные, сложить и т.д.
Процессор знает много команд и у каждой из них есть свой числовой код, например:
Совокупность всех команд и их числовых кодов, заложенных инженерами в процессор, называется архитектурой процессора. Это не аппаратная архитектура, а программная. Каждый производитель процессоров закладывает свою архитектуру. Это значит, что у одной и той же команды будут разные числовые коды на разных процессорах.
Понимаете прикол? Это значит, что вам нужно писать код для каждой архитектуры процессора. Жуть.
Так. Понятно. Процессор может выполнять маленькие числовые команды. Но откуда он их берет? Из оперативной памяти. Думайте об оперативке, как о большом количестве маленьких ячеек. Каждая ячейка имеет свой адрес — это обычное число, например 2001. По адресу ячейки процессор может запросить данные и оперативная память вернет их ему. Также в эту ячейку процессор может записать новые данные.
Как я уже сказал, в ячейках оперативной памяти хранятся команды для процессора. Но также в них могут храниться любые другие данные, которые можно представить в числовом виде, например: буквы, изображения, музыка или видео.
Получается такая картина: процессор обращается к оперативной памяти по адресу ячейки, оперативка возвращает ему команду из этой ячейки, процессор выполняет команду. А что дальше? А дальше процессор опять обращается к памяти (уже в другую ячейку), получает команду, выполняет ее и этот цикл повторяется снова и снова. То есть процессор все время выполняет какую-то заданную последовательность команд (числовых кодов). Эта последовательность команд называется машинным кодом.
Ассемблер
Как мы помним, процессор спроектирован таким образом, чтобы выполнять простые команды, загруженные из оперативной памяти.
Для того, чтобы заставить процессор выполнить какую-то программу, например решить уравнение 2 + 2 * 2, нам нужно написать цепочку простых числовых команд.
Согласитесь, что писать такой код очень сложно и легко запутаться. И это мы всего лишь написали код для решения простого уравнения. А теперь представьте, как написать ВКонтактик или Инстаграм.
Для упрощения жизни люди придумали инструмент Ассемблер и язык программирования на ассемблере.
Теперь все числовые коды команд процессора заменили на буквенные аббревиатуры, которые стало легче запоминать и читать.
Помните примеры кодов команд, которые были указаны выше? Теперь они выглядят так:
Также к названию команд были добавлены операнды (один или более), которые дают дополнительную информацию для выполнения команды.
Рассмотрим еще один пример программы на ассемблере, которая выводит фразу «Hello, World!«. Пример ассемблированного кода:
Что-то слишком много непонятного кода для такой пустяковой задачи, не правда ли?
Языки программирования высшего уровня
Помните в самом начале я писал, что каждый производитель процессоров делает свою архитектуру? И что у каждой архитектуры свои числовые коды команд?
Так вот одну и ту же программу на ассемблере вам придется «пересобирать» под каждую из архитектур процессора. Для каждой архитектуры нужно скачивать отдельный инструмент Ассемблер и прогонять через него свой код.
Это усложняет портативность. Добавим сюда сложность в написании больших программ и получим необходимость в создании новых инструментов.
Так стали появляться языки программирования высокого уровня.
Их суть заключается в том, что цепочки команд на ассемблере были объединены в отдельные функции. Теперь вам достаточно написать одну команду, чтобы показать сообщение «Hello, World!».
Компилируемые языки
Первыми появились компилируемые языки программирования. К ним относится С, С++, Java и другие.
Компилируемый язык программирования означает, что есть инструмент компилятор, который преобразует код высшего порядка в код, понятный процессору.
Рассмотрим чуть подробнее. Например на языке С вывод фразы «Hello, World!» будет выглядеть так: printf(«Hello, World!»). Просто и понятно.
Но процессор не поймет этой команды. Как мы помним, он знает и понимает только маленькие числовые команды. Поэтому компилятор языка C преобразует команду в ассемблированный код, а затем в машинный код, понятный процессору.
Программа, написанная на компилируемом языке программирования, перед запуском всегда проходит процесс компиляции. То есть весь написанный код высшего порядка преобразуется в машинный код, понятный процессору.
Затем компилятор делает исполняемый файл, который можно скинуть другу, чтобы он запустил вашу программу на своем компьютере.
Но у некоторых компиляторов есть свой прикол: чтобы ваша программа работала на всех операционных системах и всех архитектурах процессоров, вам нужно скомпилировать ее для этих вещей. И это может быть не так удобно.
Интерпретируемые языки
Компилируемые языки намного упростили задачу написания кода. Но что, если я скажу, что можно написать программу, которая будет работать на всех архитектурах процессоров и любой операционной системе?
Вот тут в ход идут интерпретируемые языки программирования такие как: Python, PHP, Perl, Pascal и другие.
Это тоже языки высшего порядка, которые также упрощают написание кода. Но у них есть как минимум два преимущества перед компилируемыми языками:
Интерпретатор работает почти так же, как и компилятор, но с одной маленькой, но значительной особенностью: он преобразует код высшего порядка не в машинный код, а еще ниже — в байткод.
Байткод — это код, который понимают все процессоры не зависимо от архитектуры.
Конечно, в этом решении есть свой недостаток. В силу своей гибкости интерпретируемые языки подвержены низкой скорости работы из-за большего числа инструкций, которые генерирует интерпретатор. Но это напрямую зависит от того, насколько круто написан интерпретатор.
Подытожим
Байткод — саааамый низкий язык, который понимает процессор.
Машинный код — цепочка числовых команд. Все числовые команды процессора создают архитектуру процессора, заложенную инженерами при проектировании. У разных производителей процессоров могут отличаться номера одних и тех же команд.
Ассемблер — инструмент, который преобразует ассемблированный код в машинный. Программы на ассемблированном языке писать проще, чем машинный код, но все равно гемор.
Компилятор и Интерпретатор — инструменты, преобразующие код высшего уровня в код, понятный процессору.
Язык высшего уровня — это сказка, позволяющая создавать большие программы с помощью простых и понятных функций.
Я надеюсь, что теперь вы лучше представляете, как работает ваш компьютер или смартфон и будете терпеливее относится к их затупам 🙂 Ведь железка не виновата, что тупит, а виноват горе-программист, который написал плохой код.
Если вы с чем-то не согласны, у вас есть вопросы или просто хотите сказать спасибо — прошу в комментарии. Пообщаемся 🙂
Источник
Нужно ли учить C для понимания работы компьютера?
Я часто слышал, что для понимания работы компьютера люди предлагают изучать C. Это хорошая мысль? Вы уверены? Сразу изложу выводы статьи, просто для абсолютной ясности:
Изучая C, вы можете понять, как работают компьютеры.
Не думаю, что идея изначально неправильна, но она имеет некоторые оговорки. Если держать их в уме, то она вполне может быть жизнеспособной стратегией для изучения новых и важных вещей. Однако я редко вижу, чтобы люди подробно обсуждали данные оговорки, поэтому пишу эту статью, чтобы предоставить, по-моему, очень нужный контекст… Если вы думаете об изучении C для понимания работы компьютера, то статья для вас. Надеюсь, она поможет во всём разобраться.
Прежде чем мы действительно начнём, хотел бы сказать ещё кое-что: если хотите изучить C, то изучайте! Учиться — это здорово. Изучение C стало очень важным для моего понимания вычислительной техники и моей карьеры. Изучение этого языка и его места в истории языка программирования сделает вас лучшим программистом. Вам не нужно никакое оправдание. Изучайте вещи просто ради обучения. Эта статья призвана стать ориентиром, чтобы разобраться в истине, она не обсуждает, нужно или нет изучать С.
Прежде всего, кому вообще рекомендуется эта идея. Если вы пытаетесь «узнать, как работают компьютеры», то само собой разумеется, что вы в настоящее время этого не понимаете. Какие программисты не понимают, как работают компьютеры? Я в основном видел, что это чувство исходит от людей, которые в основном программируют на динамически типизированных «скриптовых» языках, таких как Ruby, Python или JavaScript. Они якобы «не знают, как работают компьютеры», потому что эти языки работают внутри виртуальной машины, где имеет значение только семантика виртуальной машины. В конце концов, вся идея виртуальной машины заключается в обеспечении переносимости. Цель в том, чтобы не зависеть от оборудования, на котором работает VM.
Есть только одна проблема: C тоже работает внутри виртуальной машины.
Абстрактная машина C
Из спецификации C99, раздел 5.1.2.3, «Выполнение программы»:
Семантические описания в этом Международном Стандарте описывают поведение абстрактной машины, в которой вопросы оптимизации не имеют значения.
На мой взгляд, это важнее всего понять при изучении C. Язык не «описывает, как работает компьютер», а описывает, как работает «абстрактная машина C». Всё остальное важное вытекает из этой концепции.
Еще одно замечание: здесь я выбрал C99, который не является последним стандартом C. Почему? Ну, в MSVC есть… интересная поддержка языка С, и в наши дни я пользователь Windows. Да, вы можете запускать clang и gcc под Windows. Между C89, C99 и C11 не такая большая разница в отношении того, о чём мы говорим. В какой-то момент приходится выбирать. Версия, которую я здесь упомянул, включает в себя некоторые правки к первоначальной спецификации.
Возможно, в разговорах о C вы слышали ещё одну фразу: «C — переносимый ассемблер». Если задуматься об этой фразе, то вы поймёте, что если это правда, то C не может соответствовать работе компьютера: существует много разных компьютеров с разной архитектурой. Если C похож на ассемблер, который работает на разных компьютерах с разными архитектурами, то он не может одновременно функционировать в точности так, как каждый из этих компьютеров. Он должен прятать детали, иначе не будет переносимым!
Тем не менее, я думаю, что данный факт не имеет значения, потому что вряд ли люди буквально имеют в виду «C — это то, как работает компьютер». Прежде чем вернуться к этому, поговорим об абстрактной машине C, и почему многие, кажется, не понимают этот аспект языка C.
Отступление: почему люди заблуждаются?
Могу рассказать только о своём опыте, хотя наверняка он не уникален.
Я изучил GW-BASIC, потом С, потом С++, потом Java. Я слышал о Java до того, как начал писать на ней примерно в 1999 году, через четыре года после её появления. Маркетинг в то время активно противопоставлял Java и C++, он сосредоточился на JVM как платформе, и на том, что модель машины отличает её от C++, и, следовательно, C. Sun Microsystems больше не существует, но зеркало пресс-релиза напоминает нам:
Приложения на Java не зависят от платформы; нужно лишь портировать виртуальную машину Java на каждую платформу. Она действует как интерпретатор между компьютером пользователя и Java-приложением. Приложение, написанное в среде Java, может работать в любом месте, избавляя от необходимости переноса приложений на несколько платформ.
Главным девизом было «Пиши один раз, запускай везде». Эти два предложения стали тем, как я (и многие другие) пришёл к пониманию Java, и как она отличается от C++. У Java есть интерпретатор, виртуальная машина Java. В C++ нет виртуальной машины.
С таким мощным маркетингом «виртуальная машина» в умах многих людей стала синонимом «большой среды выполнения и/или интерпретатора». Языки без этой функции были слишком привязаны к конкретному компьютеру и требовали портирования, поскольку не являются по-настоящему независимыми от платформы. Главной причиной существования Java было изменение этого недостатка C++.
«Среда выполнения», «виртуальная машина» и «абстрактная машина» — разные слова для одного и того же фундаментального понятия. Но с тех пор они получили разные коннотации из-за незначительной дисперсии в реализациях этих идей.
Я лично считаю, что этот маркетинг 1995 года — причина, почему программисты до сих пор неправильно понимают природу C.
Так это утверждение ложно? Зачем Sun Microsystems тратить миллионы и миллионы долларов на пропаганду лжи? Если C тоже основан на абстрактной машине, которая предлагает переносимость между платформами, зачем нужна Java? Думаю, что это ключ к пониманию того, что люди действительно имеют ввиду, когда говорят «С — это то, как работает компьютер».
Что люди на самом деле имеют в виду?
Хотя C работает в контексте виртуальной машины, он по-прежнему значительно отличается от Java-подобных языков. Sun не врала. Чтобы понять, нужно знать историю С.
В 1969 году в Bell Labs была написана компьютерная операционная система на языке ассемблера. В 1970 году её окрестили UNIX. С течением времени Bell Labs покупала всё больше и больше новых компьютеров, включая PDP-11.
Когда пришло время портировать Unix на PDP-11, они решили использовать язык более высокого уровня, что было довольно радикальной идеей в то время. Представьте, что сегодня я вам скажу: «Я собираюсь написать ОС на Java» — вероятно, вы будете смеяться, хотя идея реализуема. Ситуация (в моём понимании, я тогда не жил) была примерно аналогичной. Рассматривался язык под названием B, но он не поддерживал некоторые функции, которые были у PDP-11, и поэтому они создали преемника, назвав его «C», поскольку это была следующая буква в алфавите.
Языка «A» не было; B стал преемником BCPL (Basic Combined Programming Language).
В 1972 году на PDP-11 написали первый компилятор C и одновременно переписали UNIX на C. Изначально о переносимости не думали, но C получил известность, так что компиляторы C портировали на другие системы.
В 1978 году вышло первое издание книги «Язык программирования С». Ласково именуемая «K&R», по именам её авторов, книга совсем не была похожа на спецификацию, но при этом достаточно подробно описывала язык, в результате чего другие тоже попытались написать компиляторы С. Позже эту «версию» будут называть «K&R C».
По мере распространения UNIX и C их обоих портировали на многие компьютеры. В 70-х и 80-х годах их аппаратная база непрерывно росла. Точно так же, как C создали, потому что B не поддерживал все функции PDP-11, многие компиляторы использовали расширения языка. Поскольку существовал только K&R, а не спецификация, то это считалось приемлемым, пока расширения были достаточно близки. К 1983 году отсутствие какой-либо стандартизации стало вызывать проблемы, поэтому в ANSI создали группу для подготовки спецификации. В 1989 году вышел стандарт C89, который иногда называется «ANSI C».
Спецификация C пыталась унифицировать эти разнообразные реализации на различном оборудовании. Таким образом, абстрактная машина C — это своего рода минимально возможная спецификация, которая позволила бы одному и тому же коду работать одинаково на всех платформах. Реализации C компилировались, а не интерпретировались, поэтому не было интерпретатора, поэтому не было «VM» в том смысле 1995 года. Однако программы на языке C пишутся на этом абстрактном несуществующем компьютере, а затем код преобразуется в ассемблер, специфичный для конкретного компьютера, на котором выполняется программа. Вы не могли полагаться на некоторые конкретные детали для написания переносимого кода на С. Это делает написание переносимого C очень сложным, так как вы, возможно, сделали специфичное для платформы предположение при написании начальной версии своего кода.
Таким образом, хотя Sun была технически не права, на практике они имеют в виду немного не то, что буквально говорят, и что они имеют в виду — верно. То же самое с фразой «Изучай C, чтобы понять, как работают компьютеры».
Изучай С, чтобы ЛУЧШЕ понять, как работают компьютеры
Что на самом деле люди имеют в виду? В контексте «должен ли рубист изучать C, чтобы понять, как работают компьютеры» — это совет снизиться «до уровня железа». То есть не только понять, как своя программа работает внутри виртуальной машины, но и как сочетание программы и VM работают в контексте самой машины.
Изучение C обеспечит вам больше таких деталей, потому что абстрактная машина гораздо ближе к аппаратному обеспечению, а также абстракциям операционных систем. Язык C сильно отличается от языков высокого уровня, поэтому его изучение может многому научить.
Но важно помнить, что C по сути является абстракцией аппаратного обеспечения, а абстракции несовершенны. Осторожнее с тем, что делает C или как он работает с самой машиной. Если слишком углубиться, то вы обязательно столкнетесь с этими различиями, что может вызвать проблемы. Большинство учебных ресурсов для C, особенно сегодня, когда оборудование становится все более гомогенным, будет продвигать идею о том, что именно так работает компьютер. Поэтому ученику может быть трудно понять, что происходит под капотом и что такое абстракция, предоставленная C.
В этой дискуссии мы даже не затронули другие вопросы. Например, что из-за огромной популярности C аппаратное обеспечение стало более однородным, потому что оно имеет тенденцию двигаться к семантике абстрактной машины C. Если ваша архитектура слишком сильно отличается от семантики языка C, программы на языке C могут работать намного медленнее, чем другие, а скорость аппаратного обеспечения часто измеряется тестами на языке C. Эта статья и так достаточно длинная…
По этой причине я думаю, что более точная версия этого утверждения будет «Изучая C, вы больше узнаете о том, как работают компьютеры». Я действительно думаю, что примерное знакомство с C полезно многим программистам, даже если они сами не пишут C. Знакомство с C также даст вам представление об истории развития нашей отрасли.
Есть и другие способы изучить эту тему; C по своей сути не предназначен для изучения компьютера, но это хороший вариант.
В программировании так много всего, чему стоит поучиться. Желаю вам успехов на этом пути.
Источник
Буквы:
1
2
3
4
5
6
7
8
Обновлено: 27.11.2023
Какие пошаговые инструкции говорят компьютеру, что делать??
программное обеспечение, инструкции, которые сообщают компьютеру, что делать. Программное обеспечение включает в себя весь набор программ, процедур и подпрограмм, связанных с работой компьютерной системы. Этот термин был придуман, чтобы отличить эти инструкции от оборудования, т. е. физических компонентов компьютерной системы.
Какие пошаговые инструкции даны компьютеру относительно конкретной работы?
Программное обеспечение на самом деле представляет собой компьютерную программу. Чтобы быть более конкретным, программа представляет собой набор пошаговых инструкций, которые предписывают компьютеру выполнять задачи, которые вы от него хотите, и получать желаемые результаты. Программист — это человек, который пишет программы.
Какие инструкции говорят компьютеру, что делать с quizlet?
Программное обеспечение — это инструкции, которые сообщают аппаратному обеспечению компьютера, что делать.
Что такое компьютерные инструкции?
Компьютерные инструкции – это набор инструкций машинного языка, которые понимает и выполняет определенный процессор. Компьютер выполняет задачи на основе предоставленной инструкции. Инструкция состоит из групп, называемых полями.
Является ли процесс передачи пошаговых инструкций компьютеру?
Программа – это набор пошаговых инструкций, которые предписывают компьютеру выполнять нужные вам задачи и получать желаемые результаты. Есть как минимум три веские причины для изучения программирования: Программирование помогает вам разбираться в компьютерах.
Как называются инструкции, данные компьютеру?
Набор инструкций, данных компьютеру, называется программой. Под компьютерным программированием понимаются детали или этапы инструкций, данных компьютеру на соответствующем языке программирования, которые позволяют компьютеру выполнять различные задачи последовательно или даже с перерывами.
Что такое инструкция по архитектуре компьютера?
Инструкция — это команда, отдаваемая компьютерному процессору компьютерной программой. … В языке ассемблера каждый оператор языка обычно соответствует одной инструкции процессора.
Как происходит запуск компьютера?
В вычислительной технике загрузка — это процесс запуска компьютера. Это может быть инициировано аппаратным обеспечением, например нажатием кнопки, или программной командой. … Перезагрузка компьютера также называется перезагрузкой, которая может быть «жесткой», например. после переключения питания ЦП с выключенного на включённое или «мягкое», когда питание не отключается.
Какова основная функция компьютерной викторины?
Четыре основные функции компьютера, которые работают вместе в компьютерной системе: ввод, обработка, вывод и хранение. Аппаратное обеспечение, отвечающее за управление компьютерными командами и операциями. Аппаратное обеспечение компьютера, сохраняющее информацию после выключения компьютера.
Какой набор инструкций, который использует ЦП, называется quizlet?
Язык, очень близкий к набору инструкций, используемому центральным процессором (ЦП). Язык низкого уровня, состоящий из нулей и единиц, которые использует центральный процессор (ЦП) компьютера. Также называется машинным кодом.
Что такое компьютерное обучение и его виды?
Арифметические, логические инструкции и инструкции сдвига (и, добавить, дополнить, перемещать влево, вправо и т. д.) Для перемещения информации в память и из памяти (сохранение аккумулятора, загрузка аккумулятора) Инструкции управления программой с условиями состояния (ветвь, пропуск) Инструкции ввода-вывода (входной символ, выходной символ)
Что такое ответ на инструкцию?
Ответ: Определение инструкции — это акт обучения, дающий шаги, которые необходимо выполнить, или приказ. Примером инструкции является то, что кто-то дает другому человеку подробные указания о библиотеке. существительное.
Что такое типы обучения?
Типы инструкций включают загрузку и сохранение с резервированием, синхронизацию и принудительное выполнение операций ввода-вывода по порядку. Они особенно полезны для многопроцессорной обработки. Инструкции управления потоком. К ним относятся переходы, логические инструкции регистра условий, прерывания и другие инструкции, влияющие на поток инструкций.
Что такое набор инструкций компьютерной системы?
Набор инструкций, также называемый ISA (архитектура набора инструкций), является частью компьютера, относящейся к программированию, которое в большей или меньшей степени является машинным языком. Набор инструкций предоставляет процессору команды, чтобы сообщить ему, что ему нужно делать.
Какие инструкции нужны компьютеру для выполнения действия?
В книге C++ Early Objects программа определяется как «набор инструкций, которым компьютер следует, чтобы выполнить задачу. Язык программирования — это специальный язык, используемый для написания компьютерных программ». Компьютеры и программное обеспечение идут рука об руку.
Каковы 5 типов командных операций?
- Обработка данных и операции с памятью.
- Арифметические и логические операции.
- Операции потока управления.
- Инструкции сопроцессора.
- Количество операндов.
Что такое инструкции?
1a инструкции множественного числа: план или руководство по технической процедуре: указания. b : указание, призывающее к соблюдению: порядок — обычно используется во множественном числе, имел инструкции не допускать незнакомцев. c : код, который сообщает компьютеру выполнить определенную операцию.
Что такое коды инструкций?
Код инструкции — это группа битов, которые предписывают компьютеру выполнить определенную операцию. Код операции инструкции представляет собой группу битов, определяющих такие операции, как сложение, вычитание, сдвиг, дополнение и т. д.
Каковы 4 функции компьютера?
- Ввод данных.
- Обработка данных.
- Вывод информации.
- Хранение данных и информации.
Каковы четыре основных компьютерных операции?
Какова основная функция компьютера?
Получение данных и инструкций от пользователя, обработка данных в соответствии с инструкциями, а также отображение или сохранение обработанных данных — четыре основные функции компьютера.
Что из следующего используется для записи инструкций непосредственно в ЦП?
В компьютерном программировании машинный код — это любой язык программирования низкого уровня, состоящий из инструкций машинного языка, который используется для управления центральным процессором компьютера (ЦП).
Является ли набор инструкций для управления компьютером?
Объяснение: Операционная система может быть определена как программная система, которая используется для управления компьютерными программами, программными ресурсами и компьютерным оборудованием. … Обычно используются операционные системы Apple, Linux, Microsoft Windows и Android.
Являются ли наборы инструкций, управляющие работой компьютера?
Набор инструкций, которым следует компьютер для выполнения задачи. Программное обеспечение, также известное как программы, создается этими людьми.
Какие существуют четыре различных типа инструкций?
Инструкции языка Machne бывают четырех типов: арифметические, логические, передача данных и ответвления (также называемые управлением потоком), а именно:
- Арифметика: add (сложение), sub (вычитание), mult (умножение), div (деление)
- Логический: и , или , srl (логический сдвиг вправо), ssl (логический сдвиг влево)
Каковы разные части инструкции?
Как вы приводите примеры инструкций?
- Не могли бы вы сделать мне чаю?
- Не могли бы вы опубликовать это письмо?
- Не могли бы вы одолжить мне 50 долларов, пожалуйста?
- Не могли бы вы принести мне этот файл, пожалуйста?
- Не могли бы вы забрать детей из школы, пожалуйста?
- Вы можете подойти сюда, пожалуйста?
- Вы можете кое-что для меня сделать?
- Вы можете сделать это для меня?
Что вы подразумеваете под инструкциями и программным обеспечением?
программное обеспечение, инструкции, которые сообщают компьютеру, что делать. Программное обеспечение включает в себя весь набор программ, процедур и подпрограмм, связанных с работой компьютерной системы. … Набор инструкций, предписывающих аппаратному обеспечению компьютера выполнять задачу, называется программой или программным обеспечением.
Кто дает инструкции компьютеру?
Инструкции, данные компьютеру, отдаются человеком с помощью клавиатуры или любого другого устройства ввода. Компьютер использует программное обеспечение или ОС для интерпретации этих инструкций, которые также запрограммированы человеком для перевода пользовательских команд.
Как вы определяете инструкции?
- Синхронизирующий сигнал, активный после декодирования, равен T3. В течение времени T блок управления определяет тип инструкции, которая только что была прочитана из памяти. …
- Выход декодера D равен 1, если код операции равен двоичному Il l. …
- регистр-ссылка или ввод-<>тип вывода.
Какие бывают 3 типа инструкций?
- Инструкции по передаче данных.
- Инструкции по обработке данных.
- Инструкции по последовательности программ и управлению.
- Инструкции ввода и вывода.
Как вы пишете инструкции?
- Используйте короткие предложения и короткие абзацы.
- Расположите точки в логическом порядке.
- Делайте свои утверждения конкретными.
- Используйте повелительное наклонение.
- Помещайте самое важное в каждое предложение в начало.
- Назовите одну вещь в каждом предложении.
Что такое набор инструкций?
Набор инструкций — это группа команд для ЦП на машинном языке. … Все ЦП имеют наборы инструкций, которые позволяют передавать процессору команды, предписывающие ЦП переключать соответствующие транзисторы. Некоторые инструкции представляют собой простые команды чтения, записи и перемещения, которые направляют данные на другое оборудование.
Какие инструкции по вводу сообщают компьютеру, как вы обрабатываете данные?
Программы — это инструкции, которые сообщают компьютеру, как обрабатывать данные в желаемой форме. В большинстве случаев слова «программное обеспечение» и «программы» взаимозаменяемы. Существует два вида программного обеспечения: прикладное программное обеспечение и системное программное обеспечение.
Что делает что на вашем компьютере? Детали компьютера Объяснение
Основные навыки работы с компьютером — ориентация
Как собрать компьютер шаг за шагом
инструкции, которые говорят компьютеру, что делать
состоит из пошаговых инструкций, которые говорят компьютеру, как выполнять свою работу
компьютерная программа, которая дает подробный набор инструкций, чтобы сообщить компьютер, что именно нужно делать.
тип компьютера, который достаточно мал, чтобы поместиться на столе или рядом с ним
какое другое название персонального компьютера
набор инструкций, который направляет компьютер к выполнять задачи
наиболее широко используемое устройство связи
другое название программы
Компьютеры и программное обеспечение идут рука об руку. Компьютеры сильны, потому что они могут делать много вещей, а программы — это то, как мы заставляем компьютеры делать все это.
Видео: что такое программирование?
Компьютерное оборудование
- Центральный процессор (ЦП)
- Основная память (оперативная память или ОЗУ)
- Дополнительные устройства хранения
- Устройства ввода
- Устройства вывода
ЦП
ЦП — это сердце компьютера. Программа – это последовательность инструкций, хранящихся в оперативной памяти. Когда программа запускается, ЦП получает инструкции и выполняет или следует инструкциям.
Цикл выборки/декодирования/выполнения
- 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 их необходимо включить, поскольку по умолчанию они отключены.Вы часто будете видеть ссылки на номера строк при компиляции программы и возникновении ошибки.
На снимке экрана показана программа с ошибкой. Когда программа была скомпилирована, выходные данные (серые окна выше) включали «source.cpp(B)», что указывало на то, что проблема была в строке 8 файла с именем source. цена за тысячу показов
Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.
Переменные
Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.
Ввод и вывод
Двумя наиболее важными факторами при программировании являются ввод и вывод. Многие программы, которые вы напишете для классных заданий, будут использовать ввод с клавиатуры. Программа запросит ввод, и вы наберете ответ. По мере прохождения программы обучения вы приобретете опыт работы с файлами, базами данных, веб-ресурсами и другими источниками ввода.
Во многих, если не во всех заданиях CS 161, вы будете направлять вывод программы на консоль. Вы не часто видите вывод консоли, если запускаете приложения в Windows или OS X, потому что эти типы прикладных программ используют графические пользовательские интерфейсы (GUI). Однако программирование с графическим интерфейсом добавляет гораздо больше работы по созданию программы, и наша работа в CS 161 состоит в том, чтобы научить вас основам программирования, поэтому мы будем придерживаться консольного вывода.
Пример вывода в консоль
Активность
Выберите хотя бы одно занятие, которое учащиеся могут активно вовлечь в изучение материала. Чем больше, тем лучше!
Просмотреть
Обобщите содержание раздела. Кроме того, не забудьте связать материал с тем, что будет дальше, чтобы помочь учащимся связать этот материал со следующим материалом.

Excel можно использовать для создания самых разных диаграмм для разных целей. Все, что вам нужно, это данные, которые вы хотите преобразовать в диаграмму! В … этом разделе вы собираетесь сгенерировать некоторые данные, а затем использовать эти данные для создания собственных диаграмм. Вы должны создать следующие диаграммы: Линейный график Круговая диаграмма Данные, которые вы создаете для этого, зависят от вас, но вы должны создать таблицу, по крайней мере, с 10 строками реалистичных данных. Вам нужно будет выполнить онлайн-поиск, чтобы получить больше информации о типе данных, которые вы хотите сгенерировать. В качестве примера (но вы придумаете свою собственную идею) вы можете создать некоторые данные для киноэнтузиаста, который посещает столько открытий научной фантастики, сколько может. Вы могли отследить название фильма, месяц, в котором они ходили, сколько стоил билет и сколько раз они ходили на него. Для этого вы должны искать в Интернете, когда в прошлом году выходили популярные научно-фантастические фильмы, сколько стоят билеты в вашем районе и т. д. Или вы можете создать данные для подготовки бегуна к марафону и вести журнал даты, расстояния, темп мили и потребление калорий. Для этого вы должны искать в Интернете режим тренировок, который реалистичен для бегуна, готовящегося к марафону, и использовать его для создания своих данных. После того, как вы создали таблицу, используйте ее для построения линейного графика, круговой диаграммы и диаграммы таким образом, чтобы обеспечить хорошую визуализацию ваших данных, что-то, что вы можете использовать для интерпретации и делать выводы об этих данных. Сохраните свою таблицу, а также все ваши диаграммы. Они понадобятся вам для следующего шага. На этом шаге вы представите, что работаете в отделе продаж и маркетинга компании, и ваша задача — представить маркетинговые идеи на основе данных, которые различные команды собрали в ваших диаграммах. Вы создадите пяти-семиминутную видео-презентацию о себе, показывающую каждую из ваших трех диаграмм (вы можете отобразить их на экране или распечатать в виде постерной презентации) и интерпретировать свои данные таким образом, чтобы это привело вас к идее. для нового продукта или другой услуги, которые могут быть проданы лицу или компании, представленной вашими данными. Ваша интерпретация данных должна включать: Анализ диаграммы: какой вывод ваша маркетинговая команда может сделать о людях или компаниях, которые демонстрируют тенденции, которые показывают ваши данные?Презентация: какой новый продукт или услуга могут заинтересовать этих людей или компании?
Анита разрабатывает веб-сайт для своего фотобизнеса. На главной странице она хочет разместить ссылку на другую веб-страницу своего веб-сайта. Какой тип… ссылки ей следует вставить?.
Как мне организовать этот код, используя классы в Python? Categories = <> def getLetterGrade(grade): ifgrade >= 94: letterGrade = «A» elifgrade > … ;= 90: letterGrade = «A-» elifgrade >= 87: letterGrade = «B+» elifgrade >= 84: letterGrade = «B» класс elif >= 80: letterGrade = «B-» elif класс >= 77: letterGrade = «C+» elif класс >= 74: letterGrade = «C» elif класс > ;= 70: letterGrade = «C-» elif ранг >= 67: letterGrade = «D+» elif ранг >= 64: letterGrade = «D» else: letterGrade = «F» return letterGrade def isWeightMax(catweight): catweight = sum(catweight. Values()) print(«У вас есть » + str(100 — catweight) + «осталось.») return (не catweight == 100) while isWeightMax(categories): cat, weight = input(«Enter категория и вес: «). Split() Categories[cat] = float(weight) print(categories)grade = 0. 0 для кота в категориях. Keys():grade += float(input(«Введите оценку для » + cat + » : «)) * (categories[cat] / 100.00) print(«Ваша средняя оценка: » + str(grade)) print(«Ваша буквенная оценка » + str(getLetterGrade(grade)) + «. «)
В этой сборке четыре батареи 1,5 В 2,3 Ач AA соединены последовательно. Каково суммарное напряжение и сила тока аккумуляторной батареи?
Что такое набор инструкций, выполняющих определенную задачу при выполнении компьютером??
Компьютерная программа – это набор инструкций, которые выполняют определенную задачу при выполнении компьютером. Большинству компьютерных устройств для правильной работы требуются программы. В компьютерные программы включены различные структуры, делающие их читабельными и лаконичными.
Какой набор инструкций позволяет пользователю взаимодействовать с компьютером?
Программное обеспечение, иногда сокращенно обозначаемое как SW и S/W, представляет собой набор инструкций, которые позволяют пользователю взаимодействовать с компьютером, его оборудованием или выполнять задачи.
Как вы называете конкретную инструкцию, предназначенную для выполнения задачи?
Конкретная инструкция, предназначенная для выполнения задачи, называется командой. Команда может быть простым ключевым словом или ключевым словом вместе со списком предоставляемых ему параметров для выполнения определенной задачи. Команды могут отличаться от одной платформы к другой, на которой они используются.
Какой определенный набор упорядоченных операций должен выполнять компьютер?
В вычислительной технике программа представляет собой определенный набор упорядоченных операций, которые должен выполнять компьютер. … Обычно программа помещается в область памяти, доступную для компьютера. Компьютер получает одну инструкцию и выполняет ее, а затем получает следующую инструкцию.
Что относится к последовательности инструкций, выполняющих определенную и ограниченную функцию?
Процедурная абстракция относится к последовательности инструкций, выполняющих определенную и ограниченную функцию. Примером процедурной абстракции может быть слово «открытая дверь».
Что такое набор инструкций?
Набор инструкций, предписывающих аппаратному обеспечению компьютера выполнять задачу, называется программой или программным обеспечением. Двумя основными типами программного обеспечения являются системное программное обеспечение и прикладное программное обеспечение.
Что мы используем для взаимодействия с компьютером?
Устройства, используемые для взаимодействия с компьютером: Мышь. Сенсорная панель. Клавиатура.
Что предназначено для решения конкретной проблемы или выполнения конкретной задачи?
___________________ предназначен для решения конкретной проблемы или выполнения конкретной задачи. Объяснение: прикладное программное обеспечение предназначено для решения конкретной проблемы. Системное программное обеспечение предназначено для управления работой компьютерной системы.
Какое программное обеспечение предназначено для конкретной задачи?
Что вы называете программой в процессе выполнения команды задачи?
Решение (от команды Examveda)
Выполняемая программа называется «Процесс»
Что такое компьютерные инструкции?
Компьютерные инструкции – это набор инструкций машинного языка, которые понимает и выполняет определенный процессор. Компьютер выполняет задачи на основе предоставленной инструкции. Инструкция состоит из групп, называемых полями.
Для чего используется счетчик программ?
Счетчик программ дает значение адреса в памяти, где находится следующая инструкция. Процессор извлекает значение инструкции из этой ячейки памяти. После получения инструкции ее необходимо декодировать и выполнить.
Является ли набор компьютерных инструкций, предоставляющих пользователю более конкретные функции?
Прикладное программное обеспечение – это набор компьютерных инструкций, обеспечивающих пользователю определенные функции. Системное программное обеспечение в первую очередь управляет аппаратными ресурсами компьютера.
Как называется последовательность инструкций?
Программа — это последовательность инструкций, хранящихся в основной памяти. Когда программа запускается, ЦП получает инструкции и выполняет или следует инструкциям.
Что содержит последовательность инструкций для выполнения конкретной задачи?
Последовательность инструкций, данных компьютеру для выполнения определенной задачи, называется программой.
Определяется как последовательность инструкций, необходимых для получения желаемых результатов. Эти инструкции написаны простым английским языком?
Объяснение. Последовательность инструкций на языке программирования для получения желаемого результата называется алгоритмом или программой. Последовательность пошаговых инструкций называется процессом.
Что такое набор инструкций для компьютера?
Набор инструкций — это группа команд для ЦП на машинном языке. Этот термин может относиться ко всем возможным инструкциям для ЦП или подмножеству инструкций для повышения его производительности в определенных ситуациях. … Некоторые инструкции представляют собой простые команды чтения, записи и перемещения, которые направляют данные на другое оборудование.
Что представляет собой набор инструкций и кода, установленных на компьютере?
Ваш ответ: Программное обеспечение.
Что такое физическая часть компьютера?
В каких операционных системах задания выполняются группами?
Пользователи пакетной операционной системы не взаимодействуют с компьютером напрямую. Каждый пользователь подготавливает свою работу на автономном устройстве, таком как перфокарты, и представляет ее оператору компьютера. Чтобы ускорить обработку, задания с одинаковыми потребностями объединяются в пакеты и выполняются как группа.
Что такое неявное взаимодействие человека с компьютером?
Определение: Неявное взаимодействие человека с компьютером Неявное взаимодействие человека с компьютером — это действие, выполняемое пользователем, которое в первую очередь не направлено на взаимодействие с компьютеризированной системой, но которое такая система воспринимает как ввод. Действие пользователя всегда выполняется в определенной среде.
Что предназначено для решения конкретной проблемы?
Ответ. Прикладное программное обеспечение предназначено для решения конкретной проблемы. Системное программное обеспечение предназначено для управления работой компьютерной системы.
Что используется для решения конкретной проблемы на компьютере?
Алгоритм (см. Алгоритм) — это набор определенных шагов для решения проблемы.
Какие инструменты нужны дизайнеру при решении задач?
- Схемы «рыбий скелет».
- Блок-схемы.
- Стратегические карты.
- Ментальные карты.
- Карты идей.
- Концептуальные карты.
- ПО для многоуровневого аудита процессов.
- Программное обеспечение для построения диаграмм.
Что используется для выполнения конкретной задачи?
Функциональные клавиши используются для выполнения определенных задач. Они помечены как F1, F2, F3 и т. д., вплоть до F12.
Что такое набор инструкций, предназначенных для выполнения конкретной задачи?
Набор инструкций, предписывающих аппаратному обеспечению компьютера выполнять задачу, называется программой или программным обеспечением. …
Какой пример прикладного программного обеспечения выполняет определенные задачи для пользователей?
Ответ. Прикладное программное обеспечение, также известное как приложение или приложение, представляет собой компьютерное программное обеспечение, предназначенное для помощи пользователю в выполнении определенных задач. Примеры включают корпоративное программное обеспечение, бухгалтерское программное обеспечение, офисные пакеты, графическое программное обеспечение и медиаплееры.
Что понимается под выполнением инструкции?
<р>1. выполнение инструкции — (информатика) процесс выполнения инструкции компьютером. исполнение. физический процесс, процесс — устойчивое явление или явление, характеризующееся постепенными изменениями через ряд состояний; «события в процессе»; «процесс кальцификации у мальчиков начинается позже, чем у девочек»
Какая программа выполняется?
Как это называется, когда программа выполняется?
| Очередь. | Вызывается выполняемая программа |
|---|---|
| b. | Инструкция |
| c. | Процедура |
| d. | Функция |
| Ответ :Процесс |
Как компьютер может обрабатывать информацию?
ЦП выполняет программу, которая хранится как последовательность инструкций машинного языка в основной памяти. Он делает это, многократно читая или извлекая инструкцию из памяти, а затем выполняя или выполняя эту инструкцию.
Что такое компьютерное обучение и его виды?
Арифметические, логические инструкции и инструкции сдвига (и, добавить, дополнить, перемещать влево, вправо и т. д.) Для перемещения информации в память и из памяти (сохранение аккумулятора, загрузка аккумулятора) Инструкции управления программой с условиями состояния (ветвь, пропуск) Инструкции ввода-вывода (входной символ, выходной символ)
Что такое инструкции?
1a инструкции множественного числа: план или руководство по технической процедуре: указания. b : указание, призывающее к соблюдению: порядок — обычно используется во множественном числе, имел инструкции не допускать незнакомцев. c : код, который сообщает компьютеру выполнить определенную операцию.
Что такое программный счетчик и чем он полезен при выполнении программы?
Счетчик программ, PC, — это регистр специального назначения, который используется процессором для хранения адреса следующей выполняемой команды. … При координации с другим оборудованием, в дополнение к PLA, ПК автоматически увеличивается при выполнении каждой инструкции.
Цикл выборки-выполнения: что на самом деле делает ваш компьютер?
Как компьютеры читают код?
ЧТО ТАКОЕ ПРОЦЕСС В КОМПЬЮТЕРЕ
ВЫПОЛНЕНИЕ ПОЛНОЙ ИНСТРУКЦИИ
набор инструкций, которые позволяют пользователю взаимодействовать с компьютером
набор инструкций и данных, которые сообщают компьютеру, как работать
компьютерное программное обеспечение — это
электронная схема, которая выполняет инструкции, содержащие компьютерную программу.
назовите устройство, которое можно использовать для подключения к Интернету
программы и данные могут храниться на этом устройстве, расположенном внутри корпуса вашего компьютера
физическая часть компьютера .
Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.
Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.
программное обеспечение, инструкции, которые сообщают компьютеру, что делать. Программное обеспечение включает в себя весь набор программ, процедур и подпрограмм, связанных с работой компьютерной системы. Этот термин был придуман, чтобы отличить эти инструкции от оборудования, то есть физических компонентов компьютерной системы. Набор инструкций, предписывающих аппаратному обеспечению компьютера выполнять задачу, называется программой или программным обеспечением.
Двумя основными типами программного обеспечения являются системное программное обеспечение и прикладное программное обеспечение. Системное программное обеспечение управляет внутренним функционированием компьютера, в основном через операционную систему, а также контролирует такие периферийные устройства, как мониторы, принтеры и устройства хранения данных. Прикладное программное обеспечение, напротив, предписывает компьютеру выполнять команды, заданные пользователем, и можно сказать, что оно включает в себя любую программу, которая обрабатывает данные для пользователя. Таким образом, прикладное программное обеспечение включает в себя текстовые процессоры, электронные таблицы, управление базами данных, программы инвентаризации и расчета заработной платы и многие другие «приложения». Третья категория программного обеспечения — это сетевое программное обеспечение, которое координирует обмен данными между компьютерами, связанными в сети.
Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения так же просто, как. РЖУ НЕ МОГУ. Взломайте этот тест, и пусть какая-нибудь технология подсчитает ваш результат и раскроет вам его содержание.
Программное обеспечение обычно хранится на внешнем устройстве долговременной памяти, таком как жесткий диск или магнитная дискета. Когда программа используется, компьютер считывает ее с запоминающего устройства и временно помещает инструкции в оперативную память (ОЗУ). Процесс сохранения и последующего выполнения инструкций называется «запуском» или «исполнением» программы. Напротив, программы и процедуры, которые постоянно хранятся в памяти компьютера с использованием технологии только для чтения (ПЗУ), называются прошивкой или «аппаратным программным обеспечением».
Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена Адамом Августином.
Читайте также:
- Не удается найти файл
- Как подключить ТВ-бокс к компьютеру
- Подсчитать количество процессов, запущенных пользователем user, и вывести пары в файл
- Какие игры выйдут на PS4 по подписке в сентябре 2021 года
- В конце входного файла json обнаружены лишние символы

Укажем Компьютерам что делать
Компьютеры следуют инструкциям — миллионы инструкций каждую секунду. Сказать компьютеру, что сделать – это значит дать ему правильные инструкции, как это сделать. Но это совсем не так легко, как это звучит!
Когда мы получаем инструкции, то интерпретируем их, в соответствии со здравым смыслом. Если кто-то говорит, «проходите через эту дверь,” то они не имеют в виду, что надо фактически сломать дверь — они имеют в виду, что надо пройти через дверной проем, и в случае необходимости, сначала, — открыть эту дверь! Компьютеры различные. Действительно, когда они присоединены к мобильным роботам, то необходимо предпринимать всевозможные меры безопасности, чтобы исключить возможность причинения ими убытков и вреда при буквальном интерпретировании инструкций, например, как пройти через двери. Контакт с чем-то, что повинуется только инструкциям, без «обдумывания», вырабатывает определенные навык поведения.
В деятельности 11 и 12, главы 3, у вас будет возможность представить, как осуществляется контакт с механизмами, нрав которых, четко определен набором инструкций.
Во первых, нам необходимо обучиться у «механизмов», как компьютеры распознают слова, числа или последовательности символов, с которыми им приходится работать. Эти «механизмы» называют конечными автоматами.
Вторая деятельность учит нас общению с компьютером. Хороший программист должен научиться разговаривать с компьютером, используя фиксированный набор
|
инструкций, |
который интерпретируется буквально. Список инструкций |
— |
это |
||
|
программа. |
Существуют |
разные языки программирования, на которых |
|||
|
программист может |
написать эти инструкции, если у него будет желание. Но мы |
||||
|
будем, в процессе |
этой |
деятельности, использовать простой язык, |
и |
без |
|
|
компьютера. |
|
Photocopiable for classroom use only. |
85 |
© 2010 Computer Science Unplugged (csunplugged.org)

Деятельность 11
Охота за сокровищами—Конечный Автомат
Введение
Компьютерным программам часто надо обработать последовательность символов, таких как буквы или слова в документе, или даже тексте другой компьютерной программы. Программисты часто для этого используют конечный автомат. Конечный автомат (КA) формирует последовательность инструкций, позволяющий компьютеру распознавать слово или последовательность символов. Мы будем работать с неким подобием конечного автомата (КА) — картами сокровищ!
Учебные направления
Математика: Развитие логического мышления и умения рассуждать для описания и продолжения некоторой модели, используя слова и символы.
Общественные науки
Английский язык
Умения и навыки
Чтение простых карт
Распознание образов (моделей)
Логика
Последовательное выполнение инструкций
Возраст
От 9 и старше
Материалы
Вам необходимо :
Один набор островных карт (инструкции для тех, кто будет рисовать карту, необходимо скрыть!)
Фотокопия для Учителя: Карты островов (начиная с стр. 92 и далее) разрезанные на части. Разрезать карты необходимо вдоль пунктира и склеить так, чтобы видно было название острова, а на другой стороне – инструкции.
Для каждого ребенка необходимо:
Лист деятельности: Найдите путь к богатству на «Острове Сокровищ» (стр. 91)
Карандаш или ручка
Для каждого ребенка для расширения этой деятельности, необходимо:
Лист деятельности: «Остров сокровищ» (стр. 97)
Лист деятельности: Таинственная игра с монетой (стр. 98)
|
Photocopiable for classroom use only. |
86 |
© 2010 Computer Science Unplugged (csunplugged.org)

Остров Сокровищ
Введение
Ваша цель – найти Остров Сокровищ. Дружественные пиратские корабли, проплывая по определенным маршрутам между островами в данной части мира, предлагают путешественникам туристические экскурсии. Около каждого острова находятся два корабля для экскурсий: A и B, которые предстоит вам выбрать. Необходимо найти оптимальный маршрут к Острову Сокровищ. Вы можете, на каждом из островов, около которых будете проплывать, попросить только один из кораблей: или A или B (но не два, одновременно). Матрос с острова, будет подсказывать, какой следующий корабль вы можете арендовать. Но у пиратов, ваших дружественных попутчиков, нет карты всех островов. Поэтому используйте свою карту, чтобы проложить маршрут и выбрать корабль для путешествия.
|
Демонстрация |
||
|
(Примечание: ниже |
представлены |
виды различных островов). Используя |
|
различные способы |
(проекции или доску) нарисуйте диаграмму трех островов, как |
|
|
здесь показано: |
Скопируйте эти три карточки для каждого ребенка. (Примечание: маршруты на этих картах отличаются от маршрутов на основной карте в этом виде). Стартуйте к «Острову Пиратов» (Pirates’ Island), попросив корабль «А». Каждый ребенок должен указать маршрут, к «Бухте кораблекрушений» (Shipwreck Bay). Отметьте маршрут на вашей карте. В «Бухте кораблекрушений», просите опять корабль «А». Вы будете направлены назад, к «Острову Пиратов». Отметьте это на карте. Далее, попросите кораблик «B». Отметьте это на карте. Вы направляетесь к «Острову Мертвеца»( Dead Man’s Island), где вам предстоит бросить якорь!
В итоге, ваша карта должна быть такой, как на этом рисунке:
B
A
A
|
Photocopiable for classroom use only. |
87 |
© 2010 Computer Science Unplugged (csunplugged.org)

Карточки для демонстрации
|
Photocopiable for classroom use only. |
88 |
© 2010 Computer Science Unplugged (csunplugged.org)

Карточки для демонстрации
Нет кораблей, отплывающих от Острова Мертвеца!
|
Photocopiable for classroom use only. |
89 |
© 2010 Computer Science Unplugged (csunplugged.org)

Деятельность
Выберите 7 детей, которые будут «островами». Пусть эти дети держат рисунки тех островов, которые они представляют, а на обратной стороне рисунков — секретные инструкции. Расположите детей произвольным образом в помещении или на детской площадке. Остальные ребята получают бланки карт, для нахождения оптимального маршрута от «Острова Пиратов» к «Острову Сокровищ», и отмечают его на карте. (Это — хорошая идея расставить детей по одному, чтобы они не смогли услышать о маршруте до его начала.).
Попытайтесь найти более одного маршрута. Ниже приведен пример такой карты:
Обсудите
Какой маршрут самый быстрый? А какой мог бы быть самым медленным? Некоторые маршруты могут иметь петли. Вы можете привести пример такого маршрута? (Например, BBBABAB и BBBABBABAB, но эти два маршрута, также приведут вас к «Острову Сокровищ».)
|
Photocopiable for classroom use only. |
90 |
© 2010 Computer Science Unplugged (csunplugged.org)

Лист активности: Найдите путь к богатству на «Острове Сокровищ»
|
Photocopiable for classroom use only. |
91 |
© 2010 Computer Science Unplugged (csunplugged.org)

Фотокопия для учителя: Карточки островов (1/4)
|
Photocopiable for classroom use only. |
92 |
© 2010 Computer Science Unplugged (csunplugged.org)

Фотокопия для учителя: Карточки островов (2/4)
|
Photocopiable for classroom use only. |
93 |
© 2010 Computer Science Unplugged (csunplugged.org)

Фотокопия для учителя: Карточки островов (3/4)
|
Photocopiable for classroom use only. |
94 |
© 2010 Computer Science Unplugged (csunplugged.org)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #




























