Программирование на языке высокого уровня Лекция 1. Введение в программирование на C#. Условный оператор. Типы данных. Цикл for. Кафедра АСОИУ ОмГТУ, 2012.

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



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

VISUAL BASIC Переменные: тип, имя, значение.. Переменные: тип, имя, значение Программируем на Visual Basic Переменная – это величина, имеющая имя, тип.
Программирование на языке высокого уровня Лекция 5. Массивы. Массивы. Массивы. Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
Чернобровкин В.В., Каримов Р.Р. Сургутский государственный университет Метод поиска простых чисел в ограниченном диапазоне ВВГП-2012.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Программирование на языке высокого уровня Примеры. DataGridView. Ещё примеры Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
В любом ООЯ и АЯ переменные используются для хранения и обработки данных в программах.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Начала программирования Занятие 3. Вещественный тип данных. Вычисления по формулам. Арифметические операции. Деление целочисленное и с остатком.
Колмыкова С.М. ЧИСЛЕННЫЕ ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ Язык программирования PASCAL.
Язык программирования Си Элементы языка, типы данных, переменные, программа Югов Иван Олегович МОУ Гимназия 10, г. Тверь.
Программирование на языке высокого уровня Лекция 2. Метод. Алгоритм. Программа. Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Существует три разновидности комментариев: комментарии в одной строке, комментарии в нескольких строках, комментарии для документирования. Комментарии,
Архитектура ЭВМ и язык ассемблера Коротин Павел Николаевич Программировать – значит понимать. Кристин Нюгард.
Integer - целые числа ! Следующие операции не выводят переменную за границы целого типа: умножение, деление на цело, вычисление остатка от деления, сложение,
Объектно-ориентированный язык Gambas. Gambas создан для разработки приложений с графическим интерфейсом в среде ОС Linux. Позволяет работать как в режиме.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Основы программирования. Типы данных Учебное пособие по курсу «Основы программирования» Преподаватель Алексеева Н.Н. Санкт-Петербургский колледж информационных.
Объявление и инициализация 1 int y = x + 2; int z = sqr(x); int x = 2;int x; x = 2; Какой способ лучше? int width = 1024; int heigth = 768; float aspect.
Транксрипт:

Программирование на языке высокого уровня Лекция 1. Введение в программирование на C#. Условный оператор. Типы данных. Цикл for. Кафедра АСОИУ ОмГТУ, 2012 Богатов Р.Н.

Что такое программирование? Программировать умеют все! Даже моя жена Софья. Знаменитая программа Софьи, которую копируют чаще всего: (Называется «Банановый хлеб») 1.Смешать: 1/3 ст. подсолнечного масла 1/4 ст. воды 1 ст. сахара 2.Добавить 2-3 размятых банана 3.По желанию добавить 1-2 взбитых яйца 4.Отдельно смешать сухими: 2 ст. муки 1 ч.л. соды 1/2 ч.л. соли 1/2 ч.л. корицы ванилин 5.Все смешать и выпекать, пока не покоричневеет 1.Смешать: 1/3 ст. подсолнечного масла 1/4 ст. воды 1 ст. сахара 2.Добавить 2-3 размятых банана 3.По желанию добавить 1-2 взбитых яйца 4.Отдельно смешать сухими: 2 ст. муки 1 ч.л. соды 1/2 ч.л. соли 1/2 ч.л. корицы ванилин 5.Все смешать и выпекать, пока не покоричневеет

// исходные данные double a, b, alpha; a = 10.5; b = 9.78; alpha = Math.PI/3; // вычисления double c; c = Math.Sqrt(a*a + b*b - 2*a*b*Math.Cos(alpha)); // исходные данные double a, b, alpha; a = 10.5; b = 9.78; alpha = Math.PI/3; // вычисления double c; c = Math.Sqrt(a*a + b*b - 2*a*b*Math.Cos(alpha)); К делу! Пример программы на C# // исходные данные double a, b, alpha; a = Convert.ToDouble(textBox1.Text); b = Convert.ToDouble(textBox2.Text); alpha = Convert.ToDouble(textBox3.Text); // вычисления double c; c = Math.Sqrt(a*a + b*b - 2*a*b*Math.Cos(alpha)); // вывод результата label5.Text = Convert.ToString(c); // исходные данные double a, b, alpha; a = Convert.ToDouble(textBox1.Text); b = Convert.ToDouble(textBox2.Text); alpha = Convert.ToDouble(textBox3.Text); // вычисления double c; c = Math.Sqrt(a*a + b*b - 2*a*b*Math.Cos(alpha)); // вывод результата label5.Text = Convert.ToString(c);

Условный оператор if if (x < 0) сделать-то-то; if (x < 0) сделать-то-то; if (x < 0) сделать-то-то; else сделать-другое; if (x < 0) сделать-то-то; else сделать-другое; if (x < 0) { сделать-одно; сделать-второе; сделать-что-то-ещё; } if (x < 0) { сделать-одно; сделать-второе; сделать-что-то-ещё; } if (x < 0) { сделать-одно; сделать-второе; } else { сделать-другое; и-ещё-кое-что; } if (x < 0) { сделать-одно; сделать-второе; } else { сделать-другое; и-ещё-кое-что; }

Решение квадратного уравнения // исходные данные double a, b, c; a = Convert.ToDouble(textBox1.Text); b = Convert.ToDouble(textBox2.Text); c = Convert.ToDouble(textBox3.Text); // вычисления double D = b*b - 4*a*c; if (D < 0) { // вывод результата label6.Text = "???"; label8.Text = "???"; MessageBox.Show("Нет вещественных корней!"); } else { double x1, x2; x1 = (-b - Math.Sqrt(D))/2/a; x2 = (-b + Math.Sqrt(D))/2/a; // вывод результата label6.Text = Convert.ToString(x1); label8.Text = Convert.ToString(x2); } // исходные данные double a, b, c; a = Convert.ToDouble(textBox1.Text); b = Convert.ToDouble(textBox2.Text); c = Convert.ToDouble(textBox3.Text); // вычисления double D = b*b - 4*a*c; if (D < 0) { // вывод результата label6.Text = "???"; label8.Text = "???"; MessageBox.Show("Нет вещественных корней!"); } else { double x1, x2; x1 = (-b - Math.Sqrt(D))/2/a; x2 = (-b + Math.Sqrt(D))/2/a; // вывод результата label6.Text = Convert.ToString(x1); label8.Text = Convert.ToString(x2); }

Встроенные типы данных C# ТипДиапазон значений Размер (байт) sbyte-128 … 1271 byte0 … 2551 short … ushort0 … int … uint0 … long … ulong0 … float±1,5· … ±3,4·10 +38, точность – 7 разрядов4 double±5,0· … ±1,7· , точность – 16 разрядов8 decimal±1· … ±7,9·10 +28, точность – 28 разрядов1616 booltrue или false1 char0 … (код символа)2

Цикл с заданным числом повторений for (int i = 1; i

Задачи на циклы: табуляция функции double x, y; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = Math.PI * i / (n-1); y = Math.Sin(x); textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; } double x, y; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = Math.PI * i / (n-1); y = Math.Sin(x); textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; }

double x, y, ymax = -1e300; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = *i/(n-1); // всегда в интервале [-0.5; 1.5] y = x*x*x - x*x - x; textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; if (y > ymax) ymax = y; } label3.Text = Convert.ToString(ymax); double x, y, ymax = -1e300; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = *i/(n-1); // всегда в интервале [-0.5; 1.5] y = x*x*x - x*x - x; textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; if (y > ymax) ymax = y; } label3.Text = Convert.ToString(ymax); Задачи на циклы: поиск минимума/максимума double x, y; double ymax = double.NegativeInfinity, xbest = double.NaN; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = *i/(n-1); // всегда в интервале [-0.5; 1.5] y = x*x*x - x*x - x; textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; if (y > ymax) { ymax = y; xbest = x; } label3.Text = Convert.ToString(ymax); label5.Text = Convert.ToString(xbest); double x, y; double ymax = double.NegativeInfinity, xbest = double.NaN; // n - требуемое количество точек for (int i = 0; i < n; i++) { x = *i/(n-1); // всегда в интервале [-0.5; 1.5] y = x*x*x - x*x - x; textBox1.Text = textBox1.Text + "x = " + x + ", y = " + y + "\r\n"; if (y > ymax) { ymax = y; xbest = x; } label3.Text = Convert.ToString(ymax); label5.Text = Convert.ToString(xbest);

У листа бумаги a×b отрезают по углам четыре квадрата со стороной h. Полученную крестообразную выкройку сворачивают в коробочку (параллелепипед). При каком h коробочка будет иметь максимальный объём? Задача про коробочку. Численное решение double dh = a/2/9999; double V, h, Vmax = 0, hbest = 0; for (int i = 0; i < 10000; i++) { h = dh * i; V = (a-2*h)*(b-2*h)*h; if (V > Vmax) { Vmax = V; hbest = h; } label3.Text = Convert.ToString(Vmax); label5.Text = Convert.ToString(hbest); double dh = a/2/9999; double V, h, Vmax = 0, hbest = 0; for (int i = 0; i < 10000; i++) { h = dh * i; V = (a-2*h)*(b-2*h)*h; if (V > Vmax) { Vmax = V; hbest = h; } label3.Text = Convert.ToString(Vmax); label5.Text = Convert.ToString(hbest);

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

Бонус Самостоятельно написать на C# какую-нибудь программу и выслать исполнимый модуль на адрес Требования: программа должна отличаться от задач, разбираемых на лекциях или практических занятиях и заданных на дом программа должна сообщать ФИО и группу автора