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

Компью́терная програ́мма — последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером (вычислительной машиной)[1]. Программы необходимы для работы компьютера, обычно состоящей в исполнении инструкций программы в центральном процессоре. Программа — один из компонентов программного обеспечения. В зависимости от контекста рассматриваемый термин может относиться также и к исходным текстам программы. Компьютерные программы как объект авторского права и других прав интеллектуальной собственности относится к категории нематериальных активов.

Содержание

  • 1 Создание программ
  • 2 Хранение и выполнение
    • 2.1 Одновременное выполнение
    • 2.2 Самомодифицирующиеся программы
  • 3 Использование программ
  • 4 Правовые аспекты
  • 5 Определения из стандартов
  • 6 См. также
  • 7 Примечания
  • 8 Литература

Создание программ[править]

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

В системном программировании программой называются данные, которые используются процессором как инструкции по управлению компьютерной системой[2]. В состав программы может входить как машинный код, исполняемый процессором для достижения некоторой цели, так и необходимые для этого данные. Отличительной особенностью программы является её нахождение в памяти и исполнение процессором.

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

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

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

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

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

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

Хранение и выполнение[править]

Ошибка создания миниатюры:

В 1950-е годы компьютерные программы хранились на перфолентах.

До момента, когда пользователь компьютера явно или неявно выдаст запрос на выполнение компьютерной программы, она обычно хранится в энергонезависимой памяти. При получении такого запроса программа посредством другой компьютерной программы, называющейся операционной системой, загружается в память с произвольным доступом, откуда её непосредственно может выполнять центральный процессор. После этого центральный процессор выполняет программу, инструкция за инструкцией, до её завершения. Выполняющаяся программа называется процессом[3]. Завершение программы происходит либо по достижению её последней инструкции (обычно передающей управление операционной системе) либо по ошибке, программной или аппаратной.

Одновременное выполнение[править]

Многие операционные системы поддерживают механизм многозадачности, который позволяет создать эффект одновременной работы нескольких компьютерных программ на одном компьютере. Операционные системы могут выполнять несколько программ используя диспетчер операционной системы — программный механизм для переключения процессов, выполняемых процессором. Хотя в каждый момент времени выполняется только одна программа, при достаточно частом переключении пользователь может взаимодействовать со всеми программами во время их работы[4]. Современные многопроцессорные компьютеры или компьютеры с многоядерными процессорами поддерживают одновременное выполнение нескольких программ аппаратно[5].

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

Самомодифицирующиеся программы[править]

Считается, что выполняющаяся компьютерная программа отличается от данных, которые она обрабатывает. Однако это отличие размывается, когда компьютерная программа модифицирует сама себя. Модифицированная компьютерная программа затем выполняется как часть исходной программы. Самомодификация кода возможна в программах, написанных в машинном коде, на ассемблере, Лиспе, Си, Коболе, ПЛ/1 и Прологе.

Использование программ[править]

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

Правовые аспекты[править]

Программы с общедоступными исходными текстами называются открытыми.

Компьютерные программы в большинстве стран являются объектами авторского права (включая Украину и Россию). В некоторых странах компьютерные программы могут защищаться патентами. Патентованию компьютерных программ способствовало Соглашение о торговых аспектах прав интеллектуальной собственности, которое установило минимальные[6] требования к охраняемому ряду объектов прав интеллектуальной собственности и фактически разрешило патентовать программы. Соглашение ТРИПС обязательно для выполнения на территории Украины и России как государств-членов ВТО.

Таким образом программа может охраняться и как «литературное произведение» и как «изобретение». Для определения режима правовой охраны в первом случае используется «текст кода», в другом — признаки применяемые для изобретений, предлагаемых для патентования (то есть нужно доказать «инновационность», «оригинальность» и «неочевидность», а также возможность решения существующей технической проблемы и коммерческую пригодность)[7]. При этом существует проблема правового разграничения компьютерных программ от проприетарного цифрового контента и проприетарного программного обеспечения[8].

Авторское и некоторые другие[какие?] права интеллектуальной собственности позволяют ограничивать доступ к исходным текстам программ.

Определения из стандартов[править]

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

— ГОСТ 19781—90. ЕСПД. Термины и определения

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

