Сегодня 2 июня, воскресенье ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7274
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Мир глазами программиста
Мир глазами программиста
Голосов: 0
Адрес блога: http://nayils.blogspot.com/
Добавлен: 2015-04-15 13:16:48
 

C# Базовый Курс: Функции. Урок 7

2013-04-12 09:10:00 (читать в оригинале)

Всем привет. Сегодня мы обсудим что такое функции и с чем их едят. Для начала немножко отойдем от программирования и подумаем, что такое функции в реальной жизни? Несомненно большинство из Вас скажут, что функция это способность кого-то или чего-то выполнять определенные действия, и эти люди будут правы. В программировании функции так же нужны для того, чтобы выполнять те или иные действия. Дадим более правильное определение: Функция - подпрограмма, которая может вызываться в коде нашей программы и производить какие-либо действия. Сегодня нам потребуется многое из того что мы изучили. Посмотрим на синтаксис объявления функции:

Модификатор_доступа Возвращаемое_значение Имя_функции(Параметры)
{
     Тело_функции
}
О модификаторах доступа мы будем говорить в следующем уроке, пока что не придавайте этому особого значения. В скобочках указываются параметры функции, с которыми мы будем работать. Вот как будет выглядеть функция, которая складывает два числа, и возвращает целое значение:
public static int Sum(int a, int b)
{
return a+b;
}
Мы назвали функцию Sum, указали что она вернет значение целого типа (т.к. результат от сложения двух целых чисел есть целое число). Далее указали два параметра a и b, это переменные с которыми нам придется работать. В теле функции написали return и указали, то что нам нужно вернуть из этой функции.

Протестируем нашу функцию, вызвав ее в main:
static void Main(string[] args)
{
    int c = Sum(1,2);
    Console.WriteLine(c);
}
Попробуйте передать в качестве параметров разные цифры и убедитесь в правильности результата.

Немного усложним задачу. Напишем функцию, которая будет в качестве первого параметра принимать имя, в качестве второго фамилию, в качестве третьего возраст. Функция должна выводить информацию о человеке. Данные вводятся с клавиатуры.
public static void PeopleInfo(string fname, string sname, int age)
{
    Console.WriteLine("Имя: "+fname);
    Console.WriteLine("Фамилия" + sname);
    Console.WriteLine("Возраст" + age);
}
Вы явно уже заметили наличие слова void в качестве возращаемого значения. Все на самом деле просто: void говорит нам о том, что функция ничего не возвращает, она просто выполняет код который написан в теле функции и завершает свою работу. Попробуйте сами дописать программу.

Давайте напишем еще три функции. Первая заполняет массив цифрами от 0 до 10, вторая считает среднее арифметическое, третья выводит массив на экран.
Вот так выглядит наша первая функция:
public static int[] ArrayFill(int n)
{
     int[] array = new int[n];
     for (int i = 0; i<n;i++)
          array[i] = i;
  return array;
}
В качестве параметра принимается количество элементов в массиве, затем в теле функции создается массив из n элементов и заполняется циклом. Далее возвращаем полученный массив.
Вторая функция:
public static float Average(int[] array)
{
int s = 0;
for (int i = 0; i < array.Length; i++)
s += array[i];

return s / array.Length;
}
На вход подается массив, среднее арифметическое которого мы будет считать. В теле функции уже знакомый нам код. На выход подается результат.
Ну и что может быть проще написания третьей функции:
public static void PrintArray(int[] array)
{
for (int i = 0; i < array.Length; i++)
Console.Write(array[i]+" ");
}
Так как функция ничего не возвращает, то пишем void. Остальное и так понятно. Попробуйте вызвать эти функции так, чтобы для начала массив заполнился, потом вывелся на экран и в конце появилось среднее арифметическое значение.

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

Вот листинг, для тех у кого возникли трудности:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lesson1
{
class Program
{
public static void PrintArray(int[] array)
{
for (int i = 0; i < array.Length; i++)
Console.Write(array[i]+" ");
}

public static int[] ArrayFill(int n)
{
int[] array = new int[n];
for (int i = 0; i<n;i++)
array[i] = i;
return array;
}

public static float Average(int[] array)
{
int s = 0;
for (int i = 0; i < array.Length; i++)
s += array[i];

return s / array.Length;
}

static void Main(string[] args)
{
int[] array = ArrayFill(10);
PrintArray(array);
Console.WriteLine("S " = Average(array));
Console.ReadKey();
}
}
}

Тэги: базовый, курс

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.