Последовательность инструкций которая предназначена для исполнения компьютером

Обновлено: 06.07.2024

В основе построения большинства ЭВМ лежат три общих принципа, сформулированных Дж. фон Нейманом (1945): программное управление, однородность памяти, адресность.

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

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

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

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

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

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

2. Классификация программного обеспечения ПК

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

1. Системное программное обеспечение (системные программы);

2. Прикладное программное обеспечение (прикладные программы);

3. Инструментальное обеспечение (инструментальные системы).

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

Базовое программное обеспечение - набор программных средств, обеспечивающих работу компьютера.

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

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

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

Приведем примеры прикладного программного обеспечения.

Офисные программы предназначены для основной массы пользователей. Сюда относятся: текстовые и табличные процессоры, графические редакторы, средства презентаций, системы управления базами данных, а также их интегрированные пакеты. Эти программы готовят документы для пе- чати и чтения с экрана, выполняют расчеты массивов числовых данных (Microsoft Word, Microsoft Excel, Lotus Smart Suite, Open Office, Libre Office).

Финансовые и бухгалтерские программы (бухгалтерского и финансового учета) для крупных, средних и мелких предприятий: 1С: Предприятие, 1С: Бухгалтерия, 1С: Деньги, БЭСТ, Парус и др.

Программы автоматизации делопроизводства и документооборота и архива организаций помогают в управлении персоналом, подготовке отчетности, составлении договоров, контрактов, писем (1С: кадры, Евфрат).

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

Программы словари содержат толкования терминов, дают перевод слов и словосочетаний (Lingvo, Multilex, Bridge to English, Сократ и др.).

Программы машинного перевода переводят тексты доку- ментов, электронной почты и вебстраниц (Promt, Сократ, сайты переводов).

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

Издательские системы - программы компьютерной верстки и графики для типографской печати (Quark XPress, Adobe Page Maker, Adobe InDesign).

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

образных математических задач (MathLab, Maple).

Системы автоматизированного проектирования (САПР), такие как AutoCad, MathCAD, предназначены для проектирования изделий разной сложности.

Базы знаний - экспертные системы, системы поддержки принятия решений в конкретной области: бизнес планировании, диагностике заболеваний и неисправности техники, расследовании преступлений, финансовом аудите.

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

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

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

Раздел "Устройство компьютера и программное обеспечение"

A) Ландшафтные дизайнеры создают проект нового городского ландшафта
B) Профессиональный программист пишет компьютерную программу по заказу крупной фирмы
C) Выпускники колледжа готовят презентацию выпускной работы
D) Студент проверяет компьютер на наличие вирусов

  • Какое программное обеспечение обязательно находится в оперативной памяти после загрузки компьютера?
  1. BIOS
  2. прикладные программы
  3. системы программирования
  4. антивирусная программа
  • Установите соответствие:

1) программа диагностики ПК
2) антивирусная программа
3) программа обслуживания диска
4) программа архивации данных
5) программа обслуживания сети

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

  • Утилиты – это:
  1. устройство компьютера;
  2. программы, обеспечивающие работу устройств компьютера;
  3. вирус;
  4. программы, выполняющие вспомогательные операции обработки данных и обслуживание ПК.
  • Программы-редакторы относятся к классу прикладных программ. (да/нет)
  • Фрагментация диска замедляет работу компьютера. (да/нет)
  • Назовите классы программных продуктов.
  • Установите соответствие:

1) базовое системное ПО
2) утилиты

а) операционная система
б) программа диагностики дисков
в) антивирусная программа
г) операционная оболочка
д) программа архивации данных
e) программа обслуживания сети

1) текстовый процессор
2) табличный процессор
3) СУБД
4) бухгалтерские программы
5) средства презентационной графики

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

4. Конечность - алгоритм закончится через определенное количество шагов.

5. Многократность - программа подходит для разных данных

6. Определенность - каждый шаг алгоритма должен быть четко и недвусмысленно определен не должен допускать произвольной

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

Алгоритм на формальном языке
Команда - это указание компьютерной программе действовать как некий интерпретатор для решения задачи. (Описание действий)
Правила написания кода:

1. Понятные имена для переменных, переменные не должны начинаться с чисел и знаков;

2. Комментарии кода;

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

4. Проверяйте код на ошибки и правильность оформления.
№ 2. Способы записи алгоритма программы -

1. Графический (блок-схемы)

2. Словесный (запись на естественном языке)

3. На формальном языке (языки программирования) - Компьютерный программы.

Этапы разработки программы:

1. Создание идеи

2. Определение входных и выходных данных и требований к программе.

Язык (требования к железу и т.д.)

3. Разработка алгоритма.

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

5. Компиляция и отладка

Компиляция - преобразовании кода программы в машинный код (по итогу получается exe файл)

Отладка - поиск и решение синтаксических, алгоритмических ошибок и ошибок времени исполнения.

Данный этап тесно связан с компиляцией и тестированием.

6. Тестирование. Так же тестирование может выполняться во время отладки программы.

7. Документирование.
№ 3. Языки программирования низкого и высокого уровня
Языки бывают: Компилируемыми (когда программа компилируется в машинный код), и интерпретируемыми (js, python. Интерпретатор выполняет эти программы без естественного перевода в байт код)
Встраиваемые языки.

Трансляторы делятся на:
компиляторы — превращают текст программы в машинный код, который можно сохранить и после этого использовать уже без компилятора (примером является исполняемые файлы с расширением *.exe).

интерпретаторы — превращают часть программы в машинный код, выполняют его и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.
Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу её нужно почти полностью переписать. Определенные различия есть и в синтаксисе программ под разные компиляторы. Правда, центральные процессоры для компьютеров фирм AMD и Intel практически совместимы и отличаются лишь некоторыми специфическими командами.
А вот специализированные процессоры для других устройств, например, видеокарт и телефонов содержат существенные различия.

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

Сейчас в среде разработчиков считается, что языки программирования, которые имеют прямой доступ к памяти и регистров или имеют ассемблерные вставки, нужно считать языками программирования с низким уровнем абстракции. Поэтому большинство языков, считавшихся языками высокого уровня до 2000 года сейчас уже таковыми не считаются.
Java — сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощью виртуальной Java-машины.
Сборка мусора в java заключается в том, что программисту не нужно следить за тем как распределяется память программы. Т.к. сборщик мусора автоматически решает многие проблемы, например очищает неиспользуемые переменные.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится:
узнавать текущие значения переменных;

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

Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода.
Методы отладки программы:
Метод ручного тестирования.

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

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

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

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

Переменна - поименованная, либо адресуемая иным способом область памяти, адрес которой используется для доступа к данным.

Ключевые и зарезервированный слова (java) - это те слова, которые использует ЯП (или планирует использовать).

Некоторые слова могут быть зарезервированны, но при этом они не используются ЯП

1. Целые числа: byte, short, int, long - представляют собой числа со знаком.

2. Числа с плавающей точкой - эта группа включает себе float и double - эти типы хранят числа с точностью до определенного знака после запятой

3. Символы - в эту группу входит типа char

4. Булевы значения -boolean - хранит значения типа "истина/лож"
Объявление переменных

имя_типа идентификатор [=значение] [, идентификатор [=значение] ] ;

c = 12; // присвоим значение уже после
= - оператор присваивания
Порядок операторов: 1 ()

5 >> >>> >= a = a *3; То же можно проделать с остальными арифметическими действиями.

Определить выделить какую-то цифру в числе можно при помощи взятие остатка или целой части от числа:

1234 / 1000; Ответ - 1, целая часть от деления
Константы
Кроме переменных, в Java для хранения данных можно использовать константы. В отличие от переменных константам можно присвоить значение только один раз. Константа объявляется также, как и переменная, только вначале идет ключевое слово final:


