Что такое ямк кто предложил такую систему. Контрольные вопросы

Ветвление и последовательная детализация. Метод последовательной детализации. Пример синквейна на тему жизни

ü получить представление о пользовательских функциях, освоить методику их написания.

I. Приёмы построения алгоритмов

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

проектирование – построение алгоритма решения поставленной задачи;

кодирование – перевод алгоритма на язык программирования;

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

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

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

метод последовательной детализации;

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

Метод последовательной детализации можно разбить на три этапа:

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

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

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

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

Пример проектирования урока. Материал содержит две формы (заполненные):

2. Детализация плана урока (занятия)

Понять

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

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

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

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

Компьютер никогда не задает вопросов «Почему?» и «Зачем?». Он не отказывается выполнять команды, которые входят в его систему команд. Поэтому компьютер называют формальным исполнителем алгоритмов.

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

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

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

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

Одни программы управляют самим компьютером. Это системные программы. Другие программы помогают создавать и редактировать информационные объекты (тексты, рисунки, схемы, числа и другое). Такие программы называются прикладными. Есть и другие виды программ.

Список похожих презентаций

Вред компьютера и как его уменьшить

Вред компьютера и как его уменьшить

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

Компьютер

Компьютер

Функциональная схема ПК. МАГИСТРАЛЬ Процессор ОЗУ Устройства ввода. Долговременная память. Устройства вывода. ВЫХОД. МЕНЮ. . Клавиатура Мышь Сенсорная .

Алгоритм как модель деятельности

Алгоритм как модель деятельности

Что такое алгоритмическая модель? Почему алгоритм можно назвать моделью и что он моделирует? Алгоритм – это понятное и точное предписание конкретному .

Компьютер и здоровье школьника

Компьютер и здоровье школьника

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

Компьютер и здоровье

Компьютер и здоровье

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

Компьютер и здоровье

Компьютер и здоровье

Основополагающий вопрос: Как прогресс влияет на человечество? Проблемные вопросы: Как влияет компьютер на здоровье человека? Что мы знаем об истории .

Компьютер и его влияние на здоровье человека

Компьютер и его влияние на здоровье человека

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

Компьютер – универсальное устройство обработки информации

Компьютер – универсальное устройство обработки информации

Цели урока:. дать представление о функциональном назначении устройств компьютера; познакомить с функциями процессора и его основными характеристиками; .

Блок-схемы алгоритмов

Блок-схемы алгоритмов

ОСНОВНЫЕ ЭЛЕМЕНТЫ БЛОК-СХЕМ. Основные геометрические фигуры языка блок-схем, широко используемого для описания небольших алгоритмов. Блок-схема цикла .

Блок-схемы алгоритмов

Блок-схемы алгоритмов

Что такое алгоритм? Дайте определение и приведите примеры. Алгоритм- это определённая последовательность действий, приводящая к решению задачи. а:=0; .

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

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

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

Алгоритмы и типы алгоритмов

Алгоритмы и типы алгоритмов

Понятие алгоритма. Разветвляющиеся алгоритмы. Линейные алгоритмы. Словарь понятий Задание. Алгоритм — это строгоупорядоченная последовательность действий, .

Алгоритмы Виды алгоритмов Свойства алгоритмов

Алгоритмы Виды алгоритмов Свойства алгоритмов

Содержание. Данные, величина, команды Постоянная и переменная величина Характеристика величины Понятие «алгоритм» Исполнитель алгоритма СКИ Свойства .

Алгоритм. Свойства и виды алгоритмов

Алгоритм. Свойства и виды алгоритмов

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

Алгоритм, свойства алгоритма, исполнители алгоритмов

Алгоритм, свойства алгоритма, исполнители алгоритмов

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

Компьютер - друг или враг

Компьютер — друг или враг

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

Компьютер - источник увлекательных игр или помощник в учебе?

Компьютер — источник увлекательных игр или помощник в учебе?

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

Ветвления и исполнители алгоритмов

Ветвления и исполнители алгоритмов

Алгоритм 1:. Уменьшить скорость. Если ремонт дороги закончен, то проехать 2 км по отремонтированному участку дороги к офису, иначе проехать 5 км в .

Компьютер в профессии архитектора

Компьютер в профессии архитектора

Цели:. 1. Выяснить какими программами пользуются архитекторы; 2. выделить самые популярные; 3. Изучить принцип их работы;. ArchiCAD. ArchiCAD (Архикад) .

Виды алгоритмов

Виды алгоритмов

Линейным алгоритм – это алгоритм, в котором действия выполняются последовательно одно за другим. Составить алгоритмы и блок — схемы: Открыть входную .

Более подробно о разделении на клиент-сервер

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

Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.

Я специально назвал регистр ЦПУ полем. Когда вы пишете программу на C#, то можете добавлять сколько угодно полей в свой класс и давать им понятные названия. У процессоров и микроконтроллеров поля называются регистрами. Когда вы проектируете железку то нужно уже на этом этапе понять сколько регистров (полей) надо, какого размера они должны быть и какой функционал на них возложить, чтобы этого хватало на все случаи жизни для всех мыслимых и немыслимых ситуаций. Представьте, что вам надо написать программу на C#-подобном языке программирования у которого в классе 16 предопределённых полей и вы не можете использовать локальные переменные. Т.е. одно и то же поле может использоваться для хранения залогиненного пользователя, отсортированного массива, временных данных или результата выполнения метода. Имена таких полей должны быть максимально общими, вместо tempData, funcResult будут странные имена EAX, AH, AL, DX и пр. Если бы вы писали на C# эмулятор процессора на архитектуре x86, то код мог бы выглядеть примерно так (DIV — divide, команда целочисленного деления):

image

Для иллюстрации я добавил проверку на режим ядра. Если происходит ошибка деления на ноль, то процессор уведомляет об этому ОС через прерывание (выбрасывает событие). Во время загрузки ОС предоставляет процессору одномерный массив указателей на функцию, который называется вектор прерываний, где каждому индексу соответствует какое-то событие к примеру деление на ноль. ОС знает архитектуру процессора на котором исполняется и может соответствующим образом упорядочить в массиве указатели на функции. CPU вызывает эту функцию и ОС свой код. К примеру Windows смотрит в реестре установлен ли отладчик и показывает сообщение о том что произошла ошибка и есть возможность запустить дебаггер чтобы посмотреть на место где она произошла. Прерывание называется прерыванием потому как оно вклинивается в нормальный ход выполнения программы и даёт возможность выполнится обработчику прерывания и только после его завершения процессор может вернуться к исполнению программы.

Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.

Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:

  • С т. зр. CPU нет разницы между кодом и данными, что приводит к трудновыявляемым ошибкам и возможностям для взлома. Если регионы памяти пометить атрибутами по которым можно сказать, что здесь находится код, а здесь данные только для чтения, а сюда можно писать, то это решит указанные проблемы. Так же можно пометить страницы доступные только в режиме ядра.
  • Поддержка виртуальной памяти процессором, который умеет копировать страницу виртуальной памяти в физическую. Физическая память RAM так же представлена в виде страниц по 4Кб. Кэш процессора считывает память из RAM страницами, потому как часто программа читает расположенные рядом данные.
  • Кажется что процесс владеет всей доступной ему памятью, хотя реально его запросы на выделение динамической памяти (оператор new в С++) ОС удовлетворяет только когда процесс попытается прочитать/записать её. Exe-файл полностью не загружается в память, а отображается с диска и когда нужно исполнить код или считать данные они загружаются в память c диска. Эти механизмы основаны на страницах.
  • Имитация эксклюзивного пользования RAM каждым процессом. Когда планировщик потоков назначает поток на выполнение он загружает в регистры процессора информацию о мапинге виртуальных страниц процесса в физические страницы и когда код потока пытается прочитать/записать какой-то адрес процессор правильно его транслирует. Помимо процессов на эмуляцию эксклюзивности пользования RAM полагаются сессии, которые содержат код и данные специфичные для отдельного пользователя, к примеру глобальная очередь сообщений. В Windows 10 есть контекст потока, процесса и сессии.
image image

64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.

Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.

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

Уметь

Выполни задания в рабочей тетради № 2.

Выполни на компьютере задания к параграфу из раздела УМЕТЬ компакт-диска.

Прочитай на досуге в книге «Расширь свой кругозор» текст «Области применения компьютера».

Теперь мы знаем

  • Модель — это заменитель объекта-оригинала. Объектом-оригиналом называют объект реальной действительности.
  • Модель может быть похожа на объект-оригинал (игрушка, скульптура, картина, фотография) и может быть совсем не похожа на него (текст, схема, число).
  • Цели создания модели: изучить объект, сохранить информацию о наблюдаемом объекте, передать её другим людям или показать, как будет выглядеть объект, которого ещё нет, и другие.
  • Модель должна отражать существенные с точки зрения цели моделирования свойства объекта.
  • Алгоритм — это последовательность команд, описывающая решение задачи. Алгоритм — это модель решения задачи.
  • Объект, выполняющий алгоритм, — это исполнитель алгоритма.

Мы научились

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

Термины для запоминания

    • Алгоритм
    • Заменитель объекта-оригинала
    • Исполнитель алгоритма
    • Моделирование
    • Модель
    • Объект-оригинал
    • План действий
    • Робот
    • Система команд исполнителя
    • Цель моделирования

    Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

    Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

    Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения: 1. Достать ключ из кармана. 2. Вставить ключ в замочную скважину. 3. Повернуть ключ два раза против часовой стрелки. 4. Вынуть ключ.

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

    Свойства алгоритмов: 1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке); 2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае); 3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения); 4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными); 5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

    Виды алгоритмов: 1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке); 2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание); 3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий) 4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).

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

    Вид стандартного графического объекта

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

    Условие выполнения действий записывается внутри ромба

    Стадии создания алгоритма: 1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает. 2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.

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

    Исполнитель — объект, который выполняет алгоритм.

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

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

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

    Компьютер – автоматический исполнитель алгоритмов.

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

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

    Контрольные вопросы. В чём отличие формального исполнителя от интеллектуального? Что такое ЯМК? Кто предложил такую систему? Какие особенности выполнения программы на ЯМК компьютером? Что такое ЯПВУ? Особенности выполнения программы компьютером, написанной на ЯПВУ? Почему компьютер можно назвать формальным исполнителем?

    Картинка 18 из презентации «Выполнение алгоритмов компьютером» к урокам информатики на тему «Алгоритм»

    Размеры: 960 х 720 пикселей, формат: jpg. Чтобы бесплатно скачать картинку для урока информатики, щёлкните по изображению правой кнопкой мышки и нажмите «Сохранить изображение как. ». Для показа картинок на уроке Вы также можете бесплатно скачать презентацию «Выполнение алгоритмов компьютером.ppt» целиком со всеми картинками в zip-архиве. Размер архива — 321 КБ.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector