Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПргЯВУ_ЛК_СтефановаИА.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.41 Mб
Скачать

13.2. Сравнение вариантов

Рассмотрим 2 варианта решения одной и той же задачи:

Вывод текстовых блоков со вставкой стандартного разделителя из трех строк из набора символов “ * ” в конце.

1 –й вариант (Монолитная программа)

static void Main(string[] args)

{

Console.WriteLine("Текст и разделители");

Console.WriteLine();

Console.WriteLine("Текст 1"); // Вывод 1 текста

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 20; j++)

Console.Write("*");

Console.WriteLine(); // Вывод строк разделителя

}

Console.WriteLine();

Console.WriteLine("Текст 2"); // Вывод 2 текста

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 20; j++)

Console.Write("*");

Console.WriteLine(); // Вывод строк разделителя

}

Console.WriteLine();

Console.WriteLine("Текст 3"); // Вывод 3 текста

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 20; j++)

Console.Write("*");

Console.WriteLine(); // Вывод строк разделителя

}

Console.ReadLine();

}

2 – й вариант (Модульная программа)

using System;

using System.Collections.Generic;

using System.Linq; using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void DrawStr() // Процедура “Рисовать строки” без параметров

{

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 20; j++)

Console.Write("*"); // Вывод строк разделителя

Console.WriteLine();

}

}

static void Main(string[] args)

{

Console.WriteLine("Текст и разделители");

Console.WriteLine();

Console.WriteLine("Текст 1"); // Вывод 1 текста

DrawStr(); // Вызов процедуры “Рисовать строки”

Console.WriteLine();

Console.WriteLine("Текст 2"); // Вывод 2 текста

DrawStr(); // Вызов процедуры “Рисовать строки”

Console.WriteLine();

Console.WriteLine("Текст 3"); // Вывод 3 текста

DrawStr(); // Вызов процедуры “Рисовать строки”

Console.ReadLine();

}

}

}

13.3. Описание методов (процедур и функций)

Синтаксически в описании метода различают две части:

  • Описание заголовка

  • Описание тела метода.

ЗАГОЛОВОК_МЕТОДА

ТЕЛО_МЕТОДА

Синтаксис заголовка процедуры:

[атрибуты] [модификаторы] {void} имя_процедуры ([список параметров])

Синтаксис заголовка функции:

[атрибуты] [модификаторы] {тип результата функции} имя_функции ([параметры])

имя_метода ([список параметров]) составляют сигнатуру метода

– обязательная часть в заголовке метода,

[ ] показывают, что атрибуты и модификаторы могут быть опущены при описании метода.

Модификаторы:

static – представляет стандартный поток для консольного приложения,

public – показывает, что метод открыт и доступен для вызова пользователем и потомками класса,

private – говорит, что метод закрыт и предназначен для внутреннего использования в классе и доступен для вызова только в теле методов самого класса.

Если модификатор опущен, то метод является закрытым для пользователя и класса.

Примеры описания методов:

void A() {…};

int B() {…};

public void C() {…};

Методы А и В являются закрытыми, а метод С – открыт.

Методы А и С реализованы процедурами, а метод B – функцией, возвращающей целое значение (int), {…} – тело метода.