ЗАДАЧА 4. Проверить, является ли заданная квадратная матрица единичной.



Единичной называют матрицу, у которой элементы главной диагонали – единицы, а все остальные – нули. Например,

Решать задачу будем так. Предположим, что матрица единичная и попытаемся доказать обратное. Если окажется, что хотя бы один диагональный элемент не равен единице или любой из элементов вне диагонали не равен нулю, то матрица единичной не является.

Задача 5. Преобразовать исходную матрицу так, чтобы первый элемент каждой строки был заменен средним арифметическим элементов этой строки.

Задача 6 . Преобразовать матрицу A(m,n) таким образом, чтобы каждый столбец был упорядочен по убыванию. Алгоритм решения этой задачи сводится к тому, что уже известный нам по предыдущей главе алгоритм упорядочивания элементов в массиве выполняется для каждого столбца матрицы.

ЗАДАЧА 7. Преобразовать матрицу A(m,n) так, чтобы строки с нечетными индексами были упорядочены по убыванию, c четными – по возрастанию.

Задача 8 . Поменять местами n-й и l-й столбцы матрицы A(k,m).

Строки

Строка – последовательность символов. Если в выражении встречается одиночный символ, он должен быть заключен в одинарные кавычки. При использовании в выражениях строка заключается в двойные кавычки. Признаком конца строки является нулевой символ ‘\0’. Строки в Си можно описать, как массив символов (массив элементов типа char). Объявляя такой массив, следует предусмотреть место для хранения признака конца строки (‘\0’).

Например, описание строки из 25 символов должно выглядеть так:

char s[26];

Здесь элемент s[26] предназначен для хранения символа конца строки.

Контрольные вопросы

1. Как осуществляется объявление двумерного массива (матрицы)?

2. Укажите блок-схемы ввода и вывода матриц.

3. Перечислите основные свойства матриц.

4. Охарактеризуйте алгоритм поиска максимального элемента и его индексов.

5. Охарактеризуйте алгоритм 1-го способа работы с динамическими матрицами.

6. Охарактеризуйте алгоритм 2-го способа работы с динамическими матрицами.

7. Укажите алгоритм проверки, является ли заданная квадратная матрица единичной.

8. Как описываются строки в массиве?

Глава 9. Объектно-ориентированное

программирование (ООП). Классы в С++

Объе́ктно-ориенти́рованное программи́рование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, - прототипов).

Класс - это тип, описывающий устройство объектов. Понятие «класс» подразумевает некоторое поведение и способ представления. Понятие «объект» подразумевает нечто, что обладает определённым поведением и способом представления. Говорят, что объект - это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т.н. объекта.

Объект - сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и линковки) исходного кода на выполнение).

Прототип - это объект-образец, по образу и подобию которого создаются другие объекты.

История развития

Объектное и объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).

Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления (в 1967 году), этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное. Тем не менее, большинство концепций были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространённым объектно-ориентированным языком программирования.

В настоящее время количество прикладных языков программирования (список языков), реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.

 


Дата добавления: 2019-09-13; просмотров: 452; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!