- •Определение и обработка символьных данных
- •Вывод значений полей структуры в командное окно:
- •Создание файл-функций для работы с массивами структур :
- •Определение и обработка ячеек
- •Определение и обработка объектов классов
- •Работа с файлами
- •Графическая визуализация
- •Анимационная и дескрипторная графика
Вывод значений полей структуры в командное окно:
Формирование структуры :
authors = struct('name', ' Сидоров С.С .','age',33,'phone','33-33-33');
whos
pause
Файл- программа для заполнения массива структур при помощи
операторов присваивания :
% Заполнение первой структуры массива
GR201(1).Family = 'Алексеев ';
GR201(1).Name = ' Иван';
GR201(1).Year = 1980;
GR201(1).Marks = [5 4 4 5 5 4];
% Заполнение второй структуры массива
GR201(2).Family = 'Васильев ';
GR201(2).Name = ' Сергей ';
GR201(2).Year = 1981;
GR201(2).Marks = [3 4 4 3 5 4];
% Заполнение третьей структуры массива
GR201(3).Family = 'Кашин ';
GR201(3).Name = ' Павел';
GR201(3).Year = 1979;
GR201(3).Marks = [4 3 4 4 5 4];
% Заполнение четвертой структуры массива
GR201(4).Family = 'Серова';
GR201(4).Name = ' Наталья';
GR201(4).Year = 1981;
GR201(4).Marks = [4 3 3 5 4 5];
% Заполнение пятой структуры массива
GR201(5).Family = 'Терехова ';
GR201(5).Name = ' Ольга';
GR201(5).Year = 1980;
GR201(5).Marks = [5 5 5 5 4 5];
Вывод значений полей структуры в командное окно:
Len = max(size(GR201));
for k = 1:Len
disp(GR201(k))
end
Создание файл-функций для работы с массивами структур :
Необходимо использовать ранее созданный массив структур
function meanmarks = groupprog(GROUP);
% Функция вычисляет средний балл студентов по каждому предмету
% и выводит результат в виде столбцевой диаграммы .
% Возвращает массив , каждый элемент которого равен
% среднему баллу по предмету с соответствующим номером
% Использование meanmark = groupprog(GROUP)
% GROUP - массив структур с полями
% Family (строка ), Name ( строка ), Year ( число),
% Marks (вектор - строка с отметками )
% Нахождение числа студентов в группе
N = max(size(GROUP));
% Определение количества курсов по информатике для
% первого студента
Courses = length(GROUP(1).Marks);
% Инициализация массива meanmarks
meanmarks = zeros(1, Courses);
% Перебор курсов и вычисление средней успеваемости
for course = 1:Courses
% Суммирование баллов , полученных каждым из студентов по
% курсу с номером course
for student = 1:N
meanmarks(course) = meanmarks(course) +...
GROUP(s tudent).Marks(course);
end
% Нахождение среднего арифметического
meanmarks(course) = meanmarks(course) / N;
end
% Построение столбцевой диаграммы
bar(meanmarks);
Запись данных в текстовый файл:
function writegroup(filename, GROUP)
% Файл- функция для записи таблицы с успеваемостью группы
% студентов в текстовый файл.
% Использование writegroup(filename, GROUP)
% filename - имя файла
% group - массив структур с полями
% Family (строка ), Name ( строка ), Year ( число),
% Marks (вектор - строка с шестью отметками )
% Нахождение числа студентов в группе
N = max(size(GROUP));
% Открытие файла с именем filename для записи
F = fopen(filename, 'w');
% Запись шапки таблицы
fprintf(F, '%-14s %-10s %-4s %-6s\n',...
' Фамилия ', ' Имя ', ' Год ' , 'Оценки');
% Запись в файл содержимого полей каждой структуры в строку
for s = 1:N
fprintf(F, '%-14s %-10s %4.0f...
%2.0f %2.0f %2.0 f %2.0f %2.0f %2.0f\n',...
GROUP(s).Family, GROUP(s).Name, GROUP(s).Year, GROUP(s).Marks);
end
% Закрытие файла
fclose(F);
