Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задачи для самостоятельного решения




Просвещение следует внедрять с умеренностью, по возможности избегая кровопролития.

М.Е.Салтыков-Щедрин

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

2.2. Составить программу для вычисления объемов геометрических тел: призмы с треугольным основанием и шара. Использовать струк­туру данных объединение.

2.3. Написать программу для вычисления площади геометрических фигур: треугольника, квадрата, круга. Использовать структуру данных “объединение”.

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

2.5. В магазине по продаже транспортных средств имеются в прода­же велосипеды, автомобили, лодки. Известна цена каждого изделия. Определить: 1) количество двухколесных велосипедов; 2) стоимость всех трехколесных велосипедов; 3) есть ли среди автомобилей "Жигули"; 4) какова общая стоимость моторных лодок; 5) сколько весельных лодок продается с запасными веслами.

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

2.7. В продаже имеются женские украшения с драгоценными камнями и без них. Про каждое изделие известны название и цена, для изде­лий с драгоценными камнями известно название камня и его вес. Оп­ределить: 1) общий вес всех драгоценных камней; 2) стоимость всех украшений; 3) количество украшений с сапфирами.

2.8. В универмаг поступили женские и мужские плащи. Распечатайте товарные ярлыки этих изделий. Товарный ярлык должен содержать на­именование, цену и размер изделия. Размер мужского плаща содер­жит объем груди и рост, размер женского плаща содержит рост, объ­ем груди и объем бедер. Найти: 1) количество товара; 2) стоимость женских плащей; 3) стоимость женских плащей 46 размера; 4) количество мужских курток, которые дороже N рублей и подхо­дят мужчинам выше 180 см.

2.9. В молочный магазин привезли сметану: 1) развесную с указанием общего веса и цены за 1 кг; 2) в упаковке по 250 и 500 г с указанием стоимости упаковки. Определить: 1) общий вес партии товара; 2) количество упаковок по 500 г; 3) стоимость всех упаковок по 250 г.

2.10. Опишите, используя структуру, телефонную книгу, содержащую номера телефонов городских абонентов и иногородних, для которых указан еще и код города. Составьте программу, которая: 1) выдает список абонентов, имеющих телефонный номер, начинаю­щийся на 33; 2) определяет, сколько абонентов живут в Москве.

2.11. Случайно "уронили" два массива. В первом массиве содержа­лась информация о некоторых датах и событиях русской истории, а во втором - о школьном классе (фамилия и инициалы, дата рожде­ния). Массивы "рассыпались" и "перемешались". Составьте програм­му, выдающую: 1) список дат XVIII века; 2) список учеников, рожденных в мае месяце.

2.12. При сдаче норм ГТО в 8А классе были получены результаты забега на 100 метров и прыжков в длину, а в 8Б классе - результаты забега на 100 метров и прыжков в высоту. Определите (задав "собственные" нормы ГТО по этим видам): 1) списки учеников, не выполнивших нормативы; 2) количество учеников 8Б класса, взявших необходимую высоту с первой попытки; 3) длину "общего прыжка" 8А класса.

2.13. Случайно "уронили" два массива. В первом массиве содержа­лась информация о книгах в библиотеке, а во втором - о некоторых датах и событиях русской истории. Массивы "рассыпались" и "пере­мешались". Составьте программу, выдающую: 1) список книг В.Пикуля, хранящихся в библиотеке; 2) список дат XIX века.

2.14. Случайно "уронили" два массива. В первом массиве содержа­лась информация о деревьях (название, количество в штуках), а во втором - о студенческой группе (фамилия и инициалы, пол, дата рожде­ния). Массивы "рассыпались" и "перемешались". Составьте програм­му, выдающую: 1) информацию о самых молодых разнополых студентах группы; 2) упорядоченный по количеству список деревьев.

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

 

Ортогональные списочные структуры

("гирлянды" и "висюльки")

Фрагмент теории

Варкалось. Хливкие шорьки

Пырялись по наве,

И хлюкотали зелюки,

Как мамзюки в мове.

Л.Кэррол, Бармаглот

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

На рисунке, приведенном ниже, приведено графическое представ­ление ортогональных списков:

 

 


Горизонтальный линейный однонаправленный список с заглавным звеном мы будем называть гирляндой. Каждое звено этого списка содержит три поля, причем, если указатель P указывает на звено гирлянды, то:

q поле (*P).Key является информационным полем узла гирлянды;

q поле (*P).Next содержит указатель на следующее звено гирлянды;

q поле (*P).Trail содержит указатель на линейный однонаправленный список с заглавным звеном, который называется висюлькой (английское слово trail переводится как "тащиться, свисать, волочиться").

Звено каждой висюльки содержит два поля: Id и Next, причем, если указатель Q указывает на элемент висюльки, то:

q поле (*Q).Id является информационным полем звена висюльки;

q поле (*Q).Next указывает на следующее звено данной висюльки.

Опишем типы данных:

struct nodeGir //Описание типа звена гирлянды

{

int elem; // Информационное поле звена гирлянды.

nodeVis *vniz; // Указатель на звено висюльки.

nodeGir *sled; // Указатель на звено гирлянды.

};

struct nodeVis //Описание типа звена висюльки

{

int elem; // Информационное поле звена висюльки.

nodeVis *vniz; // Указатель на звено висюльки.

};

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...