Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив»




НазваниеМетодические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив»
страница1/13
Дата публикации25.11.2013
Размер0.6 Mb.
ТипМетодические указания
zadocs.ru > Информатика > Методические указания
  1   2   3   4   5   6   7   8   9   ...   13




Оглавление

Оглавление 3

Задание по учебной практике №1.
Работа с массивами 4

Чистка циклов 4

Постановка задачи 6

Содержание отчета 6

Варианты задания 6

Задание по учебной практике №2.
Численные методы решения уравнений. 9

Описание численных методов решения уравнений 9

Постановка задачи 15

Содержание отчета 15

Варианты задания 16

Задание по учебной практике №3.
Работа со строками. Связное хранение строк. 17

Цепочки 17

Постановка задачи 20

Содержание отчета 21

Варианты задания. 21

Задание по учебной практике № 4.
Реализация методов сортировок 23

Алгоритмы сортировки 23

Постановка задачи. 30

Содержание отчета 31

Варианты задания. 31

Методические указания для выполнения задания №4 32

Задание по учебной практике № 5.
Программирование лексического анализатора 33

Лексический анализ 33

Постановка задачи. 35

Содержание отчета 37

Варианты задания. 37

Методические указания для выполнения задания №5. 38

Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39

ПРИЛОЖЕНИЕ Б. Функциональная спецификация АТД «МАССИВ» 49

Приложение В. Класс array 52

Приложение Г. Классы array и arrayNotZero. 53
^

Задание по учебной практике №1.
Работа с массивами

Чистка циклов


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

Вычислить сумму отрезка степенного ряда для sin x:



Будем считать, что номер п последнего члена суммы не задан явно, а определяется требованием, чтобы последний член ип не превосходил по абсолютной величине заданное число . Здесь



Полезно рассмотреть отношение

,
откуда



Здесь множитель –x2 (обозначим его через v) не зависит от i, а знаменатель 2i(2i+1) вычисляется в зависимости от i сравнительно просто - без циклов. Алгоритм вычисления суммы, в котором цикл вычисления самой суммы совмещен с циклами, необходимыми для вычисления x2i+1, (2i+1)! и даже (-1)i, оказывается таким:


  1. i := 0, и := х, s := х, v := —х2.

  2. i: = i + 1, , s: = s + u.

  3. Если |и| > , то перейти на 2.

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

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

ri=2i(2i+1)=4i2+2i

и постараемся выразить значение ri,- через ri-1. Отношение ri к ri-1 оказывается сложным, поэтому попробуем рассмотреть разность

di =ri-ri-1=4i2+2i-4(i - 1)2- 2(i - 1)=8i-2,

откуда

ri=ri-1+di,

a di выражается через di-1 уже совсем просто:

di=di-1+8.

Таким образом, очередное значение ri вычисляется через предыдущее с помощью всего двух операций (одна из них вычисляет di через di-1), а надобность в переменной i отпала. Чтобы начать вычисления, нужно знать начальные значения переменных r и d (при i=0). Они равны, соответственно 0 и -2. Итак, еще один вариант алгоритма может быть записан в следующем виде.

  1. d := -2, r : = 0, и := х, s := х, v :=-x2.

  2. d :=d + 8, r := r + d, и := uv/r, s := s + u.

  3. Если |и| > , то перейти на 2'.

Здесь очень важна правильная последовательность присваиваний на шаге 2'.

Второй вариант программы короче первого всего на одну команду. Ради этого не стоило бы затевать переделку. Однако повторяющаяся часть программы (блоки 2' и 3') стала короче на две команды, так что на выполнение всей программы затрачивается 7n + 6 операций (n — число повторений цикла) вместо 9n + 5 операций, идущих на выполнение первого варианта программы. Уже при n = 3 экономия времени выполнения программы составляет около 15%, а такая экономия оправдывает затраченные усилия. Важным аргументом является и то, что вещественная арифметика – приближенная, а уменьшение количества операций уменьшает и ошибку округления.

Сокращение повторяющейся части цикла за счет устранения из нее одинаковых вычислений называется чисткой цикла. Чистка циклов — это один из важнейших способов ускорения работы программы.
  1   2   3   4   5   6   7   8   9   ...   13

Добавить документ в свой блог или на сайт

Похожие:

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания для выполнения задания №5. 32 Приложение А....
Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 33

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания для выполнения контрольных работ по дисциплине информатика Самара 2003
Методические указания предназначены для студентов заочной формы обучения всех специальностей. Методические указания включают в себя...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания к практическим занятиям по дисциплине
Методические указания предназначены для выполнения практических заданий по дисциплине “Организация и планирование производства” студентами...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодика выполнения сурс для выполнения первого пункта задания
«Перечень хозяйственных операций за отчетный период» составить «Журнал регистрации хозяйственных операций» (приложение 1), где должны...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» icon«возрастная физиология и психофизиология» и методические указания для ее выполнения
Задания к контрольной работе по дисциплине «Возрастная физиология и психофизиология» и методические указания для ее выполнения. Екатеринбург,...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания для их выполнения по дисциплине «Физическая культура»
Задания к контрольным работам и методические указания для их выполнения по дисциплине «Физическая культура». Екатеринбург, фгаоу...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические рекомендации по подготовке к практическим занятиям
Задания для самостоятельной подготовки дадут возможность практически освоить теоретические рекомендации, повторить и закрепить основные...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconПриложение 1 3 приложение 2 8 приложение 3 9 приложение 4 10 приложение 5 12
Интенсивность 6,9 балла по шка­ле Рихтера, полностью уничто­жен г. Спитак; разрушены гг. Ле-нинакан, Степанаван, Кировакан

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания по проведению практических занятий и выполнению...
Методические указания предназначены для проведения практических занятий и выполнения домашних заданий по дисциплине «Экономико-математические...

Методические указания для выполнения задания №5. 38 Приложение А. Некоторые средства языка С++, необходимые для выполнения заданий учебной практики. 39 Приложение б. Функциональная спецификация атд «массив» iconМетодические указания и задания по выполнению контрольной работы...
Методические указания предназначены для выполнения контрольных работ студентами-заочниками специальности 1-70 02 01. Изложено содержание...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов