Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 10Методы.doc
Скачиваний:
44
Добавлен:
10.06.2015
Размер:
174.08 Кб
Скачать

14.5. Области действия имен

Структура подпрограммы идентична структуре программы.

Имена, объявленные в главной программе являются глобальными. Они доступны во всех внутренних точках, в том числе и в подпрограммах.

Имена, объявленные в методе, являются локальными. Они доступны во всех внутренних точках подпрограммы.

Локальноеимя вовнешнейпрограмменедоступно. Память под них выделяетсяавтоматическив момент вызова метода.

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

14.6. Тело метода (процедуры и функции)

Синтаксически тело метода является блоком, который представляет собой последовательность инструкций и описание переменных заключенных в {…}.

В теле функции в блоке должен быть хотя бы один оператор, возвращающий значение функции в формате

return <выражение>

Переменные, описанные в блоке, считаются локальными в этом блоке.

14.7. Вызов метода. Синтаксис.

Функция может быть вызвана в выражении, а процедура – как оператор тела блока. Сам вызов метода, независимо от того, процедура это или функция, имеет один и тот же синтаксис:

Имя_метода([список фактических аргументов]);

Если это оператор, то вызов завершается точкой с запятой.

Формальный параметр представляет собой идентификатор параметра, а фактический аргумент – «выражение», значительно более сложную синтаксическую конструкцию:

[ ref | out ] выражение

В момент вызова метода происходит:

1. вычисление фактических аргументов, которые являются выражением,

2. в точке вызова создается блок, в котором происходит замена имен параметров фактическими аргументами.

14.8. Функция

Задача1. Написать функцию, проверяющую, является ли целое число, введенное с клавиатуры четным. Программа должна использовать эту функцию, проверять является ли число четным или нет, и выводить соответствующее сообщение.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static bool Chet(int n) // Процедура “Четность”

{

if (n % 2 == 0) return true;

else return false;

}

static void Main(string[] args)

{

intm;

Console.WriteLine("Определение четности аргумента");

Console.WriteLine();

do

{

Console.Write("m >> ");

m = Convert.ToInt32(Console.ReadLine());

if (Chet(m)) Console.WriteLine("Число четное");

else Console.WriteLine("Число нечетное");

Console.WriteLine();

}

while (m!=0);

Console.ReadLine();

}

}

}

14.9. Процедура

Задача2. Вывести таблицу квадратных корней.

Для оформления таблицы использовать процедуру Line.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

staticvoidLine(intn,charc) // Процедура “Рисовать линию” с параметрамиnи с

{

for (int k = 0; k < n; k++)

Console.Write(c);

Console.WriteLine(); // Вывод строки с символами С

}

static void Main(string[] args)

{

int m = 18;

Console.WriteLine("Таблица квадратных корней");

Console.WriteLine();

Line(m, '='); // Вызов процедуры “Рисовать линию”

Console.WriteLine(" Число | Корень");

Line(m, '='); // Вызов процедуры “Рисовать линию”

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

{

double q = Math.Sqrt(i);

Console.WriteLine(" {0} | {1,3:f}",i, q);

Line(m, '-'); // Вызов процедуры “Рисовать линию”

}

Console.ReadLine();

}

}

}

:

Соседние файлы в папке ЛК