Главная страница
Навигация по странице:

  • Задания к лабораторной работе №8 «Обработка строк» Задание общее

  • Задача 1 «Найти и заменить»

  • Задача 2 «Сортировка строки»

  • Задания к лабораторной работе №9 «Структура данных - список» Пример 1

  • Задание

  • Задания к лабораторной работе №10 «Структура данных - дерево»

  • Вариант 1

  • Вариант 3

  • Вариант 5

  • Вариант 7

  • Вариант 9

  • Задание к лабораторной работе №11 «Многопоточная архитектура» Задания общие Задание 1.

  • Задание к лабораторной работе №12-13 «Графический интерфейс пользователя. Графика. Модель обработки событий»

  • Задания к лабораторной работе 7Работа с файловой системой Задание общее


    Скачать 50.68 Kb.
    НазваниеЗадания к лабораторной работе 7Работа с файловой системой Задание общее
    Дата07.11.2022
    Размер50.68 Kb.
    Формат файлаdocx
    Имя файлаZadania_k_laboratornym_rabotamCh2.docx
    ТипДокументы
    #773756

    Задания к лабораторной работе №7«Работа с файловой системой»

    Задание общее
    В файле хранится построчно список фамилий и имен, разделенных пробелом.

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

    Предусмотреть исключительные ситуации

    -отсутствия файла.

    -неверного формата данных

    Задания по вариантам


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

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

    3. Дан файл j, компоненты которого являются действительными числами. Найти наименьшее из значений компонент с четными номерами.

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

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

    6. Дан файл r, компоненты которого являются действительными числами. Найти разность первой и последней компонент файла.

    7. Дан файл p, компоненты которого являются целыми числами. Найти количество удвоенных нечетных чисел среди компонент.

    8. Дан файл u, компоненты которого являются целыми числами. Найти количество квадратов нечетных чисел среди компонент.

    9. Даны символьные файлы f1 и f2. Переписать с сохранением порядка следования компоненты файла f1 в файл f2, а компоненты файла f2—в файл f1. Использовать вспомогательный файл h.

    10. Дан символьный файл t. В файле t не менее двух компонент. Определить, являются ли два первых символа файла цифрами. Если да, то установить, является ли число, образованное этими цифрами, четным.

    11. Дан файл r, компоненты которого являются целыми числами. Получить в файле g все компоненты файла r являющиеся четными числами.

    12. Дан файл t, компоненты которого являются целыми числами. Получить в файле g все компоненты файла t делящиеся на 3 и не делящиеся на 7.


    Задания к лабораторной работе №8 «Обработка строк»

    Задание общее

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

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

    Задача 1 «Найти и заменить»

    1. Заменить русские слова на английские или сделать транслитерацию русских слов

    2. Пользователь вводит текст. Вычислить количество слов, начинающих на «м». Количество слов «Компьютер» или «компьютер», а также количество предложений.

    3. Пользователь вводит текст. Заменить в тексте слова «ПК» на «компьютер», подсчитав их количество.

    4. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово «Иванов И.И.» на «Петров А.А.». Заменить круглые скобки на фигурные, подсчитав их количество.

    5. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово «Pascal» на «Java». подсчитав их количество. Вычислить количество слов «компьютер».

    6. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово«плохо» на «хорошо». Вычислить количество всех слов.

    7. Пользователь вводит текст. Вычислить количество слов, начинающих на«А». Количество слов «мало» или «Мало». Заменить в тексте слова «доллар» на«рубль».

    8. Пользователь вводит текст. Заменить в тексте слова «Максимальный» на«Наибольший». Удалить все слова «Иванов И.И.». вычислить количество предложений.

    9. Пользователь вводит текст. Заменить в тексте слова «кризис» на«проблема», подсчитав их количество. Удалить все слова «компьютер».

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

    11. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово «проблема» на «задача». Удалить все слова «Иванов И.И.».

    12. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово «три» на «удовлетворительно». Вычислить количество слов, начинающихся на «к».

    13. Пользователь вводит текст. Вывести исходный текст, заменив в нем слово«дублирование» на «копирование». Вычислить количество всех слов.

    14. Пользователь вводит текст. Вывести исходный текст. Удалить символы '*'. Заменить все цифра на пробелы.

    Задача 2 «Сортировка строки»

    1. Дана строка текста. Упорядочить по возрастанию символы, расположенные между первым элементом равным ‘?’ и последним элементом равным ‘!”.Предварительно найти, где они находятся.

    2. Дана строка текста. Известно, что в ней есть один символ = ‘&’, найти где он находится и отсортировать по возрастанию символы в строке, расположенные за ним.

    3. Дана строка текста. Известно, что в ней есть один элемент равный ‘a’, найти где он находится и упорядочить по алфавиту элементы, расположенные за этим элементом = ‘a’.

    4. Дана строка текста. Известно, что в ней есть один символ ‘*’, найти где он находится и отсортировать по возрастанию элементы массива, расположенные передним.

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

    6. Дана строка текста. Отсортировать последние 7 символов в строке по алфавиту (или по таблице ASCII).

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

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

    9. Дана строка текста. Известно, что в ней есть один элемент равный ‘*’ и один элемент равный ‘#’. Найти где они находятся, и упорядочить по алфавиту символы, расположенные между ними.

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

    11. Дана строка текста. Найти номер первого элемента равного ‘+’. Упорядочить по убыванию элементы массива расположенные за этим элементом.

    12. Дана строка текста. Отсортировать символы по алфавиту с 4 позиции по 15позицию в строке.

    13. Дана строка текста. Известно, что в ней есть только буквы (прописные и строчные). Переписать во вторую строку только заглавные (прописные) буквы, и затем отсортировать их по алфавиту.

    14. Дана строка текста. Отсортировать первые 7 символов в строке по алфавиту (или по таблице ASCII).

    Задания к лабораторной работе №9 «Структура данных - список»

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



    Пример построения списка с «головы»:

    packagemanual;

    classNode{ // Класс – структура элемента списка

    publicintvalue; // значение

    publicNodenext; // поле – ссылка (указатель) на следующий узел

    Node(int value, Node next) {

    this.value = value;

    this.next = next;

    }}

    public class Manual {

    public static void main(String[] args) {

    // создание несвязанных узлов с помощью конструктора

    Node node0 = newNode(0, null); // 0-й узел – будет головой в списке

    Node node1 = new Node(1, null);

    Node node2 = new Node(2, null);

    Node node3 = newNode(3, null); // последний узел – будет хвостом в списке связывание узлов в список с помощью ссылок

    node0.next = node1;

    node1.next = node2;

    node2.next = node3;

    // вывод списка с использованием вспомогательной переменной ref,

    // соответствующей текущему значению ссылки при прохождении по списку

    Noderef = node0; // для перемещения по списку достаточно помнить голову

    while (ref != null) {

    System.out.print("" + ref.value);

    ref = ref.next; } }}

    Пример 2. Построить односвязный список из 10 элементов, у которых значением поля будет целое число, равное номеру элемента, и вывести значения полей на экран.
    class Node { // описание элемента

    publicint value;

    public Node next;

    Node(int value, Node next) {

    this.value = value;

    this.next = next;

    }}

    public class DSD_create{ // главный класс

    public static void main(String[] args) {

    // создание 1-го узла, который изначально является и головой, и хвостом списка

    Node head=new Node(0, null);

    Nodetail=head;

    // добавление элементов с наращиванием хвоста

    for (inti = 0; i<9; i++) {

    tail.next=new Node(i+1, null);

    tail=tail.next; // указатель на созданный элемент запоминается

    } // как указатель на новый хвост вывод элементов на экран

    Noderef = head; // ref – рабочая переменная для текущего узла

    while (ref != null) {

    System.out.print("" + ref.value);

    ref = ref.next;

    }

    }}
    Задание 1. Выполнить пример 1 данной лабораторной работы. Протестировать с помощью отладчика.

    Задание 2. Создать два проекта, в которых продемонстрировать два способа создания линейного однонаправленного списка (с головы и с хвоста) согласно примеру 2. Работу протестировать с помощью отладчика.


    Задание3. Разработать проект, в котором для односвязного линейного списка создать следующие методы с использованием цикла

    1. проверка на наличие элемента списка

    2. ввод с головы createHead();

    3. ввод с хвоста createTail();

    4. вывод (возвращается строка, сформированная из элементов списка) toString();

    5. добавление элемента в начало списка AddFirst();

    6. добавление элемента в конец списка AddLast();

    7. вставка элемента в список с указанным номером Insert();

    8. удаление элемента с головы списка RemoveFirst();

    9. удаление последнего элемента списка RemoveLast();

    10. удаление из списка элемента с указанным номером Remove();



    Задания к лабораторной работе №10 «Структура данных - дерево»

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

    1. Построение дерева

    2. Включение узла

    3. Удаление узла

    4. Печать дерева в наглядной форме

    5. Сортировка последовательности по возрастанию и убыванию

    6. Поиск элемента в дереве.



    Вариант 1. Исх. числа: 10, 12, 2, 5, 7, 14, 8, 11. Вставить: 3. 13; Удалить: 8. Сортировать по возрастанию.

    Вариант 2 Исх. числа:11, 16, 7, 4, 5, 2, 12, 18, 14. Вставить 6, 13. Удалить: 12. Сортировать по убыванию.

    Вариант 3 Исх. числа:7, 17, 8, 10, 14, 12, 9, 15, 1, 2. Вставить 3, 11. Удалить: 10. Сортировать по убыванию.

    Вариант 4 Исх. числа:13, 2, 15, 4, 1, 6, 14, 3, 18. Вставить 5, 12. Удалить: 3. Сортировать по возрастанию.

    Вариант 5 Исх. числа:13, 8, 15, 12, 18, 0, 9, 16, 14.Вставить 7, 11. Удалить: 9.Сортировать по возрастанию

    Вариант 6 Исх. числа:8, 11, 5, 2, 13, 7, 4, 15, 12, 10. Вставить 3, 9. Удалить: 5. Сортировать по убыванию.

    Вариант 7Исх. числа:18, 13, 25, 2, 14, 8, 1, 16, 28. Вставить 3, 10. Удалить: 8. Сортировать по возрастанию.

    Вариант 8 Исх. числа:14, 5, 29, 18, 0, 8, 17, 20, 19. Вставить 9, 13. Удалить: 18. Сортировать по убыванию.

    Вариант 9 Исх. числа:24, 19, 21, 25, 8, 18, 26, 4, 23. Вставить 9, 13. Удалить: 21. Сортировать по убыванию.

    Вариант 10 Исх. числа:6, 29, 20, 15, 5, 28, 36, 2, 22. Вставить 7, 13. Удалить: 15. Сортировать по возрастанию.

    Задание к лабораторной работе №11 «Многопоточная архитектура»

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

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

    • Основной поток раз в указанное количество микросекунд выводит массив на стандартный вывод. Подпотоки раз в указанное количество микросекунд выполняют своё действие, блокируя на время своей работы доступ к общему ресурсу.

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



    Задание к лабораторной работе №12-13 «Графический интерфейс пользователя. Графика. Модель обработки событий»

    Вариант 1. Измеритель. Разработать приложение для младших школьников, позволяющее изучить тему «Измерение длин отрезков, сантиметры, дециметры». Создать виртуальную линейку. Сгенерировать случайный графический объект. Вывести его на экран. Выдать задание ученику для закрепления умений пользоваться линейкой. С помощью виртуальной линейки ученик измеряет заданный параметр и выводит ответ на задание (Например, длина стороны этого квадрата в см). Ответ ученика оценивается.

    Вариант 2. Обозреватель графики. Разработать приложение «Обозреватель графических файлов». Реализовать загрузку файлов и их сохранение (сохранить как). Уменьшение размеров (ширина высота) файла. Вывод 2-3 окон в ряд, с разными загруженными изображениями.


    написать администратору сайта