Estructuras de datos definidas por el usuario en Octave

Los vectores y las arrays no son los únicos medios que ofrece Octave para recopilar información en una sola entidad. Las estructuras de datos definidas por el usuario también son accesibles y permiten a los ingenieros de software crear tipos de variables que combinan números, strings y arrays. 

Una estructura se utiliza para hablar con los datos sobre algo más confuso de lo que puede hacer un solo número, carácter o booleano y más confuso de lo que puede hacer una array de los tipos de datos anteriores. Las estructuras nos brindan un enfoque para «unir» varios tipos de datos bajo una sola variable. Curiosamente, las estructuras nos permiten utilizar representaciones legibles por humanos para nuestra información. A menudo, esta es una mejor manera de utilizar una colección de pantallas o incluso un grupo de teléfonos. 

Por ejemplo, hagamos una estructura de datos que contenga la información de un solo estudiante. Almacenaremos el nombre, estado (año y departamento), puntaje semestral (SGPA) y puntaje acumulativo (CGPA).

Código:

% Define a ‘Name’ structure to contain the name details like 
% first name, last name and middle name by putting ‘.’ operator 
% which tells Octave to use field in structure.
  
Name.First = 'Tom';
Name.MI = 'Matthew';
Name.Last = 'Curran';
Student.Name = Name;
Student.Status = 'Entc Grad';
  
% To view the contents of the structure
Student 
Student.Name
  
% Operate on the elements of structure.
Student.SGPA = 9;
Student.CGPA = 8.80;
Student
  
Student.Name.First = 'Yo';
Student.CGPA = 8.76;
Student
Student.Name
  
% To create arrays of structures.
number_students = 5;
for i = 1 : number_students
  Class(i) = Student;
end
  
Class
Class(2)
Class(2).Name
  
% Function declaration
function message = pass_or_fail(Student)
  Exam_avg = mean(Student.CGPA);
  if(Exam_avg >= 7)
    message = 'You pass!';
  else
    message = 'You fail!';
  end
  return;
end
  
% Calling ‘pass_or_fail’ function
message = pass_or_fail(Class(2)); 
  
message

Producción:

Student =

  scalar structure containing the fields:

    Name =

      scalar structure containing the fields:

        First = Tom
        MI = Matthew
        Last = Curran

    Status = Entc Grad

ans =

  scalar structure containing the fields:

    First = Tom
    MI = Matthew
    Last = Curran
                                                                                                 
Student =

  scalar structure containing the fields:

    Name =

      scalar structure containing the fields:

        First = Tom
        MI = Matthew
        Last = Curran

    Status = Entc Grad
    SGPA =  9
    CGPA =  8.8000

Student =
                                                                                                 
  scalar structure containing the fields:

    Name =

      scalar structure containing the fields:

        First = Yo
        MI = Matthew
        Last = Curran

    Status = Entc Grad
    SGPA =  9
    CGPA =  8.7600

ans =

  scalar structure containing the fields:

    First = Yo
    MI = Matthew
    Last = Curran
                                                                                                 
Class =

  1x5 struct array containing the fields:

    Name
    Status
    SGPA
    CGPA

ans =

  scalar structure containing the fields:

    Name =

      scalar structure containing the fields:

        First = Yo
        MI = Matthew
        Last = Curran

    Status = Entc Grad
    SGPA =  9
    CGPA =  8.7600
                                                                                                 
ans =

  scalar structure containing the fields:

    First = Yo
    MI = Matthew
    Last = Curran

message = You pass!

Publicación traducida automáticamente

Artículo escrito por sourabhnaikssj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *