Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_zachetu.docx
Скачиваний:
43
Добавлен:
10.05.2015
Размер:
233.91 Кб
Скачать

Void main () //главная ф-я

{

clrscr(); //очистим экран

cout << "nVvedit A->"; //организуем ввод коэфициэнтов уравнения с помощью

cin >> a; //ф-й потокового ввода-вывода (cout и cin с библиотеки iostream.h)

cout << "nVvedit B->";

cin >> b;

cout << "nVvedit C->";

cin >> c;

d = pow(b,2)-(4*a*c); //найдем дискриминант

if (d < 0) goto d1; //проверяем условия, и, с помощью

if (d==0) goto d2; //меток переходим к соответствующему блоку

if (d>0) goto d3;

d1: { //блок 1: дискриминант < 0

printf("nKoreniv nema");

goto exit; //безусловный переход на exit

}

d2: { //блок 2: дискриминант=0

x1=-b/(2*a)

printf("nx = %f",x1);

goto exit; //безусловный переход на exit

}

d3: { //блок 3: дискриминант>0

x1=(-b-sqrt(d))/(2*a);

x2=(-b+sqrt(d))/(2*a);

printf("nx1 = %f",x1);

printf("nx2 = %f",x2);

goto exit; //безусловный перехід на exit

}

exit: //метка использована для перехода к

//концу программы

getch(); //программа ждет нажатия любой клавиши для перехода далее

} //конец програми

  1. Логические и поразрядные операции C# (см. вопрос 6).

  2. Классы. Основные понятия, спецификаторы доступа.

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

[ атрибуты ] [ спецификаторы ] class имя_класса [ : предки ] тело_класса

Как видите, обязательными являются только ключевое слово class, а также имя и тело класса. Тело класса — это список описаний его элементов, заключенный в фигурные скобки. Список может быть пустым, если класс не содержит ни одного элемента. Таким образом, простейшее описание класса может выглядеть так:

class Demo {}

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

Инкапсуляция — это объединение под одним общим именем в виде класса данных (их часто называют полями) и методов по обработки этих данных. Вне класса по умолчанию все поля и методы просто недоступны. Делается это с целью исключения ошибочного изменения полей «чужими» методами. Именно благодаря такому искусственному сокрытию данных (и часто — методов) появляется возможность разработки больших программных комплексов (на миллионы строк кода), которые могут быть вполне работоспособны.

Принцип наследования — второй по значимости среди основных идей ООП. Благодаря наследованию мы можем на основе одного класса (класса-предка) спроектировать другой класс (класс-наследник), который унаследует от своего предка всё, что нам потребуется. Естественно, в классе-наследнике появятся какие-то новые свойства (поля, методы), которые расширят возможности класса-наследника. Но при этом нам не требуется заново разрабатывать тот программный код, который был в классе-предке. Понятно, что принцип наследования может существенно сократить сроки разработки новых программ и повысить их надёжность.

Термин полиморфизм переводится как многообразие форм. К элементам полиморфизма можно отнести перегрузку методов, перегрузку операции, использование виртуальных методов. Принцип полиморфизма позволяет в ряде случаев заметно упростить проектирование программ, повысить её наглядность. Всё это также способствует повышению надёжности программного обеспечения и сокращению сроков его разработки.

Формально любой класс можно описать таким образом:

атрибуты class имя_класса: предки

{

   члены_класса

}

Где:

  1. Атрибуты — одно из ключевых слов, определяющих доступность класса (например, public, protected, private), либо какие-то другие базовые свойства класса (static — статичный класс, abstract — абстрактный класс, sealed — бесплодный класс);

  2. имя_класса — задаётся по общим правилам (как для любого идентификатора, например, как для имени переменной);

  3. предки — необязательный параметр. Класс, который мы создаём, может быть наследником какого-то другого класса (но только одного!) и наследником любого количества интерфейсов (об интерфейсах речь пойдёт далее);

  4. члены_класса — это данные, инкапсулированные в классе, и методы по их обработке.

Для того, чтобы использовать разработанный класс, необходимо где-то в программе создать объект этого класса и вызвать его метод:

имя_класса переменная = new имя_класса();

переменная.метод();

Здесь с помощью операции new создаётся объект нашего класса. В скобках как после имени класса, так и после названия метода возможны какие-либо параметры (если это определено в классе).

Вызов метода возможен только с использованием операции доступа (операция «точка». Указываем название переменной, имеющей тип данного класса, затем ставим точку и только потом пишем имя метода с возможными фактическими параметрами. Пример. Создать класс, моделирующий работу с треугольником (задаются три стороны a, b и c и вычисляется площадь треугольника s).

using System;

namespace Prim_Class0

{

   class Treug

   {

      double a, b, c; // стороны треугольника

      

      // метод для ввода данных

      public void vvod()

      {

         Console.Write("a=");

         a = double.Parse(Console.ReadLine());

         Console.Write("b=");

         b = double.Parse(Console.ReadLine());

         Console.Write("c=");

         c = double.Parse(Console.ReadLine());

      }

      // вычисление площади по формуле Герона

      public double Pl()

      {

         double s = 0;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]