Курсовая работа по информатике
| Категория реферата: Рефераты по кибернетике
| Теги реферата: здоровый образ реферат, конспект урока 8 класс
| Добавил(а) на сайт: Fomenkov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата
Известно также, что база флота имеет на своем вооружении только три типа судов – БАТМ, СРТМ, МРТМ. Промысловый район имеет прямоугольную форму и разбит на квадраты, по длине на 10, по ширине на 5. Квадраты пронумерованы двузначными числами: первое число – номер столбца, второе – номер строки.
Программа должна обеспечить следующее:
1. Ввод исходной информации из файла, содержащего данные по указанному количеству судов (имя файла вводится пользователем в диалоговом режиме).
2. Группировку данных по судам по вылову рыбы принципу вылову рыбы:
0-50%, 50%-75%, 75%-100%
3. Сортировку данных по судам внутри каждой группы по названию судна, порядок обратный.
4. Вывод сгруппированных и отсортированных данных с заголовком для каждой группы в файл на жесткий диск компьютера.
5. Построение на экране монитора схемы промыслового района и указание место расположения каждого судна. При построении учесть следующие требования:
- Цвет экрана / шрифта – черный / темно-зеленый;
- Размер схемы промыслового района на экране – 500 на 250 пикселей;
- Цвет области построения – темно-синий;
- Цвет координатной сетки – темно-зеленый;
- Изображение судна –закрашенный круг диаметром 4 пикселей светло-зеленого цвета;
- Изображение судна должно быть нанесено в квадрате, с номером, указанным в исходном файле, а внутри этого квадрата с координатами, выбранными по случайному закону.
6. Вывод в нижней части экрана монитора общих данных для квадратов
11-83: количества судов типа МРТМ и среднее значение вылова судов всех типов.
11. Описание постановки задачи и блок-схемы алгоритма ее решения
Прежде чем приступать к решению задачи необходимо осуществить постановку задачи.
Исходная информация (данные о судах) является упорядоченной совокупностью однотипных данных, следовательно необходимо представить в виде массивов, исходные данные вводятся с файла, предварительного созданного.
Для обработки массива исходных данных (как и для ввода) нужно применить циклический вычислительный процесс. Сама обработка связана как с простейшими вычислениями, например, подсчетом количества судов, средних значений вылова, запаса топлива и тары для судов, находящихся в заданных квадратах промыслового района, так и более сложными процедурами сортировки в соответствии с указанными в задании принципом.
Вывод результатов обработки предусматривает операции с записью на жесткий диск и с выводом на экран монитора текста, численных данных и графических объектов.
Для описания процедуры решения задачи на ЭВМ базовым понятием
является понятие алгоритма. Алгоритм должен обладать свойством
массовости, конечностью, детерминированностью. В нашем случае это
означает, что алгоритм должен решать поставленную задачу при любом
количестве судов и их данных в исходном файле и приводить к
получению единственного для данного набора исходных данных
результата за конечное число шагов. Опишем этот алгоритм словесно:
- Затребовать у пользователя имя файла, содержащего исходные данные по судам в районе промысла;
- Открыть файл с указанным именем для ввода;
- Вывести из файла количество судов N;
- Объявить использование 6 массивов, где каждый является столбцом
(имя судна, тип и т.д.) со строками N для хранения исходных данных.
- Организовать ввод данных из файла в массив с учетом формата этого файла и типов данных;
- Последовательно отсортировать элементы этих массивов в указанном в задании порядке;
- Объявить вспомогательные массивы по числу групп с размерностью, определяемую числом судов определенного типа в каждой группе и записать в эти массивы данные судов;
- Затребовать у пользователя название и путь для выходного файла и открыть его для вывода;
- Последовательно вывести отсортированные данные для судов каждой группы с соответствующей строкой – заголовком;
- Построить на экране изображение промыслового района с координатной сеткой и отобразить на ней расположение судов;
- Вычислить для судов, находящихся в заданном диапазоне квадратов и заданного типа общие данные (количество судов и средние значения);
- Вывести на экран диапазон квадратов и рассчитанные общие данные;
12. Текст программы на языке Basic
Программа
CLS
REM Вводи данные
INPUT "Введи имя исходного файла"; file$
OPEN file$ FOR INPUT AS #1
INPUT #1, n
DIM c$(n), n$(n), s$(n), k(n), f(n), t(n)
PRINT "Исходный массив"
FOR i = 1 TO n
INPUT #1, c$(i), n$(i), s$(i), k(i), f(i), t(i)
GOSUB 2
NEXT i
FOR i = 1 TO n
FOR j = 1 TO n - 1
IF n$(j) > n$(j + 1) GOTO 1
SWAP n$(j), n$(j + 1): SWAP c$(j), c$(j + 1): SWAP s$(j), s$(j + 1)
SWAP k(j), k(j + 1): SWAP f(j), f(j + 1): SWAP t(j), t(j + 1)
1 : NEXT j
NEXT i
PRINT
REM Сортируем в обратном порядке поназванию судна
PRINT "Данные после сортировки"
PRINT
FOR i = 1 TO n
GOSUB 2
NEXT i
REM Группируем
PRINT "0%-50%"
FOR i = 1 TO n
IF f(i) > 0 AND f(i) < 50 THEN GOSUB 2
NEXT i
PRINT "50%-75%"
FOR i = 1 TO n
IF f(i) >= 50 AND f(i) < 75 THEN GOSUB 2
NEXT i
PRINT "75%-100%"
FOR i = 1 TO n
IF f(i) >= 75 AND f(i) < 100 THEN GOSUB 2
NEXT i
REM Выводим в выходной файл
INPUT "Введите имя выходного файла"; file2$
OPEN file2$ FOR OUTPUT AS #2
PRINT #2, "Суда с выловом 0%-50%, отсортированные по названию"
PRINT
FOR i = 1 TO n
IF f(i) < 50 AND f(i) > 0 THEN GOSUB 3
NEXT i
PRINT #2, "Суда с выловом 50%-75%, отсортированные по названию"
PRINT
FOR i = 1 TO n
IF f(i) = 50 THEN GOSUB 3
NEXT i
PRINT #2, "Суда с выловом 75%-100%, отсортированные по названию"
PRINT
FOR i = 1 TO n
IF f(i) < 100 AND f(i) > 75 THEN GOSUB 3
NEXT i
CLOSE #1, #2
REM Рисование
SCREEN 12
COLOR 2
LOCATE 1, 7
PRINT "Курсовая работа по инфор-ке.y-11.Никишова Н.Ю. Вариант 94"
h = 5
FOR i = 1 TO 10
h = h + 6
LOCATE 6, h: PRINT i
NEXT i
r = 6
FOR i = 1 TO 5
r = r + 3
LOCATE r, 7: PRINT i
NEXT i
LINE (70, 100)-(570, 350), 1, BF
FOR i = 70 TO 570 STEP 50
FOR j = 100 TO 350 STEP 50
LINE (i, 100)-(i, 350), 10
LINE (70, j)-(570, j), 10
NEXT j
NEXT i
FOR i = 1 TO n
d1 = INT(VAL(s$(i)) / 10)
d2 = ABS((d1 - VAL(s$(i)) / 10) * 10)
CIRCLE (72 + d1 * 50 + INT(RND(10) * 46), 102 + d2 * 50 + INT(RND(1) *
46)), 3, 10
NEXT i
REM Считаем сумму и среднее значение
a = 0: o = 0
FOR i = 1 TO n
IF VAL(s$(i)) = 11 THEN a = a + f(i): k = k + 1
NEXT i
FOR i = 1 TO n
IF VAL(s$(i)) = 11 AND c$(i) = "SRTM" THEN o = o + 1
NEXT i
LOCATE 24, 10: PRINT "Кол-во судов в промысловом районе"; "-"; n
LOCATE 25, 18: PRINT "Данные по судам 11-83 промыслового района:"
LOCATE 26, 21: PRINT " кол-во судов типа CPTM"; o; "шт"
LOCATE 27, 21: PRINT "среднее значение вылова всех судов"; a / k; "%"
END
REM Подпрограммы
2 : PRINT c$(i); n$(i); s$(i); k(i); f(i); t(i)
RETURN
3 PRINT #2, c$(i), n$(i), s$(i), k(i), f(i), t(i)
RETURN
Исходный файл
14
BATM, SUHONDAEVSKIJ, 14, 45, 12, 86
MRTM, ATIA, 21, 32, 28, 74
SRTM, NEIRON, 62, 76, 84, 22
BATM, P.CAHCIBADZE, 03, 11, 55, 48
MRTM, RAMIGALA, 60, 89, 48, 6
MRTM, DITUVA, 73, 26, 62, 18
SRTM, MONOKRISTALL, 52, 68, 36, 95
SRTM, TAVA, 51, 18, 87, 21
BATM, PLUNGE, 52, 58, 9, 88
BATM, P.SAFRANOV, 34, 93, 74, 36
MRTM, DUSETOS, 94, 47, 19, 72
SRTM, BERKLIJ, 71, 31, 40, 45
SRTM, KORIFENA, 52, 54, 69, 68
BATM, STARIJ ARBAT, 01, 40, 94, 59
Выходной файл
Суда с выловом 0%-50%, отсортированные по названию
BATM SUHONDAEVSKIJ 04 45 12
86
MRTM RAMIGALA 60 89 48
6
BATM PLUNGE 52 58 9
88
SRTM MONOKRISTALL 52 68 36
95
MRTM DUSETOS 94 47 19
72
SRTM BERKLIJ 71 31 40
45
MRTM ATIA 01 32 28
74
Суда с выловом 50%-75%, отсортированные по названию
BATM P.SAFRANOV 34 93 74
36
BATM P.CAHCIBADZE 03 11 55
48
SRTM KORIFENA 52 54 69
68
MRTM DITUVA 73 26 62
18
Суда с выловом75%-100% , отсортированные по названию
SRTM TAVA 51 18 87
21
BATM STARIJ ARBAT 01 40 94
59
SRTM NEIRON 62 76 84
22
13. Выводы по второй части.
Рекомендуем скачать другие рефераты по теме: атлетика реферат, сообщение об открытии счета.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата