Составить программу моделирования паркетов из ромбов

Обновлено: 27.04.2024

Задание 1. Составить программу моделирования паркетов из:

Задание 2. Разработайте программу для построения четырех различных графиков функций (y = x 3 , y= e x , y = ln(x), y = sqrt (x)).

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

Библиографический список

Касторнов А.Ф. Методическое пособие по курсу "Алгоритмический язык Паскаль". - Череповец, 1995.

Касторнова В.А. Демонстрационно-обучающий курс “Алгоритмический язык Паскаль”. Эл.ресурс. - Череповец, 1995.

Касторнова В.А. Методика использования демонстрационно-обучающего курса “Алгоритмический язык Паскаль”: Учебно- методической пособие. - Череповец, 1998.-51с.

Немнюгин С.А. Turbo Pascal: Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2007.

Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2004.

Ставровский А.Б. Турбо Паскаль 7.0: Учебник для вузов. – Киев, 2001.

Фаронов В.В. Система программирования Delphi. – СПб., 2006.

Касторнов А.Ф., Евстратова Г.А. Язык программирования Паскаль: Учебное пособие. – Череповец: ГОУ ВПО «Череповецкий государственный университет», 2010.

Аляев Ю.А., Козлов О.А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. — М.: Финансы и статистика, 2004. — 320 с: ил.

Аляев Ю.А. и др. Практикум по алгоритмизации и программированию на языке Паскаль: Учеб. пособие / Ю.А. Аляев, В.П. Гладков, О.А. Козлов. — М.: Финансы и статистика, 2004. — 528 с: ил.

Касторнов А.Ф., Касторнова В.А. Практикум по программированию на языке Паскаль. Учебно-методическое пособие. - М.: ИИО РАО, 2011. - 110 с.

1. Общая характеристика языков программирования 4

1.1. Языки программирования 4

1.2. Трансляторы 5

1.3. История создания языков 6

1.4. Базовые структуры языков программирования 8

2. Описание языка Паскаль 10

2.1. Основные объекты языка 10

2.2. Структура Паскаль-программы 12

2.3. Типизация данных 14

2.4. Объявление данных 16

3. Простые операторы. Ввод/вывод данных 19

3.1. Оператор присваивания и выражения 20

3.2. Операторы вызова процедур. Ввод/вывод данных 23

3.2.1. Процедуры ввода READ и READLN 23

3.2.2. Процедуры вывода WRITE и WRITELN 25

4. Структурные операторы. Организация ветвлений и циклов 28

4.1. Составной и пустой операторы 28

4.2. Организация ветвлений. Операторы выбора 30

4.2.1. Оператор ветвления IF 30

4.2.2. Оператор варианта CASE 33

4.3. Организация циклов. Операторы повторения 35

4.3.1. Оператор WHILE 35

4.3.2. Оператор REPEAT 37

4.3.3. Оператор FOR 39

5. Организация подпрограмм. Процедуры и функции 42

5.1. Процедуры и их типизация 42

5.1.1. Встроенные процедуры 44

5.1.2. Процедуры пользователя 45

5.1.3. Процедуры без параметров 46

5.1.4. Фактические и формальные параметры 47

5.1.5. Локальные и глобальные переменные 49

5.1.6. Процедуры с параметрами-значениями 50

5.1.7. Процедуры с параметрами-переменными 53

5.1.8. Комбинированные процедуры 54

5.2. Функции пользователя. Рекурсивные функции 57

5.2.1. Определение функции 57

5.2.2. Функции пользователя 59

5.2.3. Рекурсивные функции 60

6. Массивы. Данные типа ARRAY 64

6.1. Одномерные массивы 65

6.2. Многомерные массивы 67

6.3. Способы работы с массивами 68

7. Обработка литерных величин. Данные типа CHAR и STRING 70

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

image

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

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

На примере задачи «Моделирование паркета» рассмотрим этапы создания на компьютере меню типовых совместимых деталей и конструирование из них.

ЗАДАЧА 1.10. Моделирование паркета

I этап. Постановка задачи

ОПИСАНИЕ ЗАДАЧИ

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

Эскизы этих паркетов создали великие зодчие. А реализовали их идеи мастеровые-паркетчики.

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

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

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

ЦЕЛЬ МОДЕЛИРОВАНИЯ

Разработать эскиз паркета.

ПРОМЕЖУТОЧНЫЕ ЦЕЛИ

Разработать набор стандартных деталей паркета (рисунок 1.9). Разработать стандартный паркетный блок из деталей.

image

ФОРМАЛИЗАЦИЯ ЗАДАЧИ

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

II этап. Разработка модели

ИНФОРМАЦИОННАЯ МОДЕЛЬ

КОМПЬЮТЕРНАЯ МОДЕЛЬ

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

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

МОДЕЛЬ 1. Моделирование геометрических объектов с заданными свойствами для создания стандартного набора деталей паркета с совместимыми размерами

Полный набор деталей, необходимых для моделирования (рисунок 1.10), создайте самостоятельно, используя возможности поворотов и отражений фрагментов. Для создания квадрата, наклоненного на 60° и 30°, используйте собственный алгоритм.

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

image

МОДЕЛЬ 2. Моделирование паркетного блока

Созданное меню сохраните в файле «Меню паркета» и защитите от записи.

Количество деталей в паркетном блоке зависит от размера стороны многоугольника.

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

image

МОДЕЛЬ 3. Компоновка паркета из созданных блоков

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

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

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

image

Ill этап. Компьютерный эксперимент

ПЛАН ЭКСПЕРИМЕНТА

1. Тестирование стандартного набора деталей — проверка совместимости.

2. Разработка паркетного блока.

3. Тестирование блоков — проверка их совместимости.

4. Моделирование эскизов паркета.

ПРОВЕДЕНИЕ ИССЛЕДОВАНИЯ

1. Разработайте несколько вариантов паркетного блока и эскизов паркета.

2. Предложите их на выбор заказчику.

IV этап. Анализ результатов

Если вид объекта не соответствует замыслу заказчика, вернуться к одному из предыдущих этапов: разработать другой набор деталей, или выбрать другие детали из набора, или создать другой блок из выбранных деталей.

Если вид паркета удовлетворяет исполнителя и (или) заказчика, принимается решение о разработке чертежей в реальном масштабе и подборе материалов.

ЗАДАЧА 1.11. Компьютерное конструирование из мозаики. Создание меню мозаичных форм

Как вы уже узнали из предыдущих тем, в графическом редакторе возможно конструирование.

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

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

Где еще используется моделирование (конструирование) из набора плоских деталей, подобных элементам паркета или мозаики? Все вы видели картонных кукол, у которых меняются платья, брюки и шляпки. Это своеобразный «набор юного модельера». Подобным моделированием занимаются не только дети, но и взрослые.

image

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

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

На рисунке 1.13 изображен алгоритм создания одного из таких меню.

ЗАДАЧА 1.12. Создание геометрических композиций из готовых мозаичных форм

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

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

Орнамент начинают «выстраивать» из центра и дальше строят в произвольном порядке. При этом главным условием является соблюдение симметрии.

На рисунке 1.14 представлены образцы орнаментов.

image

Орнаментальная мозаика уместна для одеяла, диванной подушки, детского коврика, витража. Компьютер позволит вам не только многократно переделывать узор, но и экспериментировать с готовым узором, раскрашивая его по-разному.

Сюжетная композиция представляет собой какую-либо сценку и содержит некоторые объекты, очертания которых предстоит реализовать из стандартного набора мозаичных элементов. Поэтому эту задачу можно отнести к типу «как сделать, чтобы. ». Например, при моделировании композиции «Под водой» для ванной комнаты придется создать объекты подводного мира: рыбок, водоросли и т. п. На рисунке 1.15 даны варианты изображения очертаний этих объектов.

image

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

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

