Рекомендации по подготовке и проведению экзамена и оцениванию ответов

Вид материалаДокументы
Алгоритм – это понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных да
Алгоритм деления отрезка АВ пополам
СКИ Робота
Свойства алгоритма
В какой форме записываются алгоритмы?
Основные алгоритмические блоки
1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. В
Алгоритмические конструкции
Основными алгоритмическими конструкциями
Язык блок-схем
Пример программы на языке программирования Pascal{программа вычисляет площадь прямоугольника}
Язык блок-схем
Пример программы на языке программирования Pascal
Блок-схема цикла с предусловием продолжения
Разработка алгоритмов методом последовательной детализации. Вспомогательные алгоритмы
2. Работа с электронной таблицей. Создание таблицы в соответствии с условием задачи, использование функций. Построение диаграмм
1. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.
Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы
Массивы — последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя.
Выpажения — пpедназначаются для выполнения необходимых вычислений
...
Полное содержание
Подобный материал:
1   2   3   4   5   6   7   8

Билет 5

1. Процесс передачи информации, источник и приемник информации, канал передачи информации. Скорость передачи информации.


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

Передача - это процесс распространения информации в пространстве.

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



Рис.1 Схема процесса передачи информации

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

Декодирующее устройство — устройство для преобразования кодированного сообщения в исходное.

Канал связи характеризуется:
  • пропускной способностью
  • помехозащищенностью

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




Пример 1. Пусть по каналу передается 30 Кб информации за 2 мин. Найдем пропускную способность канала. По определению она равна



Пример 2. Пусть по каналу с пропускной способностью 512 бит/с требуется передать 2Кб информации. Определим время, необходимое для передачи. Оно равно



В восприятии человеком информации о внешнем мире основную роль играют зрительные образы. Физиологи установили, что около 90% информации человек воспринимает зрением, примерно 9% – слухом, и оставшийся 1% остальными органами чувств.

2. Создание мультимедийной презентации на основе шаблонов. Выбор типа разметки слайда, применение шаблона оформления, цветовых схем и эффектов анимации. Показ презентации с использованием автоматической смены слайдов.


Билет 6

 1. Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя). Свойства алгоритма. Способы записи алгоритмов; блок-схемы.


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

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



Само слово "алгоритм" происходит от "algorithmi" - латинской формы написания имени выдающегося математика IX века аль-Хорезми, который сформмулировал правила выполнения арифметических операций.

Что такое алгоритм?

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

Алгоритм выполняется за определенное количество шагов. Шаг – отдельное законченное действие.

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

Алгоритм деления отрезка АВ пополам:
1) поставить ножку циркуля в точку А;
2) установить раствор циркуля равным длине отрезка АВ;
3) провести окружность;
4) поставить ножку циркуля в точку В;
5) провести окружность;
6) через точки пересечения окружностей провести прямую;
7) отметить точку пересечения этой прямой с отрезком АВ.

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

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

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

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

Исполнители часто встречаются в сказках. В одной из них Иван-Царевич говорит Избушке-На-Курьих-Ножках: “Избушка, избушка! Встань к лесу задом, ко мне передом!”. При этом команда должна быть задана очень точно, чтобы исполнитель ее понял. В сказке “Али-Баба и сорок разбойников” волшебная дверь открывалась по команде “Сезам, откройся!”. Жадный Касым, тайно проникший в пещеру, забыл эту фразу и не смог выйти из пещеры.

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

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

Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять.

Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды . Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат — смещение Pобота на одну клетку ввеpх.

После вызова команды исполнитель совеpшает соответствующее элементаpное действие . Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

Среда исполнителя – обстановка, в которой функционирует исполнитель.

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

Исполнитель Робот

Как и любой исполнитель, Робот понимает только ограниченный набор команд, которые входят в его СКИ (список команд исполнителя). Некоторые примеры команд:

СКИ Робота:

направо; повернуться на 90 градусов вправо
налево; повернуться на 90 градусов влево
кругом; развернуться кругом (на 180 градусов)
вперед ( n ); перейти на n клеток вперед
назад ( n ); перейти на n клеток назад
посади; посадить цветы на грядке в том месте, где стоит Робот

Свойства алгоритма
  1. Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.
  2. Дискpетность (прерывность, раздельность) — т.е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).
  3. Опpеделенность — т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.
  4. Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.
  5. Массовость . Это означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

В какой форме записываются алгоритмы?

На практике наиболее распространены следующие формы представления алгоритмов:
  • словесная (записи на естественном языке);
  • графическая (изображения из графических символов);
  • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
  • программная (тексты на языках программирования).

Графический способ записи алгоритмов
(блок-схема)

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

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

Основные алгоритмические блоки



Начало-Конец (блок начала и конца алгоритма)



Процесс (вычислительное действие или последовательность действий)



Решение (проверка условия)



Ввод-вывод (ввод или вывод в общем виде)

 



Модификация (начало цикла)













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


Билет 7

 

1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы.


Алгоритмические конструкции

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

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

Линейная последовательность шагов

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

На рисунке изображена блок-схема линейного алгоритма, состоящего из двух шагов.

Язык блок-схем

Алгоритмический язык



нач


действие 1

действие 2
...................

кон


 

Пример программы на языке программирования Pascal
{программа вычисляет площадь прямоугольника}


Program ploshad;
var a,b,s:word;
begin
write('a=');
read (a);
write ('b=');
read (b);
s:=a*b;
writeln ('площадь прямоугольника', s);
end.


Ветвление

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

На рисунке приведена блок-схема ветвления

Язык блок-схем

Алгоритмический язык




если условие

то
действия 1
иначе
действия 2

все


Если условие истинно, то будет выполнено только действие1, в противном случае будет выполнено только действие2.

В языках программирования высокого уровня ветвление обычно реализуется с помощью оператора (команды) IF. (См. оператор If в Паскале, оператор If в языке Basic.)

Пример программы на языке программирования Pascal

{Программа, которая находит наибольшее из трех чисел}

Program maximal;
var a,b,c,d:word;
begin
write ('a,b,c'');
read (a,b,c);
if a>b then d:=a
else d:=b;
if c>d tnen d:=c then
writeln ('наибольшее',d);
end.


Цикл

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

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

Если при истинности условия цикл завершается, то такое условие называется условием завершения цикла. В этом случае цикл продолжается до тех пор, пока условие цикла не станет истинным.

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





Блок-схема цикла с предусловием продолжения

Блок-схема цикла с постусловием завершения

Тело цикла с постусловием всегда выполнится хотя бы один раз.





Цикл типа Пока

 

Цикл типа Для

 

нц пока условие
тело цикла (последовательность действий)
кц

нц для i от i1 до i2
тело цикла (последовательность действий)
кц


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

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

Разработка алгоритмов методом последовательной детализации. Вспомогательные алгоритмы

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

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

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

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



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

2. Работа с электронной таблицей. Создание таблицы в соответствии с условием задачи, использование функций. Построение диаграмм и графиков по табличным данным.


Билет 8

 

1. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.


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

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

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

Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).

Опеpации . Типы операций:
  • аpифметические опеpации + , - , * , / и дp. ;
  • логические опеpации и, или, не ;
  • опеpации отношения < , > , <=, >= , = , <> ;
  • опеpация сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+".

Данные величины, обpабатываемые пpогpаммой . Имеется тpи основных вида данных: константы, пеpеменные и массивы .
  • Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

Пpимеpы констант:
    • числовые 7.5, 12;
    • логические да (истина) , нет (ложь);
    • символьные "А", "+";
    • литеpные "abcde", "информатика", "" (пустая строка).


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

Выpажения — пpедназначаются для выполнения необходимых вычислений , состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.

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

Различают выражения арифметические, логические и строковые.
  • Арифметические выражения служат для определения одного числового значения . Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 - единице.
  • Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться . Таким образом, логическое выражение может принимать только два значения — "истина" или " ложь" ( да или нет ). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r , определяющее принадлежность точки с координатами (x,y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина" , а при x=2, y=2, r=1 — "ложь" .
  • Значения строковых (литерных) выражений — текcты . В них могут входить литерные константы, литерные переменные и литерные функции, разделенные знаком операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = "куст " , а В = "зеленый", то значение выражения А+В есть " куст зеленый" .

Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:
  • ключевые слова;
  • данные;
  • выpажения и т.д.

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

Линейная алгоритмическая структура

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

Языки программирования - искусственные языки. От естественных они отличаются ограниченным числом "слов", значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

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

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





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

Program summa;
var a, b, c: integer;
begin
write ('a'); readln (a);
write ('b'); readln (b);
c: = a + b;
writeln ('Результат:', c);
end.

Присваивание

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

Для задания значения переменной служит оператор присваивания . Он записывается так:
(относительно языка Pascal)
переменная:=значение (или просто: переменная:=значение)
Пример: