Типизированные файлы. "Роза Ветров" - Pascal ABC
Формулировка задачи:
Файл(типизированный), содержит информацию о направлении ветра в некотором населенном пункте в течении некоторого продолжительного времени. Опеределить в каком направлении от города нужно сроить металургичесский комбинат, если направлений несколько вывести их.
з.ы.:8 направллений(север,юг,запад,восток, и между ними).
Прошу помочь с алгоритмом, если получится можно и с реализацией
Решение задачи: «Типизированные файлы. "Роза Ветров"»
textual
Листинг программы
type st=string[2]; const a:array[0..7] of st=('С','СВ','В','ЮВ','Ю','ЮЗ','З','СЗ'); var f:file of st; n,i,j,k,imin:integer; x:st; b:array[0..7] of integer; begin randomize; assign(f,'roza_vetrov'); rewrite(f); write('Количество наблюдений n='); readln(n); for i:=1 to n do begin x:=a[random(8)]; write(f,x); end; reset(f); writeln('Направление ветра по моментам наблюдений'); for i:=0 to 7 do b[i]:=0; while not eof(f) do begin read(f,x); write(x:4); k:=-1; j:=0; while(j<=7)and(k=-1)do if x=a[j] then k:=j else inc(j); inc(b[k]); end; close(f); writeln; writeln('Роза ветров'); imin:=0; for i:=0 to 7 do begin writeln(a[i]:3,b[i]:4); if b[i]<b[imin] then imin:=i; end; write('Завод следует строить на ',a[imin]); end.
Объяснение кода листинга программы
- Создается тип данных st, который представляет собой массив из двух символов.
- Создается константа a, которая представляет собой массив из восьми строк.
- Создается переменная f, которая представляет собой файл.
- Создаются переменные n, i, j, k, которые представляют собой целые числа.
- Создается переменная x, которая представляет собой строку.
- Создается массив b, который представляет собой массив из восьми целых чисел.
- Задается начальное значение для randomize.
- Задается начальное значение для rewrite.
- Выводится сообщение о количестве наблюдений.
- Для каждого наблюдения:
- Выводится сообщение о направлении ветра.
- Чтение из файла для получения направления ветра.
- Выводится сообщение о текущем направлении ветра.
- Обновление значений в массиве b.
- Выводится сообщение о минимальном направлении ветра.
- Выводится сообщение о том, где следует строить завод.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д