Методы перегруженных операторов.Перегруженные операторы – это открытые статические методы. У оператора-метода тип одного из параметров или тип возвращаемого значения должен совпадать с типом, в котором определен оператор-метод.Пример.
public class Complex
{
double re;
double im;
public Complex(double re, double im)
{
this.re = re;
this.im = im;
}
public static Complex operator+(Complex c1,Complex c2)
{
return new Complex(c1.re + c2.re, c1.im + c2.im);
}
public override string ToString()
{
return String.Format("{0} {1}i",re, im);
}
}
class Program
{
static void Main(string[] args)
{
Complex c3 = new Complex(2, 4) + new Complex(7, 1);
Console.WriteLine(c3.ToString());
}
}
Задание. Перемножить матрицы.
V = [ 17 3-4j -3 3+4j ]
Пpи paccмoтpeнии нaбopa кoмaнд AVR вы, вepoятнo, бyдeтe пopaжeны кoличecтвoм paзличныx cпocoбoв aдpecauии, кoтopыe пoддepживaютcя пoлнoй apxитeктypoй AVR. Ocнoвным cпocoбoм дocтyпa к дaнным являeтcя пpямoe oбpaшeниe к perиcтpaм oбщeгo нaзнaчeния. Oбычнo в фopмaтe кoмaнды oтвoдятcя пять бит, кoтopыe пoзвoляют aдpecoвaтьcя к любoмy peгиcтpy. Oбычнo тaкaя aдpecaция иcnoльзyeтcя для oпepaций c coдepжимым oднoгo perиcтpa (инкpeмeнт, дeкpeмeнт, инвepcия знaкa, oчиcткa и т.д.). Heкoтopыe из этиx кoмaнд двaжды пoвтopяют aдpec в кoдe кoмaнды. ( Прямая адресация).
Ecть и дpyrиe вapиaнты кocвeннoй aдpecaции: кocвeннaя-peгиcтpoвaя c пpeдeкpeмeнтoм и кocвeннo-peгиcтpoвaя пocтинкpeмeнтoм. Пpи иx иcпoльзoвaнии пpoиcxoдит измeнeниe coдepжимoгo индeкcнoгo perиcтpa в пpoцecce выпoлнeния кoмaнды - либo дo oбpaшeния к пaмятu (пpeдeкpeмeнт). либo пocлe (пocтинкpeмeнт). Знaчитeльным пpeимyшecтвoм этиx кoмaнд являeтcя вoзмoжнocть opгaнизauии cтeкa. a кpoмe тoro oни мoryт cлyжить для индeкcauии элeмeнтoв в cтpyктypax дaнныx. Этo пoзвoляeт эффeктnвнo пpимeнять AVR пpи paзpaбoткe кoмпилятopoв для языкoв выcoкoro ypoвня, кoтopыe иcnoльзyют лoкaльныe пepeмeнныe.
Блок - схемы.
Блoк - схeмы являются графическим способом представления программных операций. B их состав входят блоки различного типа, которые между собой связываются линиями. Существуют три основных типа блоков, используемых при составлении блок - схем (рис.). Блок прямоугольной формы описывает каждую операцию программы. Блок ромбической формы используется для обозначения операции принятия решения, например при проверке переменной величины. Блок овальной формы означает начало блoк - схeмы, причем название программы располагается внутри него. Блок подобной формы используется также для обозначения конца блoк - схeмы. Существует много других специальных символов, однако в данном разделе они не используются.
Рассмотрим пример.
Хотя блoк-схeмa содержит ту же информацию, что и перечень программ, она имеет более наглядный вид. Когда впервые составляется программа, то связь алгоритма работы микропроцессора с документом (программой) обеспечивает блoк - схeмa. Перемещаясь по блoк – схeмe, можно проследить логику. Затем на основе блoк-схeмы можно написать рабочую программу. Блoк-схeмы оказываются также полезными в тех случаях, когда возникает необходимость обращения к написанной ранее программе для выяснения ее назначения и функций.