Например, программу рисования ряда из пяти ромбов (рис. 71) с помощью конструкции повторения можно записать так:
использовать Чертежник
алг ряд ромбов
нач
сместиться в точку (1,2)
нц 5 раз
опустить перо
сместиться на вектор (1, 2)
сместиться на вектор (1, -2)
сместиться на вектор (-1, -2)
сместиться на вектор (-1, 2)
поднять перо
сместиться на вектор (3, 0)

кц
кон

image

Рисование ромба можно оформить в виде вспомогательного алгоритма:
алг ромб
нач
сместиться на вектор (1, 2)
сместиться на вектор (1, -2)
сместиться на вектор (-1, -2)
сместиться на вектор (-1, 2)
кон

Тогда основной алгоритм будет выглядеть так:
использовать Чертежник
алг ряд ромбов_1
нач
сместиться в точку (1,2)
нц 5 раз
опустить перо
ромб
поднять перо
сместиться на вектор (3, 0)

кц
кон

В общем виде конструкция повторения записывается так:

нц раз

кц

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

Предложите вариант решения задачи о почтовом индексе Красноярска с использованием конструкции повторения.

Можно ли обойтись без вспомогательного алгоритма в следующих ситуациях (рис. 72)?

image


Следующая страница Вопросы и задания


Cкачать материалы урока

image

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

Очень распространенной объемной конструкцией является форма кирпичика с отношением сторон 4:2:1. Такую форму имеют строительные блоки, элементы мебельных гарнитуров. Можно попробовать себя в дизайне собственного жилья, не занимаясь передвижением мебели, а двигая кирпичики на экране в трехмерном эскизе комнаты (рисунок 1.16).

Как и любая задача конструирования, эта задача распадается на три:
♦ создание меню готовых форм;
♦ конструирование типа «ч/по будет, если. »;
♦ конструирование типа «как сделать, чтобы. ».

image

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

image

Если использовать возможности поворотов фрагментов рисунка на 90° и отражения их, то достаточно построить всего три положения.

Построить меню кирпичиков и сохранить в файле с таким же названием.

Защитить его от записи.

ЗАДАЧА 1.14. Конструирование из кирпичиков по общему виду

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

image

ЗАДАЧА 1.15. Моделирование расстановки мебели

Пользуясь созданными моделями мебели, расставить ее в объемном плане комнаты с целью увеличения свободного пространства. При создании комнаты использовать кирпичик, размеры которого пропорциональны 100:50:25 см.

ЗАДАЧА 1.16. Моделирование объемных конструкций из кирпичиков по трем проекциям

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

Создать из кирпичиков объемные конструкции, представленные на рисунке 1.19 (а, б, в) тремя проекциями.

image

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

1.17. Построение трех проекций по общему виду объекта.

Создать меню проекций кирпичиков. Меню представлено на рисунке 1.20.

image

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

1.18. Моделирование из строительного конструктора.

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

image

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

Написать программу моделирования паркетов из прямоугольных треу­гольников.

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

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

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

Разработайте программу моделирования паркетов из параллелограммов.

Разработайте программу моделирования паркетов из ромбов

Разработайте программу моделирования паркетов из трапеций.

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

Разработайте программу моделирования паркетов из неправильных многоугольников.

10. Разработайте программу моделирования муаровых узоров из семейств полиномов третьего порядка.

11. Разработайте программу моделирования муаровых узоров из семейств парабол.

12. Разработайте программу построения пяти графиков заданных функций.

13. Постройте линии уровня для функции z = f(х,у).

14. Разработайте программу построения гистограмм и диаграмм.

15. Разработайте программу изображения поверхности как функции двух переменных.

Глава 9. Динамическая память и связанные динамические структуры

Разместить в «куче» одно целое и одно вещественное число. Вывести на экран их сумму.

Задание 9.2.**

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

Задание 9.3.***

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

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

Разместить в статической памяти 2 целых числа и в динамической памяти 2 вещественных числа. Показать на экране их сумму.

Задание 9.6.**

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

Задание 9.7.*

Создать очередь из 3-х строковых элементов. Вывести 2-ого на экран.

Задание 9.8.*

Создать очередь из 3-х вещественных элементов. Вывести на экран последний элемент.

Задание 9.9.**

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

Задание 9.10.**

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

Задание 9.11.*

Разместить в динамической памяти массив из 500 случайных чисел и вывести на экран

Задание 9.12.****

Создать список из N элементов, помещая элементы в конец списка. Затем следующие M элементов внести после 2,4,6,10 и т.д. элемента, а остальные R элементов - в начало списка. Распечатать список.

Задание 9.14.**

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

Задание 9.15.**

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

Задание 9.16.**

Установить в циклический односвязный список 5 целочисленных элементов, а затем вывести список на экран.

Задание 9.17.**

Установить в кольцевой список 6 символьных элементов. Добавить символ "f" после символа "F", если он существует.

Задание 9.18.**

Установить 5 целочисленных элементов в кольцевой список. Добавить к четным элементам по 1. Список вывести на экран.

Задание 9.19.*

Установить в двусвязный список 7 элементов типа запись. Вывести список на экран в обратной последовательности.

Здание 9.20.**

Установить в двусвязный список 5 вещественных элементов. Удалить из списка 4й элемент.

Задание 9.21.*

Установить в двусвязный список 5 вещественных элементов. Добавить в список элемент после 3го.

Задание 9.22.**

Установить в очередь 6 символьных элементов. Вывести на экран только цифры

Задание 9.23.***

Установить в односвязный список 6 целых элементов. Добавить "0" после каждого четного элемента, если такие есть.

Задание 9.24.**

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

Задание 9.25.**

Программа размещает в динамической памяти массив произвольной длины в виде односвязного списка. Значения элементов списка вводить с клавиатуры. Список вывести на экран. Программа удаляет элемент, номер которого укажет пользователь. Измененный массив программа вновь выводит на экран.

Задание 9.26.**

Программа размещает в динамической памяти массив произвольной длины в виде односвязного списка. Список вывести на экран. Значения элементов списка вводить с клавиатуры. Программа заменяет элемент, номер которого укажет пользователь на новое значение, также полученное от пользователя. Измененный массив программа вновь выводит на экран.

Задание 9.27.*

Создать очередь из 4-х вещественных элементов. Вывести очередь на экран, окрашивая все положительные числа в зеленый цвет.

Задание 9.28.**

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

Задание 9.29.***

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

Задание 9.30.*

Разместить в статической памяти 2 целых числа и в динамической памяти 2 строки. Показать на экране сумму 2-х чисел и слияние 2-х строк.

Задание 9.31.**

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

Задание 9.32.*

Разместить в динамической памяти вещественный массив из 10 элементов и распечатать его в обратной последовательности.

Задание 9.33.**

Запросить у пользователя имя файла, считать с него массив из 20 и разместить в динамической памяти, вывести на экран массив сначала в прямой, а потом в обратной последовательности.

Задание 9.34.**

Запросить у пользователя имя файла, считать с него массив из 10 и разместить его в динамической памяти. Все элементы под четными номерами переписать в файла, имя которого запросить у пользователя. Вывести на экран массив и компоненты нового файла.

Задание 9.35.***

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

Задание 9.36.*

Установить в очередь 3 целых числа

Задание 9.37.**

Установить в очередь n чисел, где n задает пользователь.

Задание 9.38.**

Устанавливать в очередь целые числа как это нужно пользователю.

Задание 9.39.*

Установить в очередь 3 записи с полями «фамилия» и «возраст» и вывести 3 элемента очереди на экран.

Задание 9.40.**

Установить в очередь 3 записи с полями «фамилия», «возраст». Добавить по желанию пользователя запись или удалить.

Задание 9.41.*

Установить в односвязный список 10 целых чисел и вывести на экран только отрицательные.

Задание 9.42.*

Установить в односвязный список 10 целых чисел и вывести на экран только положительные.

Задание 9.43.*

Добавить в односвязный список из 5 элементов новый элемент между 3 и 4 элементом списка, вывести на экран список до и после добавления

Задание 9.44.**

Добавить в уже существующий односвязный список новые элементы после каждых четных элементов.

Программа создает односвязные список из 10-и целых и с помощью процедуры удаляет элемент с заданным номером.

Задание 9.46.***

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

Задание 9.47.***

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

Задание 9.48.*

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

Задание 9.49.**

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

Задание 9.50.**

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

Задание 9.51.**

Имеется односвязный список с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры добавить после указанного номера число 5

Задание 9.52.**

Имеется односвязный список с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры удалить после указанного номера один элемент.

Задание 9.53.**

Поменять местами в двусвязном списке первый и последний элементы

Задание 9.54.**

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

Задание 9.55.**

Имеется односвязный список. Распечатать в прямом порядке. Заменить все элементы списка с отрицательной информационной частью на нули и снова распечатать

Задание 9.56.**

Имеется двусвязный список. С помощью одной процедуры распечатать его в прямом порядке, с помощью другой – в обратном.

Задание 9.57.***

Отсортировать односвязный список методом пузырька

Задание 9.58.**

Имеется двусвязный список с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры удалить после указанного номера один элемент

Задание 9.59.**

Имеется двусвязный список с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры добавить после указанного номера два числа 5.

Задание 9.60.*

Разместить вещественный массив из 100 элементов в динамической памяти и распечатать его в прямой последовательности.

Задание 9.61.**

Запросить у пользователя имя файла, считать с него массив и разместить его в динамической памяти, после чего вывести на экран в обратной последовательности

Задание 9.62.**

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

Задание 9.63.*

Разместить в «куче» вещественный масив из 10 случайных элементов и распечатать его в обратной последовательнтости.

Задание 9.64.**

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

Задание 9.65.**

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

Задание 9.66.**

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

Задание 9.67.**

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

Задание 9.68.**

Имеется односвязный список из целых элементов с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры добавить перед указанным номером число 15.

Задание 9.69.*

Имеется односвязный список с началом в указателе beg. Запросить у пользователя номер элемента и с помощью процедуры удалить после указанного номера один элемент.

Задание 9.70.***

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

Задание 9.71.**

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

Задание 9.72.**

Имеется односвязный список. Распечатать в прямом порядке. Заменить все элементы списка с отрицательной информационной частью на нули и снова распечатать.

Задание 9.74.****

Отсортировать односвязный список методом «вставки».

Задание 9.75.**

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

Задание 9.76.*

Написать программу, которая приведет к следующей ситуации:


Задание 9.77.***

Задание 9.78.**

Задание 9.79.***

Задание 9.80.***

Вставлять указанные пользователем элементы после каждого символа «*» в очереди, которая состоит из символов.

Задание 9.81.**

Задание 9.82.***

Задание 9.83.**

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

Задание 9.84.*

Программа вводит целые числа с клавиатуры и размещает их в виде массива размером 20 элементов в «куче». Программа находит max и ср. арифм. и выводит их на экран.

Задание 9.85.*

Программа вводит с клавиатуры 2 целых числа и 2 вещественных числа и размещает их в «куче». Программа находит сумму и ср. арифметическое всех чисел и выводит результат на экран.

Задание 9.86.***

Задание 9.87.**

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

Задание 9.88.**

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

Задание 9.89.*

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

Задание 9.90.*

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

Задание 9.91.*

Написать программу, которая приведет к следующей ситуации:


Задание 9.92.*

Написать программу, которая приведет к следующей ситуации:


Задание 9.93.*

Написать программу, которая приведет к следующей ситуации:


Задание 9.94.**

Написать программу, которая приведет к следующей ситуации:


Задание 9.95.**

Написать программу, которая приведет к следующей ситуации:


Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Читайте также: