Программирование на языке высокого уровня Примеры. DataGridView. Ещё примеры Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.

Презентация:



Advertisements
Похожие презентации
Программирование на языке высокого уровня Лекция 7. Методы класса как подпрограммы. Решение нелинейных уравнений Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
Advertisements

Программирование на языке высокого уровня Лекция 5. Массивы. Массивы. Массивы. Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
Программирование на языке высокого уровня Лекция 1. Введение в программирование на C#. Условный оператор. Типы данных. Цикл for. Кафедра АСОИУ ОмГТУ, 2012.
Выполнена учениками 11 «А» класса Меркурьевым Виктором и Бойцовой Дарьей.
Проект Три шара Постановка задачи : Дано число N – количество вызовов функции, которая возвращает шар одного из трех цветов : красный, синий или желтый.
Версия для Microsoft Visual C#. Создание проекта. 1.
Федеральное государственное бюджетное образование учреждение высшего профессионального образования «Саратовский государственный технический университет.
Проект Коды символов Проект Перевод чисел Проект Калькулятор.
Вероятностные модели. Метод Монте-Карло.
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
Разработчики: Михин Павел, Шильникова Виктория, Субботина Елена, Чучмина Елена. Научный руководитель: Соломатин Д.И. HTML-Remaking.
Урок13_10_ОАП Тема Создание проекта. Блиц- опрос 1.Что такое проект? 2.Укажите этапы разработки проекта. 3.Какая модель помогает нам определиться с интерфейсом.
Что необходимо сделать, прежде чем использовать переменную в коде? Если необходимо 2 переменные целого типа? 10? Как же поступить, если необходимо использовать.
Программирование в среде Visual Basic: обработка событий Яковлева Татьяна Геннадьевна МАОУ гимназия 23 г. Челябинска.
Приобретение практических навыков работы с ПК Изучение основ информатики и начал программирования Освоение мультимедийных возможностей компьютера Начальная.
Диалоги ShowDialogСоздает модальный диалог. После вызова ShowDialog следующий оператор не выполняется пока не произойдет выход из метода. Пока не закрыт.
Тема урока: Деловая игра С А В Д Цикл с параметром Цикл с параметром – это циклическая структура, когда тело цикла выполняется, если значение параметра.
Приобретение практических навыков работы с ПК Изучение основ информатики и начал программирования Освоение мультимедийных возможностей компьютера Начальная.
ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ Turbo Pascal 7.0.
Высокоуровневые методы информатики и программирования Лекция 10 События.
Транксрипт:

Программирование на языке высокого уровня Примеры. DataGridView. Ещё примеры Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.

Задача погони Волк гонится за зайцем, который бежит по прямой с постоянной скоростью. Волк тоже бежит с постоянной скоростью и всегда по направлению к зайцу. В некоторый момент времени угол между направлениями их движения составляет 90 0, а расстояние между ними составляет L 0. Через какое время волк настигнет зайца, при условии, что его скорость больше? // исходные данные: скорости uz и uv, // положение волка yv, шаг времени dt double gamma = Math.PI / 2; double xz = 0, xv = 0, t = 0, L; for (;; t = t + dt) { // вывод координат... xz = xz + dt * uz; gamma = Math.Atan2(yv, xz - xv); xv = xv + dt * uv * Math.Cos(gamma); yv = yv - dt * uv * Math.Sin(gamma); if (xv > xz) break; } // вывод окончательных результатов... // исходные данные: скорости uz и uv, // положение волка yv, шаг времени dt double gamma = Math.PI / 2; double xz = 0, xv = 0, t = 0, L; for (;; t = t + dt) { // вывод координат... xz = xz + dt * uz; gamma = Math.Atan2(yv, xz - xv); xv = xv + dt * uv * Math.Cos(gamma); yv = yv - dt * uv * Math.Sin(gamma); if (xv > xz) break; } // вывод окончательных результатов... // вывод координат L = Math.Sqrt(yv*yv + (xz-xv)*(xz-xv)); textBox1.Text = textBox1.Text + String.Format("Волк({0:0}; {1:0})\t Заяц({2:0}; 0)\t L={3:0.0}\t угол={4:0.0}\r\n", xv, yv, xz, L, 180*gamma/Math.PI); // вывод координат L = Math.Sqrt(yv*yv + (xz-xv)*(xz-xv)); textBox1.Text = textBox1.Text + String.Format("Волк({0:0}; {1:0})\t Заяц({2:0}; 0)\t L={3:0.0}\t угол={4:0.0}\r\n", xv, yv, xz, L, 180*gamma/Math.PI); // вывод окончательных результатов textBox1.Text = textBox1.Text + String.Format("\r\nL = {0:0.###}, t = {1:0.###}", L, t); // вывод окончательных результатов textBox1.Text = textBox1.Text + String.Format("\r\nL = {0:0.###}, t = {1:0.###}", L, t);

Искусственный нейрон Одного искусственного нейрона достаточно, чтобы… …реализовать логическую функцию (AND, OR, NOT) …моделировать, например, поведение таракана, который в случае опасности прячется в тёмное укрытие...обыграть человека в «Орёл/решку»! public partial class Form1 : Form { int[] x, w; int N = 8, win, loss, guess; Random r = new Random(); private void button1_Click(object sender, EventArgs e) { int sum = 0; for (int i = 0; i < N; i++) sum += x[i] * w[i]; guess = (sum == 0)? r.Next(2): ((sum < 0)? 0: 1); label2.Text = "Вы загадали " + guess + "?"; } private void button_YES_Click(object sender, EventArgs e) { win++; // обучение нейрона... } private void button_NO_Click(object sender, EventArgs e) { loss++; guess = (guess == 0) ? 1 : 0; // обучение нейрона... } public partial class Form1 : Form { int[] x, w; int N = 8, win, loss, guess; Random r = new Random(); private void button1_Click(object sender, EventArgs e) { int sum = 0; for (int i = 0; i < N; i++) sum += x[i] * w[i]; guess = (sum == 0)? r.Next(2): ((sum < 0)? 0: 1); label2.Text = "Вы загадали " + guess + "?"; } private void button_YES_Click(object sender, EventArgs e) { win++; // обучение нейрона... } private void button_NO_Click(object sender, EventArgs e) { loss++; guess = (guess == 0) ? 1 : 0; // обучение нейрона... } // обучение нейрона int sign = 2 * guess - 1; for (int i = 0; i < N; i++) w[i] += sign * x[i]; for (int i = 0; i > N-1; i++) x[i] = x[i + 1]; x[N - 1] = sign; // обучение нейрона int sign = 2 * guess - 1; for (int i = 0; i < N; i++) w[i] += sign * x[i]; for (int i = 0; i > N-1; i++) x[i] = x[i + 1]; x[N - 1] = sign;

DataGridView // ввод данных double[,] A, B, C; A = new double[K, L]; B = new double[M, N]; C = new double[K, N]; for (int i = 0; i < K; i++) for (int j = 0; j < L; j++) A[i, j] = Convert.ToDouble(dataGridView1[j, i].Value); for (int i = 0; i < M; i++) for (int j = 0; j < N; j++) B[i, j] = Convert.ToDouble(dataGridView2[j, i].Value); // расчёт for (int i = 0; i < K; i++) for (int j = 0; j < N; j++) { double sum = 0; for (int z = 0; z < L; z++) sum = sum + A[i, z] * B[z, j]; C[i,j] = sum; } // вывод данных for (int i = 0; i < K; i++) for (int j = 0; j < N; j++) dataGridView3[j, i].Value = C[i, j]; // ввод данных double[,] A, B, C; A = new double[K, L]; B = new double[M, N]; C = new double[K, N]; for (int i = 0; i < K; i++) for (int j = 0; j < L; j++) A[i, j] = Convert.ToDouble(dataGridView1[j, i].Value); for (int i = 0; i < M; i++) for (int j = 0; j < N; j++) B[i, j] = Convert.ToDouble(dataGridView2[j, i].Value); // расчёт for (int i = 0; i < K; i++) for (int j = 0; j < N; j++) { double sum = 0; for (int z = 0; z < L; z++) sum = sum + A[i, z] * B[z, j]; C[i,j] = sum; } // вывод данных for (int i = 0; i < K; i++) for (int j = 0; j < N; j++) dataGridView3[j, i].Value = C[i, j]; dataGridView1.RowCount = K; dataGridView1.ColumnCount = L; dataGridView2.RowCount = M; dataGridView2.ColumnCount = N; dataGridView3.RowCount = K; dataGridView3.ColumnCount = N; dataGridView1.RowCount = K; dataGridView1.ColumnCount = L; dataGridView2.RowCount = M; dataGridView2.ColumnCount = N; dataGridView3.RowCount = K; dataGridView3.ColumnCount = N;

Баланс роста и веса Для таблицы значений роста (см) и веса (кг) пациентов вычислить функцию «вес – (рост – 100)» и выделить те значения этой функции, которые по модулю превышают 20. public partial class Form1 : Form { int N = 0; private void numericUpDown1_ValueChanged(object sender, EventArgs e) { N = (int)numericUpDown1.Value; dataGridView1.RowCount = N; for (int i = 0; i < N; i++) { dataGridView1[0, i].Value = i+1; dataGridView1[0, i].ReadOnly = true; dataGridView1[0, i].Style.BackColor = Color.LightGray; dataGridView1[3, i].ReadOnly = true; dataGridView1[3, i].Style.BackColor = Color.LightGray; } private void button1_Click(object sender, EventArgs e) {... } public partial class Form1 : Form { int N = 0; private void numericUpDown1_ValueChanged(object sender, EventArgs e) { N = (int)numericUpDown1.Value; dataGridView1.RowCount = N; for (int i = 0; i < N; i++) { dataGridView1[0, i].Value = i+1; dataGridView1[0, i].ReadOnly = true; dataGridView1[0, i].Style.BackColor = Color.LightGray; dataGridView1[3, i].ReadOnly = true; dataGridView1[3, i].Style.BackColor = Color.LightGray; } private void button1_Click(object sender, EventArgs e) {... } private void button1_Click(object sender, EventArgs e) { // ввод данных double[] rost, ves, F; rost = new double[N]; ves = new double[N]; F = new double[N]; for (int i = 0; i < N; i++) { rost[i] = Convert.ToDouble(dataGridView1[1, i].Value); ves[i] = Convert.ToDouble(dataGridView1[2, i].Value); } // расчёт for (int i = 0; i < N; i++) F[i] = ves[i] - (rost[i] - 100); // вывод данных for (int i = 0; i < N; i++) { dataGridView1[3, i].Value = F[i]; if (Math.Abs(F[i]) > 20) dataGridView1[3, i].Style.ForeColor = Color.Red; } private void button1_Click(object sender, EventArgs e) { // ввод данных double[] rost, ves, F; rost = new double[N]; ves = new double[N]; F = new double[N]; for (int i = 0; i < N; i++) { rost[i] = Convert.ToDouble(dataGridView1[1, i].Value); ves[i] = Convert.ToDouble(dataGridView1[2, i].Value); } // расчёт for (int i = 0; i < N; i++) F[i] = ves[i] - (rost[i] - 100); // вывод данных for (int i = 0; i < N; i++) { dataGridView1[3, i].Value = F[i]; if (Math.Abs(F[i]) > 20) dataGridView1[3, i].Style.ForeColor = Color.Red; }

Домашнее задание Реализовать игру «Быки и коровы», в которой компьютер играет роль загадывающего игрока, а пользователь отгадывает.