![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Мир глазами программиста/Записи в блоге |
![]() |
Мир глазами программиста
Голосов: 0 Адрес блога: http://nayils.blogspot.com/ Добавлен: 2015-04-15 13:16:48 |
C# ООП: Классы
2015-04-15 05:38:00 (читать в оригинале)Каждый программист, рано или поздно сталкивается с такой вещью, как "Класс". Так что же это такое?
Класс - логическая структура, которая позволяет создавать свои собственные типы. Внутри класса можно размещать свои функции, переменные и.т.д.
Чтобы все стало понятно, приведем аналогию. Предположим, что у вас есть ящик с инструментами, в нем лежат: плоскогубцы, отвертка и.т.д. Этот ящик имеет свой цвет, размер и.т.д. Так вот этот ящик и есть наш класс. У нас может быть несколько ящиков с разными инструментами, мы сами можем определять, какие инструменты там лежат.
Давайте перейдем от слов к делу, и на этом самом примере продемонстрируем работу классов.

Класс - логическая структура, которая позволяет создавать свои собственные типы. Внутри класса можно размещать свои функции, переменные и.т.д.
Чтобы все стало понятно, приведем аналогию. Предположим, что у вас есть ящик с инструментами, в нем лежат: плоскогубцы, отвертка и.т.д. Этот ящик имеет свой цвет, размер и.т.д. Так вот этот ящик и есть наш класс. У нас может быть несколько ящиков с разными инструментами, мы сами можем определять, какие инструменты там лежат.
Давайте перейдем от слов к делу, и на этом самом примере продемонстрируем работу классов.

using System;Студия сама создала нам наш класс, нам остается лишь дописать его. Пусть в нашей коробке будет два инструмента: молоток, который забивает гвозди, и ножовка, которая пилит дерево. Создадим две функции:
using System.Collections.Generic;
using System.Linq; using System.Text;
namespace ConsoleApplication4
{
class Toolbox
{
}
}
И одну переменную:
public void Saw()
{
Console.WriteLine("Пилим");
}
public void Nail()
{
Console.WriteLine("Забить");
}
public string Color;
Вот что получилось:
Класс готов, осталось его использовать.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Toolbox
{
public string Color;
public void Saw()
{
Console.WriteLine("Пилим");
}
public void Nail()
{
Console.WriteLine("Забить");
}
}
}
Переходим в наш Main и в первую очередь создадим экземпляр нашего класса:
В переменной toolbox теперь лежит наш созданный класс. Теперь мы можем обращаться к его полям и методом через точку:
Toolbox toolbox = new Toolbox();
toolbox.Color = "Синий";
toolbox.Nail();
toolbox.Saw();
Присвоили переменной Color строку "Синий", затем вызвали методы Nail и Saw.
Результат выполнения:

Листинг Program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Toolbox toolbox = new Toolbox();
toolbox.Color = "Синий";
toolbox.Nail();
toolbox.Saw();
Console.ReadKey();
}
}
}
C# Базовый Курс: Игра "Угадай число"
2015-04-12 08:46:00 (читать в оригинале)Доброго времени суток, друзья. Приношу извинения за столь долгое отсутствие.
Сегодня хотелось бы показать пример самой простой игрушки. Урок ориентирован для самых начинающих программистов, которые лишь недавно познакомились с программированием. Для тех, кто не знает что такое "функции", "циклы", "переменные" я рекомендую посмотреть мои предыдущие статьи. Итак, начнем.
Правила игры просты: компьютер загадывает число, мы пытаемся его угадать за ограниченное количество попыток. Компьютер дает нам подсказки: больше ли наше число чем его или нет.
Создадим новый консольный проект. Начнем с алгоритма:
1. Компьютер загадывает число. Будем использовать класс Random, для генерации случайного числа.
2. Даем игроку три попытки. Используем цикл for.
3. Получаем число с клавиатуры.
4. Сравниваем с числом компьютера.
5. Если мы угадали, то выходим из цикла и сообщаем о победе.
Идем дальше. Мы знаем что одно и тоже действие происходит несколько раз, давайте создадим цикл.
Теперь нужно считать с клавиатуры наше число. Напишем в цикле:
Предлагаю ввести логическую переменную win, в которой мы будем хранить результат: выиграл ли игрок или проиграл. Перед циклом пишем:
Осталось лишь оповестить пользователя о его результатах:
Вот и все. Спасибо за внимание. Ниже приведу полный код программы.
Сегодня хотелось бы показать пример самой простой игрушки. Урок ориентирован для самых начинающих программистов, которые лишь недавно познакомились с программированием. Для тех, кто не знает что такое "функции", "циклы", "переменные" я рекомендую посмотреть мои предыдущие статьи. Итак, начнем.
Правила игры просты: компьютер загадывает число, мы пытаемся его угадать за ограниченное количество попыток. Компьютер дает нам подсказки: больше ли наше число чем его или нет.
Создадим новый консольный проект. Начнем с алгоритма:
1. Компьютер загадывает число. Будем использовать класс Random, для генерации случайного числа.
2. Даем игроку три попытки. Используем цикл for.
3. Получаем число с клавиатуры.
4. Сравниваем с числом компьютера.
5. Если мы угадали, то выходим из цикла и сообщаем о победе.
Random random = new Random();Класс Random дает нам возможность получить случайное число. В первой строке мы создали экземпляр класса Random, во второй строке вызвали метод Next, который вернул нам случайное число от 0 до 10. Теперь мы знаем, что загадал компьютер.
int computerNumber = random.Next(10);
Идем дальше. Мы знаем что одно и тоже действие происходит несколько раз, давайте создадим цикл.
for (int i = 0; i < 3; i++)В этом цикле мы будем угадывать число. Количество попыток, как мы видим, равно трем.
{
}
Теперь нужно считать с клавиатуры наше число. Напишем в цикле:
Console.Write("Введите число: ");Мы вывели на экран приглашение ввести число и считали это число с клавиатуры. Так как с клавиатуры считывается строка, нам нужно привести её к целому числу с помощью int.Parse().
int playerNumber = int.Parse(Console.ReadLine());
Предлагаю ввести логическую переменную win, в которой мы будем хранить результат: выиграл ли игрок или проиграл. Перед циклом пишем:
bool win = false;У нас есть число компьютера и наше число. Теперь мы можем их сравнить:
if (playerNumber < computerNumber)Все просто. Если число меньше, то выводим "Мое число больше, чем твое.", иначе если число больше, то выводим "Мое число меньше, чем твое.". Если ни одно из этих условий не подошло, значит они равны и игрок победил. Поднимаем флаг (win = true).
Console.WriteLine("Мое число больше, чем твое.");
else
if (playerNumber > computerNumber)
Console.WriteLine("Мое число меньше, чем твое.");
else
{
win = true;
break;
}
Осталось лишь оповестить пользователя о его результатах:
if (win)
Console.WriteLine("Вы победили!");
else
Console.WriteLine("Вы проиграли. Компьютер загадал число: " + computerNumber);
Console.ReadKey();
Вот и все. Спасибо за внимание. Ниже приведу полный код программы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int computerNumber = random.Next(10);
int playerNumber = -1;
bool win = false;
for (int i = 0; i < 3; i++)
{
Console.Write("Введите число: ");
playerNumber = int.Parse(Console.ReadLine());
if (playerNumber < computerNumber)
Console.WriteLine("Мое число больше, чем твое.");
else
if (playerNumber > computerNumber)
Console.WriteLine("Мое число меньше, чем твое.");
else
{
win = true;
break;
}
}
if (win)
Console.WriteLine("Вы победили!");
else
Console.WriteLine("Вы проиграли. Компьютер загадал число: " + computerNumber);
Console.ReadKey();
}
}
}
C# Базовый Курс: Функции. Урок 7
2013-04-12 09:10:00 (читать в оригинале)Всем привет. Сегодня мы обсудим что такое функции и с чем их едят. Для начала немножко отойдем от программирования и подумаем, что такое функции в реальной жизни? Несомненно большинство из Вас скажут, что функция это способность кого-то или чего-то выполнять определенные действия, и эти люди будут правы. В программировании функции так же нужны для того, чтобы выполнять те или иные действия. Дадим более правильное определение: Функция - подпрограмма, которая может вызываться в коде нашей программы и производить какие-либо действия. Сегодня нам потребуется многое из того что мы изучили. Посмотрим на синтаксис объявления функции:
Протестируем нашу функцию, вызвав ее в main:
Немного усложним задачу. Напишем функцию, которая будет в качестве первого параметра принимать имя, в качестве второго фамилию, в качестве третьего возраст. Функция должна выводить информацию о человеке. Данные вводятся с клавиатуры.
Давайте напишем еще три функции. Первая заполняет массив цифрами от 0 до 10, вторая считает среднее арифметическое, третья выводит массив на экран.
Вот так выглядит наша первая функция:
Вторая функция:
Ну и что может быть проще написания третьей функции:
Всем спасибо. В дальнейшем мы еще не раз рассмотрим тему функций, а пока для начала хватит этих знаний.
Вот листинг, для тех у кого возникли трудности: Модификатор_доступа Возвращаемое_значение Имя_функции(Параметры)О модификаторах доступа мы будем говорить в следующем уроке, пока что не придавайте этому особого значения. В скобочках указываются параметры функции, с которыми мы будем работать. Вот как будет выглядеть функция, которая складывает два числа, и возвращает целое значение:
{
Тело_функции
}
public static int Sum(int a, int b)Мы назвали функцию Sum, указали что она вернет значение целого типа (т.к. результат от сложения двух целых чисел есть целое число). Далее указали два параметра a и b, это переменные с которыми нам придется работать. В теле функции написали return и указали, то что нам нужно вернуть из этой функции.
{
return a+b;
}
Протестируем нашу функцию, вызвав ее в main:
static void Main(string[] args)Попробуйте передать в качестве параметров разные цифры и убедитесь в правильности результата.
{
int c = Sum(1,2);
Console.WriteLine(c);
}
Немного усложним задачу. Напишем функцию, которая будет в качестве первого параметра принимать имя, в качестве второго фамилию, в качестве третьего возраст. Функция должна выводить информацию о человеке. Данные вводятся с клавиатуры.
public static void PeopleInfo(string fname, string sname, int age)Вы явно уже заметили наличие слова void в качестве возращаемого значения. Все на самом деле просто: void говорит нам о том, что функция ничего не возвращает, она просто выполняет код который написан в теле функции и завершает свою работу. Попробуйте сами дописать программу.
{
Console.WriteLine("Имя: "+fname);
Console.WriteLine("Фамилия" + sname);
Console.WriteLine("Возраст" + age);
}
Давайте напишем еще три функции. Первая заполняет массив цифрами от 0 до 10, вторая считает среднее арифметическое, третья выводит массив на экран.
Вот так выглядит наша первая функция:
public static int[] ArrayFill(int n)В качестве параметра принимается количество элементов в массиве, затем в теле функции создается массив из 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;
}
Ну и что может быть проще написания третьей функции:
public static void PrintArray(int[] array)Так как функция ничего не возвращает, то пишем void. Остальное и так понятно. Попробуйте вызвать эти функции так, чтобы для начала массив заполнился, потом вывелся на экран и в конце появилось среднее арифметическое значение.
{
for (int i = 0; i < array.Length; i++)
Console.Write(array[i]+" ");
}
Всем спасибо. В дальнейшем мы еще не раз рассмотрим тему функций, а пока для начала хватит этих знаний.
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();
}
}
}
C# Базовый Курс: Массивы. Урок 6
2013-03-30 10:56:00 (читать в оригинале)Массив - это структура данных, содержащая элементы одного типа, к которым можно обратится по их индексу. Например массивом можно назвать список учеников в классе, где каждому ученику соответствует его порядковый номер:
1. Петя Иванов
2. Иван Петров
3. Саша Сидоров
В C# массив объявляется следующим образом:
Давайте скомбинируем полученные сейчас знания с предыдущим уроком. Попробуем использовать в своем приложении и циклы и массивы. Напишем приложение, в котором считаем 5 чисел с клавиатуры, и найдем их среднее арифметическое. Для этого: создадим массив целого типа, состоящий из 5 элементов. Затем пройдемся по массиву циклом и посчитаем сумму всех элементов. Ну и наконец разделим сумму на количество элементов.
Мы рассмотрели одномерные массивы. Но существуют ещё и двумерные. Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы. Двумерный массив так же называют матрицей. Объявляется следующим образом:
В дальнейшем мы неоднократно будем использовать массивы, поэтому если что-то не понятно, то постарайтесь в этом разобраться. Спасибо за внимание.
1. Петя Иванов
2. Иван Петров
3. Саша Сидоров
В C# массив объявляется следующим образом:
тип_данных[] имя_массива;Далее нужно указать размер массива:
имя_массива = new тип_данных[количество_элементов];Теперь мы можем обращаться к каждому элементу по отдельности (Прошу заметить, отсчет начинается с нуля):
имя_массива[0] = данные_1;Создадим массив, определяющий список класса:
имя_массива[1] = данные_2;
имя_массива[2] = данные_3;
string[] names = new string[3];Теперь мы можем обратиться к каждому элементу отдельно, например вывести на экран только Ивана Петрова:
names[0] = "Петя Иванов";
names[1] = "Иван Петров";
names[2] = "Саша Сидоров";
Или же сделаем более лучше - пусть пользователь введет номер в журнале, а на экране отобразится имя человека, которому соответствует введенный номеру:
Console.WriteLine(names[1]);
int number = int.Parse(Console.ReadLine());Массивы очень удобны для хранения данных. Вам всего лишь нужно хранить один массив в котором будет все что нужно, вместо того чтобы создавать сотни переменных.
if (number >= 0 && number <= 2)
Console.WriteLine(names[number]);
else
Console.WriteLine("Человека под данным номером не существует");
Давайте скомбинируем полученные сейчас знания с предыдущим уроком. Попробуем использовать в своем приложении и циклы и массивы. Напишем приложение, в котором считаем 5 чисел с клавиатуры, и найдем их среднее арифметическое. Для этого: создадим массив целого типа, состоящий из 5 элементов. Затем пройдемся по массиву циклом и посчитаем сумму всех элементов. Ну и наконец разделим сумму на количество элементов.
int[] numbers = new int[5];Прошу заметить, numbers.Length содержит длину массива, в нашем случае 5.
for (int i = 0; i < numbers.Length;i++)
numbers[i] = int.Parse(Console.ReadLine());
Console.WriteLine("Массив заполнен. Считаем среднее арифметическое.");
int s = 0;
for (int i = 0; i < numbers.Length;i++)
s+=numbers[i];
Console.WriteLine("Среднее арифметическое: " + s / numbers.Length;);
Мы рассмотрели одномерные массивы. Но существуют ещё и двумерные. Двумерный массив - это одномерный массив, элементами которого являются одномерные массивы. Двумерный массив так же называют матрицей. Объявляется следующим образом:
тип_данных[,] имя_массива;Далее нужно указать размер массива:
имя_массива = new тип_данных[количество_строк, количество_столбцов];Создадим двумерный массив 3х3, и найдем сумму всех его элементов:
int[,] numbers = new int[3,3];
for (int i = 0; i < 3;i++)
for (int j = 0; j < 3;j++)
numbers[i, j] = int.Parse(Console.ReadLine());
Console.WriteLine("Массив заполнен. Считаем сумму всех элементов.");
int s = 0;
for (int i = 0; i < 3;i++)
for (int j = 0; j < 3;j++)
s+=numbers[i, j];
Console.WriteLine("Сумма: " + s);
В дальнейшем мы неоднократно будем использовать массивы, поэтому если что-то не понятно, то постарайтесь в этом разобраться. Спасибо за внимание.
C# Базовый Курс: Циклы. Урок 5.
2013-02-26 11:04:00 (читать в оригинале)Всем привет. Сегодня у нас очень важный урок. Мы будем проходить циклы. Цикл - это участок кода, который повторяется один или несколько раз, либо до той поры пока не выполнится заданное нами условие. Рассмотрим разные циклы:
1. Цикл for:
Синтаксис следующий:
for (инициализатор; условие; итератор)
операторы
Инициализатор - переменная, инициализируемая при первом выполнении цикла.
Условие - выражение, которое проверяется перед каждым выполнением тела цикла
Итератор - шаг, с которым приращается значение переменной.
Пример использования:
Еще пример:
2. Цикл whileСинтаксис:
while(условие)
операторы;
While - цикл с предварительной проверкой условия.
Пример:
3. Цикл do...while
do
{
операторы;
}
while (условие);
Данный цикл является циклом с пост условием. Он выполняется до тех пор, пока условное выражение истинно. Пример:
foreach (тип_переменной сама_переменная in коллекция)
операторы;
Тип_переменной и сама_переменная - переменная, которая используется в цикле для итерации.
Коллекция - коллекция, по которой совершаем итерацию.
Когда цикл начинает свою работу, переменной присваивается первое значение коллекции, при каждом шаге итерации, переменной присваивается следующее значение коллекции.
Сегодня мы коротко разобрали все циклы в языке c#. В следующий раз мы научимся их применять на практике и узнаем что такое массивы.
1. Цикл for:
Синтаксис следующий:
for (инициализатор; условие; итератор)
операторы
Инициализатор - переменная, инициализируемая при первом выполнении цикла.
Условие - выражение, которое проверяется перед каждым выполнением тела цикла
Итератор - шаг, с которым приращается значение переменной.
Пример использования:
В данном примере мы выводим 10 раз строку Hello!
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Hello!");
}
Еще пример:
int summ = 0;Здесь мы считаем сумму от 0 до 10 и выводим результат на экран.
for (int i = 0; i < 10; i++)
summ+=i; //Переменной summ прибавляем i
Console.WriteLine(summ);
2. Цикл whileСинтаксис:
while(условие)
операторы;
While - цикл с предварительной проверкой условия.
Пример:
int i = 0, sum = 0;Код аналогичен предыдущему.
while (i < 10) //Выполняем цикл до тех пор пока условие i < 10 истинно
{
sum+=i++; //Прибавляем к sum переменную i, и увеличиваем ее значение на 1.
}
Console.WriteLine(sum);
3. Цикл do...while
do
{
операторы;
}
while (условие);
Данный цикл является циклом с пост условием. Он выполняется до тех пор, пока условное выражение истинно. Пример:
int i = 0, sum = 0;4. Цикл foreach
do
{
sum += i++;
} while (10 > i);
Console.WriteLine(sum);
foreach (тип_переменной сама_переменная in коллекция)
операторы;
Тип_переменной и сама_переменная - переменная, которая используется в цикле для итерации.
Коллекция - коллекция, по которой совершаем итерацию.
Когда цикл начинает свою работу, переменной присваивается первое значение коллекции, при каждом шаге итерации, переменной присваивается следующее значение коллекции.
int[] array = new int[]{1,2,3,4,5,6};Данный пример вам может быть ещё не понятен, его мы разберем в дальнейшем.
foreach (var i in array)
{
Console.Write(i+" ");
}
Сегодня мы коротко разобрали все циклы в языке c#. В следующий раз мы научимся их применять на практике и узнаем что такое массивы.



Категория «Наблюдения»
Взлеты Топ 5
![]() | ||
+1482 |
1510 |
Juri13139 |
+1449 |
1484 |
Elen_i_rebyata |
+1430 |
1508 |
Дрочливый_Драчун |
+1419 |
1505 |
Малти_Ошер |
+1349 |
1590 |
@дневники: ~ Mikeko ~ - Пусть все думают, что было так! :) |
Падения Топ 5
![]() | ||
-3 |
1184 |
Сайт визажиста Мокровой Инны блог |
-5 |
1434 |
Экспериментальный блог |
-7 |
5 |
afrika-abr |
-7 |
85 |
Народные методы, средства, способы лечения. |
-8 |
41 |
Elephant_Talk |

Популярные за сутки
Загрузка...

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