В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
milankae
milankae
15.03.2022 09:38 •  Информатика

Имеется N аудиокассет. Про каждую известно: количество (до 20) записанных на ней песен или композиций, название и продолжительность (в минутах) каждого произведения, жанр (рок, романс, песня). Напечатать: а) название и продолжительность самой длинной песни;
б) название, жанр и продолжительность самого короткого музыкального произведения.
PascalABC

Показать ответ
Ответ:
jokeaaaaff
jokeaaaaff
17.01.2024 02:03
Хорошо, давайте решим данный вопрос.

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

```
type
SongGenre = (rock, romance, song);

Cassette = record
title: string;
songsCount: integer;
songs: array [1..20] of record
name: string;
duration: real;
genre: SongGenre;
end;
end;

```

Теперь, создадим массив кассет с размерностью N и заполним его информацией о каждой аудиокассете.

```
var
cassettes: array [1..N] of Cassette;
i, j: integer;

begin
// Здесь ваш код для заполнения информации о каждой аудиокассете
end.
```

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

```
var
longestSongTitle: string;
longestSongDuration: real;
```

Затем мы проходим по всем кассетам и песням на каждой кассете, и если продолжительность песни больше, чем продолжительность самой длинной песни, мы обновляем значения переменных:

```
longestSongDuration := 0;

for i := 1 to N do
begin
for j := 1 to cassettes[i].songsCount do
begin
if cassettes[i].songs[j].duration > longestSongDuration then
begin
longestSongTitle := cassettes[i].songs[j].name;
longestSongDuration := cassettes[i].songs[j].duration;
end;
end;
end;
```

Теперь в переменных `longestSongTitle` и `longestSongDuration` будут храниться название и продолжительность самой длинной песни соответственно.

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

```
var
shortestSongTitle: string;
shortestSongDuration: real;
shortestSongGenre: SongGenre;

shortestSongDuration := MAXINT; // Инициализация переменной значением максимально возможного числа
```

Затем мы проходим по всем кассетам и песням на каждой кассете, и если продолжительность песни меньше, чем продолжительность самого короткого произведения, мы обновляем значения переменных:

```
for i := 1 to N do
begin
for j := 1 to cassettes[i].songsCount do
begin
if cassettes[i].songs[j].duration < shortestSongDuration then
begin
shortestSongTitle := cassettes[i].songs[j].name;
shortestSongGenre := cassettes[i].songs[j].genre;
shortestSongDuration := cassettes[i].songs[j].duration;
end;
end;
end;
```

Теперь в переменных `shortestSongTitle`, `shortestSongGenre` и `shortestSongDuration` будут храниться название, жанр и продолжительность самого короткого произведения соответственно.

Наконец, мы можем напечатать результаты:

```
writeln('Название и продолжительность самой длинной песни:');
writeln('Название: ', longestSongTitle);
writeln('Продолжительность: ', longestSongDuration:0:2);

writeln('Название, жанр и продолжительность самого короткого музыкального произведения:');
writeln('Название: ', shortestSongTitle);
writeln('Жанр: ', shortestSongGenre);
writeln('Продолжительность: ', shortestSongDuration:0:2);
```

Это решение позволит нам найти и напечатать название и продолжительность самой длинной песни, а также название, жанр и продолжительность самого короткого музыкального произведения.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота