[vk]http://vk.com/video_ext.php?oid=-66674957&id=167880434&hash=1b0e6cacc49f7e2b&hd=3[/vk]
Программы для работыПрезентация урокаIntroСамое нужное о C# программировании!
Потребуется Microsoft Visual Studio 2012 + Resharper 7 (совместимый со студией вашей версии)
Помощь в программировании:Герберт Шилд (хорошая книга по программированию) Темы занятия 1 (Использование базовых конструкций C#)• Вводное слово по C#, MSVS, Resharper.
• Обзор типов проектов и решаемые ими задачи.
• Как работать с исходными кодами, редактор текста. Компилирование проекта.
• Основные типы C# .NET.
• Пространство имен. Константы, комментарии, переменные.
• Операторы ветвлений, выбора (If..else, switch, ?:)
• Логические, условные, унарные, операторы равенства.
• Циклы (for, while, do ... while)
• Перечисления. Массивы.
Код из урока:
Код
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, условные переходы.
Код
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();
}
}
}
Решение домашнего заданияКод
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();
}
}
}
Полезные ссылкиОформление кода C#MSDN -- База знаний онлайн
Задать вопросы русскимЗадать вопросы иностранцамВложения:Проект