Lesson 1 from TSLearney on Vimeo.


Презентация

Intro

Курс предполагается быть обзорно-ускоренным. Он рассчитан на существенный объем самостоятельной работы для
тех, кто раньше с программированием не сталкивался. Будут охвачены основные темы, желающим получить более глубокое
представление о них следует обратиться к литературе.

Потребуется Microsoft Visual Studio 2012 + Resharper 7 (совместимый со студией вашей версии)
Проблем также не должно возникнуть в MSVS 2012, но мелкие отличия придется находить и определять самостоятельно.

Где искать литературу

Материалы и курсы кучей ссылок
Библия C# -- книга М. Фленова, просто и доступно там всё

Темы занятия 1 (Использование базовых конструкций C#)

• Вводное слово по C#, MSVS, Resharper.
• Обзор типов проектов и решаемые ими задачи.
• Как работать с исходными кодами, редактор текста. Компилирование проекта.
• Основные типы C# .NET.
• Пространство имен. Константы, комментарии, переменные.
• Операторы ветвлений, выбора (If..else, switch, ?:)
• Логические, условные, унарные, операторы равенства.
• Циклы (for, while, do ... while)
• Перечисления. Массивы.

Код из урока:
Click to reveal..

var r = new Random();
const int tradeprice = 15110;
const int stoppins = 300;
const int buystoploss = tradeprice - stoppins;
int activationtimes = 0;

for (int i = 0; i < 100; i++)
{
var realPrice = r.Next(14950, 15220);
if (realPrice < buystoploss)
{
activationtimes++;
Console.WriteLine("OMG, stoploss activated! {0} exitprice = {1}", activationtimes, realPrice);
}
else
{
Console.WriteLine("Profit = {0}", realPrice - tradeprice);
}

Thread.Sleep(100);
}


Домашнее задание

Пользуясь знаниями, полученными из первого урока, написать программу, примитивно моделирующую предоставление
кредитного плеча (см. видео). Использовать цикл, switch, enum, условные переходы.

Click to reveal..

using System;

namespace Hometask
{
class Program
{
enum Command { BUY, SELL, QUIT}

private static void Main(string[] args)
{

// TODO: обозначить параметры

// TODO: цикл, проверяющий, не прервать ли всё + Sleep(100)

// TODO: switch + Command, проверяет команды

// TODO: расчет +/-

// Проверка счета на Marging Call


Console.ReadLine();
}
}
}



Решение домашнего задания
Click to reveal..

using System;

namespace Hometask1
{
class Program
{
enum Command { BUY, SELL, QUIT } //Перечисление

static void Main(string[] args)
{
string input;
Command command;

int account = 5000; //Сколько денег было
double shoulder = 0.01; // Кредитное плечо

int total_money = (int) (account/shoulder); // Денег участвуют изначально
int all_money = total_money; // Денег участвуют в процессе
var r = new Random();

do
{
Console.WriteLine("What do you want?");
input = Console.ReadLine(); // читаем команду с консоли
command = (Command)Enum.Parse(typeof(Command), input.ToUpper()); // String to Enum

switch (command) // Если команда
{
case Command.SELL: //Продавать
Console.WriteLine("SELLING"); // Продаем
break;
case Command.BUY: // Покупать
Console.WriteLine("BUYING"); // покупаем
break;
}
//Случайно генерируем, как изменился счет
all_money = all_money * r.Next(97, 103) / 100; // 97 - 103

if ((total_money - all_money) > account) // Считаем прибыль/убыль, тчонее сравниваем
{
Console.WriteLine("MARGIN CALL!!!"); // Если много в минус - марджин колл, команду ставим на выход
command = Command.QUIT;
}

} while (command != Command.QUIT); // Проверяем, нет ли команды прекращения

Console.WriteLine("Money for you = {0}", all_money * shoulder); // Результат, можно что-то иное вывести
Console.ReadLine();
}
}
}



Полезные ссылки
MSDN -- База знаний онлайн
Задать вопросы русским
Задать вопросы иностранцам


Отредактировано TSLearney (Fri Jun 21 2013 05:47 PM)