№ 6. Обмен значений переменных

Прямой обмен при помощи 3ех переменных

Обмен при помощи 2ух переменных

Обмен при помощи исключающего или (XOR)

int x = 5, y = 7;
x = x^y; // x == 2

public static void swap_opt(int a, int b)

//Пример для a = 101 (в двоичной системе) и b = 110

a = a ^ b; // a = 101^110 = 011

b = a ^ b; // b = 011^110 = 101

a = a ^ b; // a = 011^101 = 110
System.out.println("a: " + a);

или в более короткой записи:
y ^= (x ^= y);

x ^= y;
Инкремент и декремент
Операторы инкремента и декремента это унарные операторы, которые увеличивают или уменьшают на единицу значение операнда при использовании инкремента и декремента соответственно
Различают префиксную и постфиксную форму для обоих операторов. Префиксная форма сначала изменяет значение операнда на 1 и использует новое значение для дальнейших вычислений. Постфиксная форма сначала использует старое значение операнда, а затем изменяет его на 1

Префиксный оператор инкремента:

int m = 2 * ++i; // результат m = 4
Постфиксный оператор инкремента:

int m = 2 * i++; // результат m = 2
Префиксный оператор декремента:

int m = 2 * --i; // результат m = 2
Постфиксный оператор декремента:

int m = 2 * i--; // результат m = 4

Переполнение стека
System.out.println("[" + Byte.MIN_VALUE +" , " + Byte.MAX_VALUE + "]");

System.out.println("Byte.SIZE не число", записываемое константой NaN (Not a Number) и возникающее, например, при умножении нуля на бесконечность.

1) Строку конвертируем в число, а в ней есть буквы. Ответ – NaN

2) Бесконечность минус бесконечность. Ответ — NaN

3) Многие другие ситуации, где в ответе ждут число, а получается неизвестно что.
— А какие операции можно производить с Infinity и NaN?
— С NaN все очень просто. Любая операция, где есть NaN, дает в результате NaN.
Точность вычислений - ?!
Константы класса Math.
Класс Math содержит методы, связанные с геометрией и тригонометрией и прочей математики. Методы реализованы как static, поэтому можно сразу вызывать через Math.methodName() без создания экземпляра класса.
В классе определены две константы типа double: E и PI.
Math.PI

Math.exp
Методы класса Math: прямые трансцендентные, обратные трансцендентные, экспоненциальные. Пример
Трансцендентные числа , то есть числа (вещественные или комплексные), которые не могут быть корнями никакого многочлена с целыми коэффициентами. Например,такие важнейшие константы анализа, как pi и e, являются трансцендентными


double sin(double arg)

Возвращает синус угла arg, переданного в радианах

double cos(double arg)

Возвращает косинус угла arg, переданного в радианах

double tan(double arg)

Возвращает тангенс угла arg, переданного в радианах

sin(), cos(), sqrt() - тоже трансцендентные

Обратные трансцендентные функции


Метод

Описание

double asin(double arg)

Возвращает угол, синус которого равен arg.

double acos(double arg)

Возвращает угол, косинус которого равен arg.

double atan(double arg)

Возвращает угол, тангенс которого равен arg.

double atan2(double x, double y)

Возвращает угол, тангенс которого равен x/y.


Метод

Описание

double ехр(double arg)

Возвращает экспоненту arg.

double log(double arg)

Возвращает натуральный логарифм arg.

double log10(double arg)

Возвращает логарифм по основанию 10 от arg.

double pow(double y, double x)

Возвращает y в степени x

double sqrt(double arg)

Возвращает квадратный корень из arg.

№8 функции округления. Генерация псевдослучайных чисел. Генерация целых и вещественных

чисел в заданном интервале.
Int abs(число) — вернет абсолютное число


