Типизированные файлы. "Роза Ветров" - 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.
- Выводится сообщение о минимальном направлении ветра.
- Выводится сообщение о том, где следует строить завод.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д