Лабораторные работы по Архитектуре ЭВМ
Создать хранилище в оперативной памяти для хранения информации о детях.
Необходимо хранить информацию о ребенке: фамилия и возраст.
Необходимо обеспечить уникальность фамилий детей.
Реализовать функции:
-
CREATE READ UPDATE DELETE для детей в хранилище
-
Получение среднего возраста детей
-
Получение информации о самом старшем ребенке
-
Получение информации о детях, возраст которых входит в заданный отрезок
-
Получение информации о детях, фамилия которых начинается с заданной буквы
-
Получение информации о детях, фамилия которых длиннее заданного количества символов
-
Получение информации о детях, фамилия которых начинается с гласной буквы
Создать хранилище в оперативной памяти для хранения информации о студентах.
Необходимо хранить информацию о студенте: название группы, номер студенческого билета, оценки по программированию.
Необходимо обеспечить уникальность номеров студенческих билетов.
Реализовать функции:
-
CREATE READ UPDATE DELETE для студентов в хранилище
-
Получение средней оценки заданного студента
-
Получение информации о студентах в заданной группе
-
Получение студента, у которого наибольшее количество оценок в заданной группе
-
Получение студента, у которого нет оценок
Создать хранилище в оперативной памяти для хранения точек.
Неоходимо хранить информацию о точке: имя точки, позиция X и позиция Y.
Необходимо обеспечить уникальность имен точек.
Реализовать функции:
-
CREATE READ UPDATE DELETE для точек в хранилище
-
Получение двух точек, между которыми наибольшее расстояние
-
Получение точек, находящихся от заданной точки на расстоянии, не превышающем заданную константу
-
Получение точек, находящихся выше / ниже / правее / левее заданной оси координат
-
Получение точек, входящих внутрь заданной прямоугольной зоны
Создать класс Точка.
Добавить классу точка Точка метод инициализации полей и метод вывода полей на экран
Создать класс Отрезок.
У класса Отрезок должны быть поля, являющиеся экземплярами класса Точка.
Добавить классу Отрезок метод инициализации полей, метод вывода информации о полях на экран, а так же метод получения длины отрезка.
Создать класс Треугольник.
Класс Треугольник должен иметь поля, хранящие длины сторон треугольника.
Реализовать следующие методы:
-
Метод инициализации полей
-
Метод проверки возможности существования треугольника с такими сторонами
-
Метод получения периметра треугольника
-
Метод получения площади треугольника
-
Метод для проверки факта: является ли треугольник прямоугольным
Реализовать программу, в которой происходят следующие действия:
Происходит вывод целых чисел от 1 до 10 с задержками в 2 секунды.
После этого происходит вывод от 11 до 20 с задержками в 1 секунду.
Потом опять происходит вывод чисел от 1 до 10 с задержками в 2 секунды.
После этого происходит вывод от 11 до 20 с задержками в 1 секунду.
Это должно происходить циклически.
С клавиатуры считывается число N. Далее считывается N строк. Необходимо создать массив и сохранять в него строки только с четной длинной. Получившийся массив необходимо преобразовать в строку JSON и сохранить в файл.
Необходимо считать содержимое файла, в котором хранится массив строк в формате JSON. Нужно вывести только те строки на экран, в которых содержатся только гласные буквы.
С клавиатуры считывается строка - название расширения файлов. Далее считывается строка - адрес папки. Необходимо перебрать все файлы в папке и вывести содержимое файлов, у которых расширение совпадает с введенным расширением.
Дана вложенная структура файлов и папок. Все файлы имеют раширение "txt". Необходимо рекурсивно перебрать вложенную структуру и вывести имена файлов, у которых содержимое не превышает по длине 10 символов.
С клавиатуры считывается число N. Далее считывается N строк - имена текстовых файлов. Необходимо склеить всё содержимое введенных файлов в одну большую строку и сохранить в новый файл.
Написать код, который позволяет определить максимальный возможный уровень вложенности друг в друга полей в объекте, чтобы данный объект можно было преобразовать в строку формата JSON. Ответом является целое число.
Из файла считывается строка в формате JSON. В этой строке информация об объекте, в котором находится большое количество вложенных друг в друга полей. Объект представляет из себя дерево. Необходимо рекурсивно обработать дерево и найти максимальную вложенность в дереве. Необходимо вывести на экран ветку с максимальной вложенностью.
Запустить сервер. Реализовать на сервере функцию для сравнения трёх чисел и выдачи наибольшего из них. Реализовать страницу с формой ввода для отправки запроса на сервер.
Запустить сервер. На стороне сервера должен храниться файл, внутри которого находится JSON строка. В этой JSON строке хранится информация о массиве объектов. Реализовать на сервере функцию, которая принимает индекс и выдает содержимое ячейки массива по данному индексу. Реализовать страницу с формой ввода для отправки запроса на сервер.
Написать программу, которая на вход получает массив названий полей и адрес запроса (куда отправлять). Программа должна генерировать HTML разметку страницы, в которую встроена форма для отправки запроса.
Запустить сервер. Реализовать на сервере функцию, которая принимает на вход числа A, B и C. Функция должна выдавать массив целых чисел на отрезке от A до B, которые делятся на C нацело.
Создать сервер. Сервер должен выдавать страницу с тремя текстовыми полями и кнопкой. В поля ввода вбивается информация о почте, фамилии и номере телефона человека. При нажатии на кнопку "Отправить" введённая информация должна отправляться с помощью POST запроса на сервер и добавляться к концу файла (в файле накапливается информация). При этом на стороне сервера должна происходить проверка: являются ли почта и телефон уникальными. Если они уникальны, то идёт добавление информации в файл. В противном случае добавление не происходит. При отправке ответа с сервера клиенту должно приходить сообщение с информацией о результате добавления (добавилось или не добавилось). Результат операции должен отображаться на странице.
Добавить серверу возможность отправлять клиенту ещё одну страницу. На данной странице должно быть поле ввода и кнопка. В поле ввода вводится почта человека. При нажатии на кнопку "Отправить" на сервер отправляется GET запрос. Сервер в ответ на GET запрос должен отправить информацию о человеке с данной почтой в формате JSON или сообщение об отсутствии человека с данной почтой.
Оформить внешний вид созданных страниц с помощью CSS. Информация со стилями CSS для каждой страницы должна храниться в отдельном файле. Стили CSS должны быть подключены к страницам.
Создать сервер. В оперативной памяти на стороне сервера создать массив, в котором хранится информация о компьютерных играх (название игры, описание игры, возрастные ограничения). Создать страницу с помощью шаблонизатора. В url передаётся параметр возраст (целое число). Необходимо отображать на этой странице только те игры, у которых возрастное ограничение меньше, чем переданное в url значение.
Создать сервер. В оперативной памяти на стороне сервера создать массив, в котором хранится информация о пользователях (логин, пароль, хобби, возраст). На основе cookie реализовать авторизацию пользователей. Реализовать возможность для авторизованного пользователя просматривать информацию о себе.
Создать сервер А. На стороне сервера хранится файл с содержимым в формате JSON. При получении запроса на /insert/record идёт добавление записи в файл. При получении запроса на /select/record идёт получение записи из файла. Каждая запись хранит информацию о машине (название и стоимость).
Создать сервер Б. На стороне сервера хранится файл с содержимым в формате JSON. Каждая запись в файле хранит информацию о складе и массиве машин, находящихся на данном складе. То есть каждая запись хранит в себе название склада (строку) и массив названий машин (массив строк). При получении запроса на /insert/record идёт добавление записи в файл. При получении запроса на /select/record идёт получение записи из файла.
Создать сервер C. Сервер выдаёт пользователю страницы с формами для ввода информации. При этом сервер взаимодействует с серверами А и Б. Реализовать для пользователя функции:
- создание нового типа машины
- получение информации о стоимости машины по её типу
- создание нового склада с находящимися в нём машинами
- получение информации о машинах на складе по названию склада
Реализовать удобный для пользователя интерфейс взаимодействия с системой (использовать поля ввода и кнопки).
Написать скрипт, который принимает на вход число и считает его факториал. Скрипт должен получать параметр через process.argv.
Написать скрипт, который принимает на вход массив чисел и выводит на экран факториал каждого числа из массива. Скрипт принимает параметры через process.argv.
При решении задачи вызывать скрипт вычисления факториала через execSync.
С клавиатуры считываются числа A и B. Необходимо вывести на экран все числа Фибоначчи, которые принадлежат отрезку от A до B.