В состав вычислительной машины обязательно должны входить:

  • блок управления
  • блок памяти
  • блоки ввода/вывода информации
  • блок обработки данных
  • блок защиты от перепадов электричества
  • блок защиты от взлома
Вопрос 2

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

  • Компилятор
  • Отладчик
  • Транслятор
  • Интерпретатор
Вопрос 3

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

  • iOS
  • Google Android
  • Windows Phone
  • MS DOS
  • QNX
Вопрос 4

Отметьте все программы, которые относятся к системному программному обеспечению.

  • Операционные системы
  • Драйверы
  • Утилиты
  • Редакторы текста
  • Игры
Вопрос 5

Выберите правильное имя файла:

  • LES.BMP
  • INFO\RMATIKA:TXT
  • 1DOCUM.
  • LIST.3.EXE
Вопрос 6

Первым в мире программистом считается .

  • А. Лавлейс
  • С. Лебедев
  • Г. Лейбниц
  • Б. Паскаль
Вопрос 7

Пользователь, перемещаясь из одного каталога в другой, последовательно посетил каталоги LESSONS, CLASS, SCHOOL, D:\, MYDOC, LETTERS. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?

  • D:\SCHOOL\CLASS\LESSONS
  • D:\LESSONS
  • D:\MYDOC\LETTERS
  • D:\LESSONS\CLASS\SCHOOL
Вопрос 8

Что из предложенного можно считать полным именем файла?

  • c:\log\ljfgh.txt
  • kdftg.txt
  • B:GG\NUL.DOC
  • a:\d:\ghjuk.kc
Вопрос 9

Как называлось первое механическое устройство для выполнения четырех арифметических действий?

  • арифмометр
  • суан-пан
  • соробан
  • абак
Вопрос 10

Специальный микропроцессор, предназначенный для управления внешними устройствами, называется:

  • контроллер
  • драйвер
  • транзистор
  • концентратор
Вопрос 11

В каком веке появились механические арифмометры?

  • в XVII в.
  • в XIV в.
  • в XIX в.
  • в XVI в.
Вопрос 12

Элементарная база компьютеров второго поколения - это:

  • транзистор
  • электронная лампа
  • интегральная схема
  • большая интегральная схема
Вопрос 13

Отметьте принципы, которые можно отнести к основополагающим принципам построения компьютеров.

  • принцип двоичного кодирования
  • принцип программного управления
  • принцип иерархической организации памяти
  • принцип отсутствия умения принимать самостоятельные решения
  • принцип доступной стоимости
Вопрос 14

Отметьте все прикладные программы.

  • Электронные таблицы
  • Графические редакторы
  • Системы управления базами данных
  • Утилиты
  • Операционная система
Вопрос 15

В каталоге находятся файлы со следующими именами:

file.mdb file.mp3
ilona.mpg pile.mpg
miles.mp3 nil.mpeg

Определите, по какой из масок будет выбрана указанная группа файлов:
file.mp3
pile.mpg
miles.mp3
nil.mpeg

  • ?il*.mp?
  • *il?.mp*
  • ?il*.mp
  • ?il*.m*
Вопрос 16

Расставьте по порядку действия, выполняемые процессором при работе с программой:

  • чтение команды из памяти и её расшифровка
  • формирование адреса очередной команды
  • выполнение команды
Вопрос 17

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

  • данные, неразличимы, использования
  • информация, неразличимы, кодирования
  • информация, отличны друг от друга, кодирования
  • данные, отличны друг от друга, использования
Вопрос 18

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

  • прикладные программы
  • системы программирования
  • системные программы
Вопрос 19

Что понимается под термином "поколение ЭВМ"?

  • Совокупность машин, предназначенных для обработки, хранения и передачи информации
  • Все типы моделей процессора Pentium
  • Все счётные машины
  • Все типы и модели ЭВМ, построенные на одних и тех же научных и технических принципах
Вопрос 20

Определите, какое из указанных имен файлов удовлетворяет маске: F??tb*.d?*.

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