Цос лаб 2. Лабораторная работа элементы программирования
Скачать 1.14 Mb.
|
ЛАБОРАТОРНАЯ РАБОТА № 2. ЭЛЕМЕНТЫ ПРОГРАММИРОВАНИЯ Цель работы – изучение средств системы по формированию массивов структур, интерактивному вводу информации, записи информации на диск, созданию М-файлов и приобретение практических навыков их использования. 1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Массивы структур Обычные массивы удобны при работе с однородными данными – числами или строками. Если данные неоднородные, то для их хранения удобно использовать массив структур, каждый элемент которого является структурой с одинаковым набором полей, содержащих соответствующее значение. Такая информация может быть представлена в виде таблицы с полями, содержащими однотипные элементы. Например, информация о студентах может быть заключена в структуре со следующими полями: Фамилия (family), содержит строку с фамилией; Год рождения (year), содержит число; Оценки (marks), содержит массив из пяти элементов с оценками. При использовании массивов структур необходимо помнить следущее: Доступ к структурам, входящим в массив, осуществляется при помощи индексации; Поле отделяется от имени структуры при помощи точки. Допускается два способа заполнения массива структур – операторами присваивания для всех полей каждой структуры массива или функцией strict. Задание 1. Создать третью запись в массиве структурStudent: Задание_2.'>Интерактивный ввод информации Для ввода числовой и символьной информации используется функция input. Синтаксис x = input('<приглашение> ') Задание 2. Ввести матрицу с клавиатуры,для ввода матрицыAзадатьследующую команду: Задание 3. Составить вектор из шести элементов геометрической прогрессии. Элементы геометрической прогрессии рассчитываются по формуле Pn = P1*qn–1. Пусть P1 = 3, q = 2, n = 6. Задание 4. Сформировать структуру,содержащую матрицу размерностью3 3 и ввести две матрицы с клавиатуры; после ввода содержимое массивов структуры вывести на экран. Оператор if Оператор if может применяться в простом виде для выполнения блока команд при выполнении некоторого условия или в конструкции if–elseif–else для написания разветвляющего алгоритма: Синтаксис if <условие> <операторы MatLab> end Для ветвления: if <условие> <операторы MatLab> elseif <условие> <операторы MatLab> elseif <условие> <операторы MatLab> else <операторы MatLab> end В зависимости от выполнения того или иного условия работает соответствующая ветвь программы; если все условия неверны, то выполняются команды, размещенные после else. Задание сложных условий производится с применением логических операторов. Логические операторы и примеры их использования приведены в табл. 2.1. Задание 5. Организовать цикл для введения вектор-строки из трех целыхчисел. При этом, если введенное значение текущего элемента вектора отрицательно, оно возводится в квадрат, если положительно – в куб. Задание 6. Ввести с клавиатуры вектор из трех нечетных целых чисел,входящих в диапазон от 5 до 9. В зависимости от значения вводимого элемента должна сгенерироваться матрица размерностью 3 3 со значениями элементов, равными значению вводимого элемента. Если в векторе значение элемента не принадлежит к заданному диапазону, выдается сообщение об ошибке. Задание 7. Записать матрицу случайных чисел в файл с названиемrand.txtна диск (столбцы в матрице будут отделяться друг от друга вертикальными линиями). Задание 8. Ввести с клавиатуры в массив структурmasдве матрицы3 3изаписать введенные матрицы в файлы c названиями f1.txt и f2.txt на диск C.\ Задание 9. Создать файл-программу формирования гистограммыраспределения случайных чисел. Закон распределения плотностей вероятности случайных чисел выбирается нажатием соответствующей кнопки:
Необходимо: вывести введенное содержимое матриц на экран, найти сумму элементов матрицы (если сумма меньше нуля, присвоить ей значение ноль), результат вывести на экран.
|