— ст. 1261 «Программы для ЭВМ» ГК РФ

См. также[править]

  • Hello, world!
  • Утилита
  • Встроенное программное обеспечение

Примечания[править]

  1. Компьютеры: справочное руководство = Computer Handbook / Пер. с англ. /Под ред. Г. Хелмса. — М.: Мир, 1986. — Т. 1. — С. 13. — 416 с.
  2. Фельдман С. К. Системное программирование. Полный курс лекций с теоретическими материалами и лабораторными работами. — 2003. — 512 с. — ISBN 5-88548-096-6.
  3. Silberschatz, 1994, p. 97
  4. Silberschatz, 1994, p. 100
  5. Akhter Shameem. Multi-Core Programming. — Richard Bowles (Intel Press), 2006. — С. 11–13. — ISBN 0-9764832-4-6.
  6. Д.М. Чибисов Чибісов Д.М. «Правова природа Угоди про торговельні аспекти прав інтелектуальної власності (ТРІПС)» // «Науковий вісник Ужгородського національного університету. Серія «Право».– 2012. – № 19. // Науковий вісник Ужгородського національного університету : Научная статья. — 2012. —.
  7. Чибисов Д.М. Режимы охраны проприетарного цифрового контента (на украинском) (08.04.2015).
  8. Д.М. Чибисов. Проприетарній цифровой контент: основная характеристика. Блог (08.04.2015).

Литература[править]

  • Silberschatz Abraham. Operating System Concepts, Fourth Edition. — Addison-Wesley, 1994. — С. 97. — ISBN 0-201-50480-4.

(!)

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

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

Этапы решения задач на компьютере.

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

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

Мы говорим программа, программа и т.д. А что такое программа?

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

Чтобы решить какую-то задачу на компьютере, необходимо несколько этапов.

  1. Этап. Постановка задачи. (какие данные нам известны и что нужно найти в решаемой задаче)
  2. Описательная информация.
  3. Построение алгоритма. Четкая инструкция задающая последовательность действий для решения задачи.
  4. Алгоритм описывается на языке программирования.
  5. И на пятом этапе уже осуществляется отладка и тестирование программы.

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

Программа для вычисления площади круга:

Запись программы на языке PASCAL

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

  1. Раздел описания переменных начинается с ключевого слова VAR, после которого следуют элементы описания вида

список имен: тип;

  1. Начало действий. Действия начинаются после ключевого слова BEGIN
  2.  Вывод результата.  Окончание программы.

/Запись на компьютере/

VAR

S,R,PI:REAL;

BEGIN

PI:=3.14;

READ (R);

S:=R*R*PI;

WRITE(S);

END.

/Вычисление дискриминанта(без поиска корней)/

VAR

A,B,C,D:REAL;

BEGIN

READ(A);

READ(B);

READ(C);

D:=B*B-4*A*C;

WRITE(D);

END.

/Если останется время/Перевод из байт в килобайт./

VAR

A,B:REAL;

BEGIN

READ(A);

B:=A/1024;

WRITE(B);

END.

Итог.

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

  1. Этап. Постановка задачи. (какие данные нам известны и что нужно найти в решаемой задаче)
  2. Описательная информация.
  3. Построение алгоритма. Четкая инструкция задающая последовательность действий для решения задачи.
  4. Алгоритм описывается на языке программирования.
  5. И на пятом этапе уже осуществляется отладка и тестирование программы.

Домашнее задание:

Параграф 2,1 и задания к нему.

Разделы презентаций


  • Разное
  • Английский язык
  • Астрономия
  • Алгебра
  • Биология
  • География
  • Геометрия
  • Детские презентации
  • Информатика
  • История
  • Литература
  • Математика
  • Медицина
  • Менеджмент
  • Музыка
  • МХК
  • Немецкий язык
  • ОБЖ
  • Обществознание
  • Окружающий мир
  • Педагогика
  • Русский язык
  • Технология
  • Физика
  • Философия
  • Химия
  • Шаблоны, картинки для презентаций
  • Экология
  • Экономика
  • Юриспруденция

Содержание

  • 1.

    Компьютерная память (8 класс)

  • 2.

    11. Устройство для ввода информации путем нажатия

  • 3.

    6. Последовательность инструкций, определяющих процедуру решения конкретной

  • 4.

    31. Устройство для ввода информации путем нажатия

  • 5.

    6. Последовательность инструкций, определяющих процедуру решения конкретной

  • 6.

    5Компьютерная памятьВнутренняя памятьВнешняя памятьОперативная память, постоянная память (BIOS, CMOS)Жесткий диск, флешка, DVD-диск

  • 7.

    Данные и программы хранятся в памяти в виде двоичного кода6

  • 8.

    В одном бите памяти содержится 1 бит

  • 9.

    Постоянная память (ПЗУ, англ. ROM, Read Only

  • 10.

    9Клавиша DEL при загрузке для входа в настройки BIOS

  • 11.

    10

  • 12.

    11Микросхема BIOS (Basic Input/Output System)  Батарея для питания BIOS и CMOS  

  • 13.

    BIOS (Basic Input/Output System) – это базовая

  • 14.

    Оперативная память (англ. Random Access Memory, RAM, память с произвольным

  • 15.

    14Магнитный принцип хранения информацииИнформация сохраняется в виде магнитного поля на специальных дисках Жесткий диск

  • 16.

    Магнитный принцип хранения информации15Внешний жесткий диск

  • 17.

    Оптический принцип хранения информации16Информация сохраняется в виде микроскопических насечек лучом лазера

  • 18.

    CD-ROM под атомно-силовым микроскопомDVD-ROM под атомно-силовым микроскопом17

  • 19.

    Электрический принцип хранения информации18Кардридер (англ. Card reader) — устройство

  • 20.

    Электрический принцип хранения информации19USB-флеш-накопитель — запоминающее устройство, использующее в качестве носителя флеш-память, и подключаемое к компьютеру или иному считывающему устройству по интерфейсу USB.

  • 21.

    Список используемой литературы и интернет ресурсов20«Информатика —

  • 22.
    Скачать презентанцию

11. Устройство для ввода информации путем нажатия клавиш.Тест по теме « Устройство компьютера» § 5 2. Информация в ней находится только во время работы компьютера3. Устройство ввода, для управления курсором и отдачи различных команд

Слайды и текст этой презентации

Слайд 1Презентация к уроку информатики
8 класс
Автор: Юдин Андрей Борисович
МКОУ Плесская СШ
Компьютерная

память
§ 6
По учебнику И. Г. Семакина

Презентация к уроку информатики8 классАвтор: Юдин Андрей БорисовичМКОУ Плесская СШКомпьютерная память§ 6По учебнику И. Г. Семакина


Слайд 21
1. Устройство для ввода информации путем нажатия клавиш.
Тест по теме

« Устройство компьютера» § 5
2. Информация в ней находится

только во время работы компьютера

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

4. Устройство предназначенное для визуального отображения информации.

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

11. Устройство для ввода информации путем нажатия клавиш.Тест по теме « Устройство компьютера» § 5 2. Информация


Слайд 36. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.
2
Тест по

теме « Устройство компьютера» § 5
7. Обрабатываемая информация, представленная

в памяти компьютера в специальной форме.

8. Электронный блок либо интегральная схема исполняющая 
машинные инструкции.

6. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.2Тест по теме « Устройство компьютера» § 5 7.


Слайд 43
1. Устройство для ввода информации путем нажатия клавиш.
Тест по теме

« Устройство компьютера» § 5
2. Информация в ней находится

только во время работы компьютера

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

4. Устройство предназначенное для визуального отображения информации.

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

1. Клавиатура

2. Оперативная память

3. Мышь

4. Монитор

5. Плоттер

31. Устройство для ввода информации путем нажатия клавиш.Тест по теме « Устройство компьютера» § 5 2. Информация


Слайд 56. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.
4
Тест по

теме « Устройство компьютера» § 5
7. Обрабатываемая информация, представленная

в памяти компьютера в специальной форме.

8. Электронный блок либо интегральная схема исполняющая 
машинные инструкции.

6. Программа

7. Данные

8.Процессор

6. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.4Тест по теме « Устройство компьютера» § 5 7.


Слайд 65
Компьютерная память
Внутренняя память
Внешняя память
Оперативная память, постоянная память (BIOS, CMOS)
Жесткий диск,

флешка, DVD-диск

5Компьютерная памятьВнутренняя памятьВнешняя памятьОперативная память, постоянная память (BIOS, CMOS)Жесткий диск, флешка, DVD-диск


Слайд 7Данные и программы хранятся в памяти в виде двоичного кода
6

Данные и программы хранятся в памяти в виде двоичного кода6


Слайд 8В одном бите памяти содержится 1 бит информации
Порядковый номер байта

называется его адресом.
7
Запись информации в память, а так же чтение

ее из памяти производится по адресам.

В одном бите памяти содержится 1 бит информацииПорядковый номер байта называется его адресом.7Запись информации в память, а


Слайд 9Постоянная память (ПЗУ, англ. ROM, Read Only Memory — память

только для чтения) — энергонезависимая память, используется для хранения данных,

которые никогда не потребуют изменения. Содержание памяти специальным образом “зашивается” в микросхеме BIOS при его изготовлении для постоянного хранения. Из ПЗУ информацию можно только читать.

8

Постоянная память (ПЗУ, англ. ROM, Read Only Memory - память только для чтения) - энергонезависимая память, используется


Слайд 109
Клавиша DEL при загрузке для входа в настройки BIOS

9Клавиша DEL при загрузке для входа в настройки BIOS


Слайд 1211
Микросхема BIOS
(Basic Input/Output System)  
Батарея для питания BIOS и

CMOS  

11Микросхема BIOS (Basic Input/Output System)  Батарея для питания BIOS и CMOS  


Слайд 13BIOS (Basic Input/Output System) – это базовая система ввода-вывода. BIOS

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

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

CMOS (полупостоянная память) — небольшая микросхема памяти для хранения параметров конфигурации компьютера, который регулируется с помощью утилиты CMOS Setup Utility. Обладает низким энергопотреблением. Содержимое CMOS-памяти не изменяется при выключении электропитания компьютера, поскольку для ее электропитания используется специальный аккумулятор.

12

BIOS (Basic Input/Output System) – это базовая система ввода-вывода. BIOS представляет собой систему, состоящую из небольших программ


Слайд 14Оперативная память (англ. Random Access Memory, RAM, память с произвольным доступом; ОЗУ (оперативное запоминающее

устройство); — энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера

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

13

Оперативная память (англ. Random Access Memory, RAM, память с произвольным доступом; ОЗУ (оперативное запоминающее устройство); - энергозависимая часть системы компьютерной памяти, в которой во


Слайд 1514
Магнитный принцип хранения информации
Информация сохраняется в виде магнитного поля на

специальных дисках
Жесткий диск

14Магнитный принцип хранения информацииИнформация сохраняется в виде магнитного поля на специальных дисках Жесткий диск


Слайд 16Магнитный принцип хранения информации
15
Внешний жесткий диск

Магнитный принцип хранения информации15Внешний жесткий диск


Слайд 17Оптический принцип хранения информации
16
Информация сохраняется в виде микроскопических насечек лучом

лазера

Оптический принцип хранения информации16Информация сохраняется в виде микроскопических насечек лучом лазера


Слайд 18CD-ROM под атомно-силовым микроскопом
DVD-ROM под атомно-силовым микроскопом
17

CD-ROM под атомно-силовым микроскопомDVD-ROM под атомно-силовым микроскопом17


Слайд 19Электрический принцип хранения информации
18
Кардридер (англ. Card reader) — устройство для чтения карт памяти,

а также иных электронных карт самого различного назначения.
Карты памяти.

Электрический принцип хранения информации18Кардридер (англ. Card reader) - устройство для чтения карт памяти, а также иных электронных карт самого различного


Слайд 20Электрический принцип хранения информации
19
USB-флеш-накопитель — запоминающее устройство, использующее в качестве носителя флеш-память, и подключаемое

к компьютеру или иному считывающему устройству по интерфейсу USB.

Электрический принцип хранения информации19USB-флеш-накопитель - запоминающее устройство, использующее в качестве носителя флеш-память, и подключаемое к компьютеру или иному считывающему устройству по интерфейсу USB.


Слайд 21Список используемой литературы и интернет ресурсов
20
«Информатика — базовый курс», 8

класс, Семакина И., Залоговой Л., Русакова С., Шестаковой Л., издательство

«Бином. Лаборатория знаний» 2013 г.

http://xn--80aaacvakkq6ab9ayef.xn--p1ai/schoolbook/section1/ — учебник по устройству компьютера

«Информатика и программирование. Основы информатики.» Трусов Б. Г. Издательство: Академия 2012 г.

http://wm-help.net/lib/b/book/120467185/17 — глава из книги «Основы информатики. Учебник для ВУЗов» посвященная устройству компьютера.

«Архитектура компьютера», Таненбаум Э.С., Издательство ПИТЕР, 2007

https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0 — материалы из Википедии посвященные архитектуре компьютера

http://olpictures.ru/kompymyuteryi-kartinki.html — картинки к презентации

http://www-history.mcs.st-andrews.ac.uk/~history/PictDisplay/Von_Neumann.html — MacTutor History of Mathematics archive. Материалы по Д. фон Нейману.(На английском языке)

Список используемой литературы и интернет ресурсов20«Информатика - базовый курс», 8 класс, Семакина И., Залоговой Л., Русакова С.,




Скачать материал

Презентация к уроку информатики
8 классКомпьютерная памятьПо учебнику И. Г. С...



Скачать материал

  • Сейчас обучается 30 человек из 17 регионов

  • Сейчас обучается 23 человека из 17 регионов

Описание презентации по отдельным слайдам:

  • Презентация к уроку информатики
8 классКомпьютерная памятьПо учебнику И. Г. С...

    1 слайд

    Презентация к уроку информатики
    8 класс
    Компьютерная память
    По учебнику И. Г. Семакина

  • 11. Устройство для ввода информации путем нажатия клавиш.Тест по теме « Устро...

    2 слайд

    1
    1. Устройство для ввода информации путем нажатия клавиш.
    Тест по теме « Устройство компьютера» § 5
    2. Информация в ней находится только во время работы компьютера
    3. Устройство ввода, для управления курсором и отдачи различных команд компьютеру.
    4. Устройство предназначенное для визуального отображения информации.
    5. Устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей, карт и другой графической информации.

  • 6. Последовательность инструкций, определяющих процедуру решения конкретной з...

    3 слайд

    6. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.
    2
    Тест по теме « Устройство компьютера» § 5
    7. Обрабатываемая информация, представленная в памяти компьютера в специальной форме.
    8. Электронный блок либо интегральная схема исполняющая 
    машинные инструкции.

  • 31. Устройство для ввода информации путем нажатия клавиш.Тест по теме « Устро...

    4 слайд

    3
    1. Устройство для ввода информации путем нажатия клавиш.
    Тест по теме « Устройство компьютера» § 5
    2. Информация в ней находится только во время работы компьютера
    3. Устройство ввода, для управления курсором и отдачи различных команд компьютеру.
    4. Устройство предназначенное для визуального отображения информации.
    5. Устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей, карт и другой графической информации.
    1. Клавиатура
    2. Оперативная память
    3. Мышь
    4. Монитор
    5. Плоттер

  • 6. Последовательность инструкций, определяющих процедуру решения конкретной з...

    5 слайд

    6. Последовательность инструкций, определяющих процедуру решения конкретной задачи компьютером.
    4
    Тест по теме « Устройство компьютера» § 5
    7. Обрабатываемая информация, представленная в памяти компьютера в специальной форме.
    8. Электронный блок либо интегральная схема исполняющая 
    машинные инструкции.
    6. Программа
    7. Данные
    8.Процессор

  • 5Компьютерная памятьВнутренняя памятьВнешняя памятьОперативная память, постоя...

    6 слайд

    5
    Компьютерная память
    Внутренняя память
    Внешняя память
    Оперативная память, постоянная память (BIOS, CMOS)
    Жесткий диск, флешка, DVD-диск

  • Данные и программы хранятся в памяти в виде двоичного кода6

    7 слайд

    Данные и программы хранятся в памяти в виде двоичного кода
    6

  • В одном бите памяти содержится 1 бит информацииПорядковый номер байта называе...

    8 слайд

    В одном бите памяти содержится 1 бит информации
    Порядковый номер байта называется его адресом.
    7
    Запись информации в память, а так же чтение ее из памяти производится по адресам.

  • Постоянная память (ПЗУ, англ. ROM, Read Only Memory - память только для чтени...

    9 слайд

    Постоянная память (ПЗУ, англ. ROM, Read Only Memory — память только для чтения) — энергонезависимая память, используется для хранения данных, которые никогда не потребуют изменения. Содержание памяти специальным образом “зашивается” в микросхеме BIOS при его изготовлении для постоянного хранения. Из ПЗУ информацию можно только читать.
    8

  • 9Клавиша DEL при загрузке для входа в настройки  BIOS

    10 слайд

    9
    Клавиша DEL при загрузке для входа в настройки BIOS

  • 10

  • 11Микросхема BIOS 
(Basic Input/Output System)  Батарея для питания BIOS и CM...

    12 слайд

    11
    Микросхема BIOS
    (Basic Input/Output System)  
    Батарея для питания BIOS и CMOS  

  • BIOS (Basic Input/Output System) – это базовая система ввода-вывода. BIOS пре...

    13 слайд

    BIOS (Basic Input/Output System) – это базовая система ввода-вывода. BIOS представляет собой систему, состоящую из небольших программ предназначенных для автоматического распознавания установленного на компьютер оборудования, его настройки и проверки функционирования. 
    CMOS (полупостоянная память) — небольшая микросхема памяти для хранения параметров конфигурации компьютера, который регулируется с помощью утилиты CMOS Setup Utility. Обладает низким энергопотреблением. Содержимое CMOS-памяти не изменяется при выключении электропитания компьютера, поскольку для ее электропитания используется специальный аккумулятор.
    12

  • Оперативная память (англ. Random Access Memory, RAM, память с произвольным до...

    14 слайд

    Оперативная память (англ. Random Access Memory, RAM, память с произвольным доступом; ОЗУ (оперативное запоминающее устройство); — энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера хранится выполняемый машинный код (программы), а также входные, выходные и промежуточные данные, обрабатываемые процессором.
    13

  • 14Магнитный принцип хранения информацииИнформация сохраняется в виде магнитно...

    15 слайд

    14
    Магнитный принцип хранения информации
    Информация сохраняется в виде магнитного поля на специальных дисках
    Жесткий диск

  • Магнитный принцип хранения информации15Внешний жесткий диск

    16 слайд

    Магнитный принцип хранения информации
    15
    Внешний жесткий диск

  • Оптический принцип хранения информации16Информация сохраняется в виде микроск...

    17 слайд

    Оптический принцип хранения информации
    16
    Информация сохраняется в виде микроскопических насечек лучом лазера

  • CD-ROM под атомно-силовым микроскопомDVD-ROM под атомно-силовым микроскопом17

    18 слайд

    CD-ROM под атомно-силовым микроскопом
    DVD-ROM под атомно-силовым микроскопом
    17

  • Электрический принцип хранения информации18Кардридер (англ. Card reader) - ус...

    19 слайд

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

  • Электрический принцип хранения информации19USB-флеш-накопитель - запоминающее...

    20 слайд

    Электрический принцип хранения информации
    19
    USB-флеш-накопитель — запоминающее устройство, использующее в качестве носителя флеш-память, и подключаемое к компьютеру или иному считывающему устройству по интерфейсу USB.

  • Список используемой литературы и интернет ресурсов20«Информатика - базовый ку...

    21 слайд

    Список используемой литературы и интернет ресурсов
    20
    «Информатика — базовый курс», 8 класс, Семакина И., Залоговой Л., Русакова С., Шестаковой Л., издательство «Бином. Лаборатория знаний» 2013 г.
    http://xn--80aaacvakkq6ab9ayef.xn--p1ai/schoolbook/section1/ — учебник по устройству компьютера

    «Информатика и программирование. Основы информатики.» Трусов Б. Г. Издательство: Академия 2012 г.
    http://wm-help.net/lib/b/book/120467185/17 — глава из книги «Основы информатики. Учебник для ВУЗов» посвященная устройству компьютера.

    «Архитектура компьютера», Таненбаум Э.С., Издательство ПИТЕР, 2007
    https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0 — материалы из Википедии посвященные архитектуре компьютера

    http://olpictures.ru/kompymyuteryi-kartinki.html — картинки к презентации
    http://www-history.mcs.st-andrews.ac.uk/~history/PictDisplay/Von_Neumann.html — MacTutor History of Mathematics archive. Материалы по Д. фон Нейману.(На английском языке)

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 223 231 материал в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Другие материалы

  • 15.02.2017
  • 1146
  • 1
  • 15.02.2017
  • 506
  • 0
  • 15.02.2017
  • 374
  • 0
  • 15.02.2017
  • 512
  • 0
  • 15.02.2017
  • 7233
  • 26
  • 15.02.2017
  • 537
  • 1
  • 15.02.2017
  • 326
  • 1

Вам будут интересны эти курсы:

  • Курс повышения квалификации «Информационные технологии в деятельности учителя физики»

  • Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»

  • Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»

  • Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»

  • Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»

  • Курс повышения квалификации «Применение MS Word, Excel в финансовых расчетах»

  • Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»

  • Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»

  • Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»

  • Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»

09 Apr 2017

Оглавление

Первое приложение

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

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

/**  
 * Не треугольник  
 */  
define('TRIANGLE_BAD', 0);  
/**  
 * Равносторонний треугольник  
 */  
define('TRIANGLE_EQUILATERAL', 1);  
/**  
 * Прямоугольный треугольник  
 */  
define('TRIANGLE_RIGHT', 2);  
/**  
 * Равнобедренный треугольник  
 */  
define('TRIANGLE_ISOSCELES', 3);  
/**  
 * Разносторонний треугольник  
 */  
define('TRIANGLE_SIDED', 4);

/**  
 * По длинам сторон $a, $b и $c возвращает тип треугольника.  
 * Если стороны не являются целочисленными, то выбрасывает исключение.  
 *  
 * @param $a  
 * @param $b  
 * @param $c  
 * @return int  
 * @throws Exception  
 */  
function triangle_type($a, $b, $c)  
{  
 // Вполне ожидаемо,  
 // что нецелочисленные значения должны приводить к исключительной ситуации.  
 if (!is_int($a) or !is_int($b) or !is_int($c))  
 {  
 throw new Exception('Invalid triangle definition');  
 }

$max = null;  
 $min1 = null;  
 $min2 = null;

if (($a+$b)>$c and ($a+$c)>$b and ($b+$c)>$a)  
 {  
 if (($a>$b) and ($a>$c))  
 {  
 $max = $a;  
 $min1 = $b;  
 $min2 = $c;  
 }  
 else if (($b>$c) and ($b>$a))  
 {  
 $max = $b;  
 $min1 = $a;  
 $min2 = $c;  
 }  
 else  
 {  
 $max = $c;  
 $min1 = $a;  
 $min2 = $b;  
 }

if (pow($max, 2) == pow($min1, 2) + pow($min2, 2))  
 {  
 return TRIANGLE_RIGHT;  
 }  
 else if (($max==$min1) and ($max==$min2))  
 {  
 return TRIANGLE_EQUILATERAL;  
 }  
 else if (($max==$min1) or ($max==$min2) or ($min1==$min2))  
 {  
 return TRIANGLE_ISOSCELES;  
 }  
 else  
 {  
 return TRIANGLE_SIDED;  
 }  
 }  
 else  
 {  
 return TRIANGLE_BAD;  
 }  
}

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

Для начала потребуется реализовать механизм, который позволит вводить данные с консоли и получать результат. Сохраним следующий код в файле main.php. Чуть позже вы поймете, почему мы используем разные файлы для самой функции и для кода, который обрабатывает пользовательский ввод.

// здесь мы подключим ранее написанную функцию для определения типа треугольника  
require __DIR__ . DIRECTORY_SEPARATOR . 'triangle.php';

function main()  
{  
 // проинициализируем переменные  
 $a = $b = $c = 0;

// получим длины сторон со стандартного ввода  
 $num = fscanf(STDIN, "%d %d %dn", $a, $b, $c);  
 // если мы смогли считать длины трех сторон,  
 // то вызовем нашу функцию и покажем результат  
 if ($num == 3)  
 {  
 switch (triangle_type($a, $b, $c))  
 {  
 case TRIANGLE_BAD:  
 echo "Это не треугольникn";  
 break;  
 case TRIANGLE_EQUILATERAL:  
 echo "Это равносторонний треугольникn";  
 break;  
 case TRIANGLE_ISOSCELES:  
 echo "Это равнобедренный треугольникn";  
 break;  
 case TRIANGLE_RIGHT:  
 echo "Это прямоугольный треугольникn";  
 break;  
 case TRIANGLE_SIDED:  
 echo "Это разносторонний треугольникn";  
 break;  
 }  
 }  
}

main();

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

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

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

И вот что мы можем увидеть на экране.

null

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

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

Итак. Ниже приведен набор тестовых сценариев, которые должны быть написаны для нашей функции.

  1. тест для проверки действительно неравностороннего треугольника (наборы [1, 2, 3], [2, 5, 10] треугольниками не являются).
  2. проверка на действительно равносторонний треугольник
  3. проверка на равнобедренный треугольник (наборы вида [2, 2, 4] треугольником не являются)
  4. как минимум три теста для проверки равнобедренного треугольника, которые представляют собой перестановки одного и того же набора чисел ([3, 3, 4], [3, 4, 3], [4, 3, 3])
  5. тест на нулевую длину одной из сторон
  6. тест на сторону, имеющую длину меньше нуля
  7. проверка набора чисел, в котором сумма длин двух сторон равна третьей
  8. тест перестановок для троек чисел из теста 7
  9. проверка набора чисел, в котором сумма длин двух сторон меньше третьей ([12, 15, 30])
  10. тест перестановок для троек чисел из теста 9
  11. проверка на нулевую длину всех трех сторон
  12. проверка на передачу нецелочисленных значений
  13. проверка на передачу неполного набора значений
  14. проверка не только входных данных, но и ожидаемого выходного значения в каждом из тестов 1-13

Если вы не смогли назвать все кейсы, то не пугайтесь. Среднее число тестов, которые называли в разное время опытные разработчики составило 7,8.

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

Это упражнение должно было продемонстрировать вам, что тестирование простых программ наподобие вышеприведенной является отнюдь не тривиальной задачей. А теперь попытайтесь представить себе, насколько трудоемким окажется тестирование, скажем, бухгалтерской программы крупного предприятия, компилятора или же системы управления воздушным движением, объем кода которых может достигать сотен тысяч строк. Еще большие трудности возникают с приложениями, которые написаны с использованием объектно-ориентированных языков (куда входит и php) и подходов. В частности, тесты для подобных приложений должны выявлять ошибки с созданием экземпляров объектов и взаимодействия между ними.

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

Тестируем

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

require __DIR__ . DIRECTORY_SEPARATOR . 'triangle.php';

function testForIsoscelesTriangle()  
{  
 echo "Test for [3, 4, 4]: ";  
 if (triangle_type(3, 4, 4) == TRIANGLE_ISOSCELES) {  
 echo "okn";  
 } else {  
 echo "failn";  
 }  
}

function main()  
{  
 testForIsoscelesTriangle();  
}

main();

И такое часто практикуется. Особенно в среде разработчиков на CC++. На каждый логически связанный набор тестовых случаев создается свой файл. Который содержит множество функций обрабатывающих по одному сценарию каждая.

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

Один из вариантов создания инструмента для работы с подобными тестами вы можете увидеть в файле triangle_test.php. Запустите его и увидите на экране подробный лог тестирования проекта.

null

Литература

  • “Искусство тестирования программ” Гленфорд Майерс, Том Баджетт, Кори Сандлер, ISBN: 978-5-8459-1974-8
  • “PHP 7” Дмитрий Котеров, Игорь Симдянов, ISBN 978-5-9775-3725-4

Исходные тексты программ

  • github

Оглавление

Теги:
тестирование по

php

Категории:

Разработка

Понравилась статья? Поделить с друзьями:
  • Deko 25 моечно дезинфицирующая машина инструкция
  • Духовой шкаф леран eo 6474 ix инструкция на русском
  • Как правильно обращаться к руководству
  • Руководство page one
  • Гранулы ацц 200 инструкция по применению