Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
177
Добавлен:
16.03.2016
Размер:
1.2 Mб
Скачать

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

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

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

Написать и протестировать функции для ввода и вывода данных, а также функции поиска количества кубиков с указанными значениями «материал» и «длина ребра». Например, найти количество деревянных кубиков с ребром 3 см и количество металлических кубиков с ребром 5 см.

Задание 19. Определить структуру, описывающую сведения о веществах: название вещества, его удельный вес и проводимость (проводник, полупроводник, изолятор).

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

Задание 20. Определить структуру, описывающую сведения о веществах: название вещества, его удельный вес и проводимость (проводник, полупроводник, изолятор).

Написать и протестировать функции для ввода и вывода данных. Написать и протестировать функции для сортировки данных по любому из признаков.

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

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

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

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

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

Написать и протестировать функции для ввода и вывода данных. Написать и протестировать функцию поиска по диапазону цены. Написать и протестировать

141

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

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

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

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

№п/п

Наименование

Годовой план выпуска

Фактический выпуск по кварталам

I

II

III

IV

 

изделия

 

1

Стул

100

10

20

35

35

 

 

 

 

 

 

 

Определить структуру для представления этих данных.

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

Задание 26. Имеются сведения о сотрудниках учреждения в следующем виде: табельный номер сотрудника, его фамилия, имя, отчество, оклад. Определить структуру для представления этих данных.

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

Задание 27. Имеются данные о выпускаемых изделиях: наименование изделия, артикул, себестоимость изделия и его цена. Определить структуру для представления этих данных. Написать и протестировать функции для ввода данных и вывода в форме полной ведомости выпускаемых изделий следующего вида:

№ п/п

Наименование изделия

Артикул

Себестоимость

Цена

 

 

 

 

 

Написать и протестировать функции для поиска изделий по наименованию и по диапазону цен. (Например, цена не превышает K1 руб., но более K2 руб.)

Задание 28. Известны сведения о себестоимости некоторых видов продукции: наименование, Jм – индекс изменения норм расхода на данный вид материальных затрат, Jц – индекс изменения оптовых цен на данный вид, Jп – индекс выпуска продукции, Do – отношение стоимости основных и вспомогательных материалов к выпуску товарной продукции по отчету, Тпп – объем товарной продукции по плану. На основании этих данных может быть вычислена экономия от снижения себестоимости, которая вычисляется по формуле

142

Э = (1 – Jм · Jц) · Dо · Jп · Тпп.

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

Наименование

Jп

Тпп

Э

 

 

 

 

 

 

 

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

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

Наименование

Цена (руб.)

Торговая

Количество

Общая

товара

надбавка (%)

стоимость

 

 

 

 

 

 

 

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

Задание 30. Известны данные о выпускаемой продукции по цехам предприятия: название цеха, отношение стоимости основных и вспомогательных материалов к выпуску продукции по отчету Dо и по плану Dп, объем товарной продукции по плану Тп.

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

 

Отношение стоимости основных и

Объем товарной

Экономия от

Цех

вспомогательных материалов к объему

продукции по

снижения

выпускаемой продукции

плану

себестоимости

 

 

Dп

Тп

Э

 

 

 

 

 

Здесь экономия от снижения себестоимости по каждому цеху вычисляется по формуле: Э = (Dо – Dп) · Тп.

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

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

Месяц

 

Номер бригады

 

Итоговая выработка по

1

2

3

4

месяцам

 

 

 

 

 

 

 

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

143

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

Ф. И. О.

Разряд

Расценки

Количество

Сумма

 

 

 

 

 

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

Дата

Количество произведено

Оплачено

 

 

 

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

Наименование

Ед. измерения

Участок 1

Участок 2

Участок 3

Итого

 

 

 

 

 

 

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

Задание 34. На складе ведется учет наличия товаров. Для подведения итогов месяца есть сведения: наименование товара; количество поступившего и реализованного товара за месяц. Определить структуру для представления этих данных. Разработать функции для ввода данных и вывода в форме оборотной ведомости следующего вида:

Наименование товара

Поступило за месяц

Реализовано за месяц

Разница

 

 

 

 

Написать и протестировать функции, чтобы найти общий приход товара и общий расход, а также для вывода отчета об остатках товара на складе по форме:

Наименование товара

Остаток

 

 

Задание 35. На предприятие поступает сырье разного вида. Учет поступления сырья ведется по следующим позициям: вид сырья (наименование), плановое поступление, фактическое поступление. Определить структуру для представления этих данных. Разработать функции для ввода данных и вывода в форме отчетной ведомости следующего вида:

Вид сырья

Плановое

Фактическое

Процент выполнения

поступление

поступление

плана

 

 

 

 

 

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

Тема 13. Работа в графическом режиме

144

Данная тема включена как дополнительная. Работа в графическом режиме связана с использованием графических библиотек, принципы и содержание которых зависят от среды разработки. Задания этой темы предлагались для разработки в среде программирования Borland C++ 3.1 с использованием BGI графики, которая на данный момент времени устарела. Именно поэтому ее принципы в данном пособии не рассматриваются. Однако, задачи представляют интерес с точки зрения их алгоритмической разработки, и могут решаться в других графических средах. Они интересны еще и потому, что интегрируют знания различных разделов данного курса.

Варианты заданий

Задание 1.

1.Нарисовать и оживить изображение автомобиля.

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

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

Задание 2.

1.Нарисовать и оживить изображение «цыпленок, клюющий зерно».

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

3.В текстовом файле хранятся координаты центров n окружностей на координатной плоскости c заданным радиусом. Прочитать данные из файла в массивы. Изобразить на экране взаимное расположение окружностей. Выделить цветом концентрические окружности.

Задание 3.

1.Нарисовать и оживить изображение «взлет ракеты».

2.Построить графики функций: Y1(x) = x2, Y2(x) = x3, где x=[–2.5, 2.5]. Шаг по

хпринять равным 0,1, но предусмотреть возможность изменения. Применять автоматическое масштабирование.

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

Задание 4.

1. Нарисовать и оживить изображение «извержение вулкана».

145

2.Построить график функции: y(x)=esin(x), где x = [0.2, π], шаг = π /12 . Применять автоматическое масштабирование.

3.В текстовом файле хранятся координаты n точек на координатной плоскости. Прочитать данные из файла в массивы. Изобразить на экране точки. Выделить цветом точки, удовлетворяющие условию x>y.

Задание 5.

1.Нарисовать и оживить изображение физиономии клоуна.

2.Построить график функции: y(x) = x·cos(x) + x·sin(x), где x = [0.2, π], шаг

x= π /12 . Применять автоматическое масштабирование.

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

Задание 6.

1.Нарисовать и оживить изображение «часовой циферблат» (будильник).

2.Построить график функции: y(x) = A·x3+B·x2+C, где x = [–5,+5] с шагом = 1. Значения A, B, C вводить. Применять автоматическое масштабирование.

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

Задание 7.

1.Нарисовать и оживить изображение «домик». Имитировать зажигание света

вокне, дым из трубы.

2. Построить графики функций: y1(x) = x + sin(x), y2(x) = x + cos(x), где

x= [–π,+π] с шагом π / 8. Применять автоматическое масштабирование.

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

Задание 8.

1.Нарисовать и оживить изображение поросенка.

2.Построить улитку Паскаля, которая параметрически задается следующим

образом:

x = a·cos2(t) + b·cos(t),

y = a·cos(t)·sin(t) + b sin(t), где a>0, b>0, t = [0, 2π).

Рассмотреть случаи, когда b > 2a, a < b < 2a, a > b .

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

Задание 9.

146

1.Нарисовать и оживить изображение «Чебурашка».

2.Изобразить кардиоду – кривую, заданную параметрически следующим образом:

x = a·cos(t)· (1 + cos(t)), y = a·sin(t)· (1 + cos(t)),

где a > 0, t = [0, 2π].

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

Задание 10.

1.Нарисовать и оживить изображение «НЛО на фоне звездного неба».

2.Изобразить эпициклоиду – кривую, заданную параметрически следующим образом:

x = (a+b)·cos(t) – a·cos ((a+b)·t / a), y = (a+b)·sin(t) – a·sin ((a+b)·t / a), где a > 0, b > 0.

Рассмотреть два случая:

1) Если b/a – целое положительное число, t = [0, 2π].

2) Если b/a = p/g, где p и g – положительные целые взаимно простые числа, t=[0, 2 g π].

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

Задание 11.

1.Нарисовать и оживить изображение летящей птицы.

2.Изобразить астроиду – кривую, заданную параметрически уравнениями:

x= b·cos3(t),

y= b·sin3(t),

где t=[0, 2π].

3. В текстовом файле хранятся координаты n точек на координатной

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

Задание 12.

1.Нарисовать и оживить изображение «стакан с лимонадом».

2.Построить строфоиду – кривую, которая задана параметрически следующим образом:

147

x = a t2 1 t 2 +1

y = a t

t 2

1

t 2

+1

 

где t = (–∞, +∞), a>0.

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

Задание 13.

1.Нарисовать и оживить изображение «парусник в море».

2.Построить спираль вокруг начала координат с n витками и внешним радиусом r, начальное направление спирали образует с осью 0x угол 1 градус, если параметрическое представление спирали:

x = r·cos(t), y = r·sin(t),

где r = t/2 ,1< = t < =2 π n.

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

Задание 14.

1.Нарисовать и оживить изображение «вращение колеса».

2.Изобразить Циссоиду – кривую, заданную параметрически уравнениями:

x = a t2 1 +t2

y = a t3 1 +t2

где t = (–∞, +∞), a>0.

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

Задание 15.

1.Нарисовать и оживить изображение мыши или хомячка.

2.Изобразить конхоиду Никомеда – кривую, заданную параметрически уравнениями:

x = a + L·cos(t),

y = a· tg(t) + L· sin(t),

где правая ветвь получена для t = (–π/2; +π/2),

148

левая ветвь получена для t = (π/2; 3π ), при a>0, L>0.

2

Рассмотреть случаи, когда L<a, L>a,L = a.

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

Задание 16.

1.Нарисовать и оживить изображение «ветреный день».

2.Изобразить овалы Кассини по их уравнению в полярных координатах:

p2 = c2 cos 2ϕ ± c4 cos2 2ϕ +(a4 c4 )

Рассмотреть случаи, когда a > c 2 >0;0 < c < a < c 2;0 < a < c .

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

Задание 17.

1.Нарисовать и оживить изображение «пляшущие человечки».

2.Построить график функции: y(x) = cos (x–1)+|x|, где x = [–π, +π] с шагом π/8. Применять автоматическое масштабирование.

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

Задание 18.

1.Нарисовать и оживить изображение «растущее дерево».

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

x = (a – b)·cos(t) + d·cos(φ), y = (a – b)·sin(t) – d·sin(φ),

где ϕ = ab t ; и d<b<a.

Угол t меняется от 0 до 2πn, где n равно b, поделенному на наибольший общий делитель чисел b и a.

3. В текстовом файле хранятся координаты n точек на координатной плоскости. Прочитать данные из файла в массивы. Изобразить на экране множество окружностей с центрами в указанных точках и случайными значениями радиусов, выбранных из диапазона 1–200. Выделить различными цветами окружности, радиусы которых больше или меньше 100.

149

Задание 19.

1.Нарисовать и оживить изображение «дерево на ветру».

2.Изобразить усеченный конус, если заданы координаты центров оснований и радиусы оснований. Имитировать вращение вокруг центральной оси.

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

Задание 20.

1.Нарисовать и оживить изображение – рекламу газированной воды.

2.Построить треугольную пирамиду по заданным координатам вершин. Две видимые грани закрасить. Имитировать вращение вокруг высоты.

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

Задание 21.

1.Нарисовать и оживить изображение – рекламу жевательной резинки.

2.Построить параллелепипед по заданным координатам вершин. Две видимые грани закрасить. Имитировать вращение вокруг высоты.

3.Изобразить n усеченных конусов, если координаты центров оснований и радиусы оснований заданы в текстовом файле. Предварительно данные прочитать из файла в массивы.

Задание 22.

1.Нарисовать и оживить изображение «бегущие облака».

2.Изобразить усеченный конус, в основаниях которого эллипсы с радиусами r1

иr2, где r1<r2<=60 . Имитировать вращение вокруг центральной оси.

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

Задание 23.

1.Нарисовать и оживить изображение «крушение самолета».

2.Построить в координатной плоскости (x0y) куб, ребро которого n<=100, закрасить две грани куба. Имитировать вращение вокруг одного из ребер.

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

Задание 24.

1.Нарисовать и оживить изображение «поздравление с новым годом».

2.Построить плоский прямоугольник по заданным координатам вершин. Имитировать вращение вокруг любой из сторон.

3.В текстовом файле хранятся радиусы n окружностей на координатной

150

Соседние файлы в папке Учебники