2. Свойство алгоритма, означающее, что он задан с помощью таких предписаний, которые исполнитель может воспринимать и по которым может выполнять требуемые действия, носит название
а) массовость
б) понятность +
в) определённость
3. Какое название носит свойство алгоритма, означающее, что он всегда приводит к результату через конечное, возможно, очень большое, число шагов:
а) дискретность
б) определённость
в) результативность +
4. Что является величиной целого типа:
а) марка автомобиля
б) количество мест в зрительном зале +
в) площадь государства
5. Укажите, какое логическое выражение истинно, если х ∈ [—10, 10]:
а) (х>10) ИЛИ (х <-10)
б) (х>10) И (х <-10)
в) (х>=-10) И (х<=10) +
6. Необходимо правильно указать, какая команда присваивания должна следовать за командами А:=А+В и В:=А-В, чтобы последовательное выполнение всех трёх команд вело к обмену значениями переменных А и B:
Лекция 1 | Математические основы алгоритмов | Александр Охотин | Лекториум
а) В:=В-А
б) А:=А-В +
в) А:=А+В
7. Необходимо выбрать правильный вариант записи условия «х — двузначное число»:
а) (х>=10) И (х <100) +
б) х mod 100 = 99
в) х div 100 = 0
8. Среди четырёх монет есть одна фальшивая. Неизвестно, легче она или тяжелее настоящей. Минимальное количество взвешиваний , которое необходимо сделать на весах с двумя чашками без гирь, чтобы определить фальшивую монету равно 2. Так ли это:
а) нет
б) да +
в) отчасти
9. С зарождением чего связывают появление алгоритмов:
а) астрономии
б) физики
в) математики +
10. Какое название носит процесс разработки алгоритма (плана действий) для решения задачи:
а) алгоритмика
б) алгоритмизация +
в) алгоритмия
11. Если алгоритм предназначен для исполнения техническим устройством, например станком с числовым программным управлением или компьютером, он представляется в виде:
а) процессора
б) файлов
в) программы +
12. На каком понятии основано решение задач на компьютере:
а) информативности
б) алгоритма +
в) искусственного интеллекта
13. Формульно-словесный способ записи алгоритма характеризуется тем:
а) что описание осуществляется с помощью слов +
б) что описание осуществляется с помощью цифр
в) что описание осуществляется с помощью специальных знаков
14. Формульно-словесный способ записи алгоритма характеризуется тем:
а) что описание осуществляется с помощью аксиом
б) что описание осуществляется с помощью специальных знаков
в) что описание осуществляется с помощью формул +
15. Специальное средство, предназначенное для записи алгоритмов в аналитическом виде:, получило название:
а) алгоритмические языки +
б) алгоритмические навыки
в) алгоритмические эксперименты
16. Как называется алгоритм, в котором все действия выполняются последовательно друг за другом и только один раз:
Алгоритмы и структуры данных (С++), лекция №1
а) одиночный алгоритм
б) линейный алгоритм +
в) не повторяющийся алгоритм
17. Каким образом может быть задан алгоритм:
а) словесным +
б) устным
в) словесно-графическим
18. Каким способом может быть задан алгоритм:
а) географическим
б) графическим +
в) последовательностью байтов
19. Каким образом может быть задан алгоритм:
а) словесно-графическим
б) формально-устным
в) формально-словесным +
20. Каким образом может быть задан алгоритм:
а) на алгоритмическом языке +
б) последовательностью байтов
в) устно-графическим
21. Правильно укажите одно из свойств алгоритма:
а) цикличность
б) оперативность
в) дискретность +
22. Правильно укажите одно из свойств алгоритма:
а) единичность
б) массовость +
в) оперативность
23. Необходимо верно указать одно из свойств алгоритма:
а) информативность
б) неопределенность
в) определенность +
24. Необходимо верно указать одно из свойств алгоритма:
а) результативность +
б) цикличность
в) информативность
25. Что является алгоритмом:
а) указание на не выполнение действий
б) процесс выполнения вычислений, приводящих к решению задачи
в) система правил, описывающая последовательность действий, которые необходимо выполнить для решения задачи +
26. Какое количество базовых структур алгоритмов вы знаете:
а) 2
б) 3 +
в) 4
27. Свойство алгоритма, означающее, что данный алгоритм применим к решению целого класса задач, получило название
а) массовость +
б) результативность
в) определённость
28. Какие формы записи алгоритмов обладают наибольшей наглядностью:
а) словесные
б) графические +
в) рекурсивные
29. Как называются величины, значения которых меняются в процессе исполнения алгоритма:
а) переменными +
б) постоянными
в) константами
30. Свойство алгоритма, означающее, что путь решения задачи определен вполне однозначно, на любом шаге не допускаются никакие двусмысленности и недомолвки, получило название:
а) дискретность
б) результативность
в) определённость +
Источник: shooltest.ru
Лекция: Типы ошибок в алгоритмах. Основные этапы проектирования (алгоритмизации).
Типы ошибок в алгоритмах.Если программа только что составлена, то она в очень редких случаях не содержит ошибок.
Различают три типа ошибок: синтаксические ошибки, ошибки выполнения и ошибки в алгоритме программы.
Синтаксические ошибки– возникает при нарушении правил языка QBasic. Такие ошибки сравнительно безобидны, поскольку причина ошибки описывается и программная строка с ошибкой выводится на экран. При наличии определенных навыков исправляются они достаточно быстро. Примером такой ошибки может служить неправильный набор ключевого слова PRITN вместо PRINT.
Ошибки выполнения – это такие ошибки, которые не нарушают синтаксиса языка, но приводят к ошибочным операциям в процессе выполнения. Примерами таких ошибок могут быть ошибка — индекс, ошибка – значение, деление на нуль, неправильное обращение к подпрограмме и т.д.
Ошибки в алгоритме программы – это такие ошибки, которые при верных исходных данных и безошибочной работе программы приводят к неправильным результатам. Такие ошибки должен обнаруживать сам программист. Поэтому, избавившись от синтаксических ошибок и ошибок выполнения, необходимо проверить работу программы на данных, охватывающих по возможности все случаи, которые могут встретиться при реальном счете. Для этого создаются и «прокручиваются» различные тесты (контрольные примеры).
Существует несколько методик отладки программы. Один из приемов отладки называется «проследить трассу». Он заключается в том, что в процессе работы программы на экране дисплея выдаются сообщения о ходе вычислений. Желательно одновременно с этим последовательно выводить на экран номера выполняемых строк. Использование отладочных строк с оператором PRINT для выдачи промежуточных результатов в совокупности с трассировкой позволяет быстро локализовать ошибку и исправить ее.
Другой часто применяемый способ отладки программы состоит в следующем: в критических точках расставляются вспомогательные команды STOP. При выполнении STOP вычисления приостанавливаются, и пользователь может вывести значения интересующих его переменных в режиме непосредственного исполнения на экран. После остановки вычисления возобновляют командой CONT. Анализ выведенных значений переменных позволяет делать выводы о правильности хода вычислительного процесса и принимать соответствующие решения.
Если же за дисплеем найти ошибку не удалось, нужно сесть за стол и применить очень действенный метод – выполнить программу вручную. Для этого необходимо представить, что вы машина, и начав с первого оператора программы, выполнять оператор за оператором, пока не будет обнаружена причина неправильной работы программы.
Эту работу нужно выполнять методично и терпеливо. Имитируя работу программы, мы должны иметь текст программы, список переменных с их текущими значениями и лист бумаги для отслеживания изменений. Выполняя программу вместо машины, нужно все время задавать себе вопрос: «Тот ли получен результат, которого я ожидал?». Если — да, то продолжите выполнение программы. Если — нет, то нужно думать, почему программа работает неправильно.
Следует иметь в виду, что в процессе отладки могут быть обнаружены и устранены не все ошибки. Более того, в процессе исправления обнаруженных ошибок могут быть допущены новые. Поэтому после каждого исправления требуется вновь произвести тестирование.
Основные этапы проектирования (алгоритмизации). Рассмотрим процесс решения задачи на конкретном примере:
Задача: Определить дальность полета тела, брошенного под углом к горизонту.
На первом этапе обычно строится описательная информационная модель объекта или процесса. В нашем случае с использованием физических понятий создается идеальная модель движения объекта. Из условия задачи можно сформулировать следующие основные предложения:
1) размеры тела малы по сравнению с траекторией полета, поэтому тело можно считать материальной точкой,
2) скорость бросания тела мала, поэтому :
— ускорение свободного падения считать постоянной величиной;
— сопротивлением воздуха можно пренебречь.
На втором этапе создается формальная модель, т.е. описательная информационная модель записывается с помощью какого-либо формального языка.
Из курса физики известны следующие формулы
Vx=V0*cos(A) – горизонтальная проекция вектора скорости
Vy=V0*sin(A) – вертикальная проекция вектора скорости
L=Vx*t – дальность полета, t- время полета
0=Vy*t-gt2/2 – координата точки падения
g=9,81 м/с2 — ускорение свободного падения
Как видно из этой системы неравенств, бросание тела не должно происходить вправо и вверх, и начальная скорость не должна быть отрицательной.
Таким образом, метод решения данной задачи описывается следующей последовательностью формул:
На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, т.е. выразить ее на понятном для компьютерном языке. Существуют два принципиально различных пути построения компьютерной модели:
— создание алгоритма решения задачи и его кодирование на одном из языков программирования;
— формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т.д.)
Для реализации первого пути надо построить алгоритм определения координаты тела в определенный момент времени и закодировать его на одном из языков программирования, например на языке QuickBasic.
Второй путь требует создания компьютерной модели, которую можно исследовать в электронных таблицах.
Собственно алгоритм решения данной задачи состоит из последовательного решения наших уравнений:
- Ввести начальную скорость (V0) и угол бросания (А)
- Присвоить переменной Vy значение V0*sin(A)
- Присвоить переменной Vx значение V0*cos(A)
- Присвоить переменной t (время полета) значение 2*Vy/g
- Присвоить переменной L (дальность полета) значение Vx*t
- Вывести ответ на экран (L).
Четвертый этап — составление программы, т.е. запись задачи на понятном компьютеру языке. В качестве примера выбран язык QuickBasic.
Пятый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты.
На шестом этапе выполняется анализ полученных результатов и при необходимости корректировка исследуемой модели. В нашем случае можно попробовать запустить программу с различными исходными данными.
Таким образом, технология решения задач с помощью компьютера состоит из следующих этапов: построение описательной модели – формализация – построение компьютерной модели – компьютерный эксперимент – анализ результатов и корректировка модели.
Источник: ronl.org
Основы алгоритмизации Понятие алгоритма и его свойства. Способы записи алгоритмов.
Алгоритм — это точно определенное (формальное) описание способа решения задачи в виде конечной последовательности действий.
Исполнитель алгоритма – это тот объект, для управления которым составлен алгоритм.
В качестве исполнителей алгоритма могут выступать человек и различные устройства: механические, электрические, электронно-вычислительные машины (ЭВМ) и т.д.
Свойства алгоритма:
- дискретность — представление алгоритма в виде последовательности шагов;
- массовость — применимость алгоритма к некоторому множеству исходных данных;
- результативность– получение результата за конечное число шагов
- однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
Способызаписи алгоритмов:
- на естественном языке (словесная форма),
- графически в виде блок-схем
- на псевдокоде,
- на языках программирования.
Достоинством записи алгоритма на естественном языке является доступность для понимания его любым человеком. Недостатки записи алгоритмов на естественном языке состоят в громоздкости записи, ненаглядности, неточности и многозначности. Преимущество блок-схем – в наглядности алгоритма. Для изображения алгоритмов будем использовать блок-схемы, формируемые из типовых блоков, показанных на рис. 1. Одним из распространенных способов представления алгоритма является псевдокод. Псевдокод – язык описания алгоритмов близкий к естественному языку или языкам программирования (использует ключевые слова языков программирования, но опускает подробности и специфический синтаксис).
Общая форма Записи алгоритма на псевдокоде
- операция присваивания вида < переменная >:= < выражение >
- операция ввода/вывода
Общая форма Записи алгоритма на алгоритмическом языке:
алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон В записи алгоритма ключевые слова обычно подчёркиваются либо выделяются полужирным шрифтом. Для выделения логических блоков применяются отступы, а парные слова начала и конца блока соединяются вертикальной чертой. Пример Пусть заданы длины сторон треугольника. Необходимо вычислить площадь треугольника, используя формулу Герона. Разработку алгоритма полезно начинать с постановки задачи:
Исходные данные: | A, B, C — длины сторон треугольника |
Результат: | S — площадь треугольника. |
Метод решения: | ![]() ![]() |
Запишем алгоритм на псевдокоде, используя дополнительно одну служебную переменную P, уменьшающую время вычислений. Алгоритм Линейная структура (площадь треугольника) Начало ввод (A, B, C)
вывод S Конец Для записи алгоритмов могут использоваться специальные искусственные языки – языки программирования., Языком программирования называется формальная знаковая система, предназначенная для записи компьютерных программ. Программа — это предписание ЭВМ на языке программирования, позволяющее решать требуемую задачу.
Источник: studfile.net