Мегаобучалка Главная | О нас | Обратная связь


Лабораторная работа №1-Класс куба для консоли:



2019-05-24 746 Обсуждений (0)
Лабораторная работа №1-Класс куба для консоли: 0.00 из 5.00 0 оценок




ФИЗИКО-МАТЕМАТИЧЕСКАЯ ШКОЛА

на общественных началах при МГТУ им. Н. Э. Баумана


 

Лабораторные работы по курсу “Информатика и программирование”

2019, Миронов С.

 

 


Семестр 2

Лабораторная работа №1-Класс куба для консоли:

Написать класс квадрата Square, в котором будут храниться значения длины его стороны H и координат X и Y, которые мы можем изменять с помощью соответствующих методов, который может сам отрисоваться в консоли с помощью метода print() в своих координатах X и Y.

Дополнительно: реализовать управление этим квадратом с клавиатуры, как это сделать я объяснял в прошлом семестре 

P.S. неплохо бы в методах изменения делать проверку размеров квадрата и его координат, ограничить их, чтобы он влезал в консоль, и выводить ошибку если параметры не верные

 

2. Олимпиадные задачи(Не связано с ООП, для тех кому интересно порешать задачи посложнее, дополнительные плюсы в семестре):

2.1. Петя сложил из кубиков пирамидку, подобную изображенной на рисунке внизу. На верхнем уровне пирамидки лежит один кубик, на втором сверху уровне – 3 кубика в форме прямоугольного треугольника с катетами из 2 кубиков, на третьем уровне – 6 кубиков в форме прямоугольного треугольника с катетам, сложенными из 3 кубиков и т.д. Общая высота пирамидки равна n кубиков. На рисунке приведено изображение пирамидки высоты 4 и нарисованы все ее уровни. Всего пирамидка высоты 4 состоит из 1+3+6+10=20 кубиков.

 

 


 

 

2.2. В связи с реформой образования в тридесятом царстве был введен новый предмет, на котором изучаются различные альтернативные науки. Одной из таких наук является странная математика. Ее основное отличие от обычной математики в том, что числа в ней упорядочены не по возрастанию, а лексикографически, то есть как в словаре (сначала по первой цифре, затем, при равной первой цифре – по второй, и так далее). Кроме того, рассматривается не бесконечное множество натуральных чисел, а лишь первые n чисел. Так, например, если n=11, то числа в странной математике оказываются упорядочены следующим образом: 1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9.         

 

Помогите ученикам в изучении этой науки – напишите программу, которая по заданному n находит место заданного числа k в порядке, определенном в странной математике. Например, если n=11 и k=2, программа должна выдать в качестве ответа 4.

 

2.3. В фирме, выпускающей компьютерные комплектующие, все изделия получают последовательные номера от 1 до N. Каждое изделие после его изготовления поступает в отдел контроля качества, где оно проверяется, и либо уходит в продажу, либо заносится в список бракованных изделий и списывается. К сожалению, список бракованных изделий иногда оказывается чересчур длинным. Тогда для его сокращения подряд идущие числа заменяются интервалом: через тире указываются номера первого и последнего изделия интервала. Например, вместо 1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24 записывается 1,3-8,10,12,16-17,20-24

 

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

 

Вводится сначала число N - общее количество изделий. Затем число M - количество изделий, оказавшихся бракованными. Далее вводятся в возрастающем порядке номера бракованных изделий.

 

3. Лабораторная работа №2-Наследование:

3.1.  Создать класс геометрической фигуры Figure с виртуальным методом для вычисления площади фигуры.

3.2. Добавить классы для 3х геометрических фигур (“Треугольник”, “Прямоугольник”, “Круг”), содержащих private поля с параметрами фигур (Треугольник-длину основания и высоту; Прямоугольник- длины сторон; Круг- радиус) В каждом из классов реализовать метод подсчета площади фигуры.

3.3. Наследовать все 3 класса из задания 3.2 от Figure. Добавить класс “Квадрат”, который наследуется от класса “Прямоугольник”.

3.4. Для всех 4х фигур из задания 1.2 реализовать конструктор с параметром для определения полей класса.

 

4. Лабораторная работа №3-String, конструкторы, перегрузка:

4.1. В этой лабораторной нужно самостоятельно реализовать основные возможности класса String(содержит поле int size для хранения размера и поле char *str для указателя на C-строку символов). Для него необходимо описать конструктор, который принимает на вход C-style строку, вычисляет ее размер (без учета завершающего 0 символа) и сохраняет его в поле size, кроме того, конструктор должен выделять память достаточную для хранения копии переданной строки (вместе с завершающим 0 символом), копирует переданную строку в выделенную память и сохраняет указатель на начало этой области памяти в поле str.

4.2. Для класса String реализовать заполняющий конструктор. Заполняющий конструктор принимает число и символ, и создает строку с заданным количеством повторений переданного символа. Например:

String s(10, ‘A’) // строка s теперь хранит 10 символов A

4.3. Для класса String реализовать деструктор.

4.4. В классе String перегрузить оператор вывода в консоль <<.

4.5. Перегрузить оператор индексации [] для класса String для получения буквы по заданному индексу


 

5. Лабораторная работа №4-Консольный аквариум:

5.1. Определите класс Fish - аквариумная рыбка. Рыбка имеет поля: координата, скорость, цвет, направление движения. Методами объекта являются:

· Getterы и Setterы, чтобы получать и устанавливать значение полей.

· Конструктор - устанавливает значения полей объекта и рисует рыбу на экране методом Draw.

· Draw - рисует рыбу (виртуальный метод).

· Run - перемещает рыбу в текущем направлении на расстояние, зависящее от текущей скорости рыбы. Иногда случайным образом меняет направление движения рыбы.

 

5.2. Определите класс Aquarium, который является местом обитания рыб. Он представляет собой область экрана, наполненную водой(сменить цвет фона), скалами(из символов например), хранит массив рыбок Fish, которые в нем плавают. Методы:

· AddFish – добавляет рыбку в массив рыб аквариума, чтобы потом ее отрисовывать

· Run - организует бесконечный цикл, в котором выполняется метод Run и Draw всех обитателей аквариума.

5.3. (более сложное)Определите два класса Shark и Karp, которые наследуются от Fish

 

Karp – обычные рыбы, рандомно плавают, если встречают другого карпа размножаются, появляется новый Karp в аквариуме

 

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


 



2019-05-24 746 Обсуждений (0)
Лабораторная работа №1-Класс куба для консоли: 0.00 из 5.00 0 оценок









Обсуждение в статье: Лабораторная работа №1-Класс куба для консоли:

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (746)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)