
- •Лекция 1
- •14 Ч. Лекции
- •58 Ч. Лабораторные работы
- •1.0 Основы алгоритмизации задач
- •1.1. Методы подготовки решения задачи на эвм
- •1.2. Алгоритмы и его свойства
- •1.3. Способы описания алгоритмов:
- •1.4. Стандартные блок-схемы
- •1.5. Базовые алгоритмические структуры
- •1.6. Методы алгоритмизации задач
- •2. Основы программирования
- •2.1. Машинный код процессора
- •2.2. Программа на языке программирования
- •2.3. Трансляторы
- •2.4. Классификация языков программирования
- •2.5. Языки низкого уровня
- •2.6. Языки высокого уровня
- •Лекция 2
- •3.0. Интегрированная среда разработки (иср) Visual c# 2010 Express
- •3.1. Основные характеристики.
- •3.2. Консольное приложение
- •3.3. Сохранение проекта
- •3.3. Структура папок при сохранении консольного приложения
- •3.5. Компиляция
- •4.2. Словарь языка
- •4.3. Комментарии
- •4.4. Идентификаторы (имена)
- •4.5. Ключевые слова
- •4.6. Числа
- •4.7. Переменные и константы
- •5.0. Структура программы консольного приложения на c#
- •Лекция 3
- •6.0. Типы данных
- •6.1. Типы значений
- •6.2. Ссылочные типы
- •6.3. Задание типов в объявлениях переменных
- •6.4. Встроенные базовые типы
- •6.5. Типы чисел Типы целых чисел
- •Типы чисел с плавающей запятой
- •Значения типов по умолчанию
- •6.6. Преобразования типов
- •6.7. Стандартное форматирование чисел
- •6.8. Символы char
- •7. Инструкции, команды
- •7.1. Выражения
- •7.2. Разделители
- •7.3. Математические операции
- •7.4. Приоритеты операций
- •Лекция 4
- •7.0. Операторы
- •7.2. Унарные операторы
- •7.3. Мультипликативные операторы
- •7.4. Аддитивные операторы (типа сложения)
- •7.5. Операторы отношений
- •7.6. Операторы присвоения
- •8.0. Инструкции
- •8.1. Безусловный переход вызовом функций
- •8.2. Оператор перехода goto
- •Лекция 5
- •9.0. Условные операторы.
- •9.1. Сложные условия
- •9.2. Инструкция if
- •9.3. Инструкции выбора switch, case
- •Лекция 6
- •10.0. Операторы цикла
- •10.1. Инструкция goto
- •10.2. Инструкция for
- •10.3. Использование нескольких управляющих переменных цикла
- •10.4. Использование переменных цикла c любым шагом их изменения
- •10.5. Инструкция while . . Цикл с предусловием
- •10.6. Инструкция do - while Цикл с постусловием
- •10.7. Накопление сумм и произведений
- •10.8. Безусловные переходы
- •Лекция 7
- •11.0. Массивы
- •11.1. Операции с массивами
- •Вывод массива
- •Ввод массива
- •Поиск максимального ( или минимального ) элемента массива
- •Поиск заданного элемента массива
- •Сортировка массива
- •11.2. Расчет статистических показателей
- •11.3. Использование генератора случайных чисел
- •11.4. Массивы строк
- •Лекция 8
- •12.0. Введение в классы, объекты и методы
- •12.1. Синтаксис класса
- •13.0. Подпрограммы
- •13.1. Основные понятия
- •13.2. Сравнение вариантов
- •13.3. Описание методов (процедур и функций)
- •13.4. Аргументы и параметры
- •13.5. Области действия имен
- •13.6. Тело метода (процедуры и функции)
- •13.7. Вызов метода. Синтаксис.
- •13.8. Функция
- •13.9. Процедура
- •Лекция 9
- •14. Исключительные ситуации
- •14.1. Виды исключений:
- •14.2. Существуют два типа блоков:
- •Лекция 10
- •15. Объектно-ориентированное программирование (ооп)
- •15.1. Классы в с#
- •15.2. Основные принципы ооп
- •Конструкторы
- •Деструкторы
- •15.3. Графическая структура понятий оо Подхода
- •15.4. Преимущества ооп:
- •Лекция 11
- •16.0. Приложение под ос Windows
- •16.1. Основные характеристики
- •16.2. Основной экран среды:
- •16.3. Окно Конструктора формы
- •16.4. Окно Редактора кода
- •16.6. Характеристика проекта
- •16.7. Сохранение проекта – приложения под Windows
- •16.8. Запуск и компиляция приложения
- •16.9. Шаблон кода:
- •16.10. Разработка приложения
- •16.11. Простейшее приложение
- •16.12. Создание интерфейса приложения
- •16.13. Определение функциональности приложения
- •16.14. Отладка
- •Лекция 12
- •17.0. Ввод и вывод данных в Windows-Приложениях
- •17.1 Ввод из поля редактирования и вывод в метку, и окно сообщения
- •17.2 Окно сообщения
- •18.0 Процедуры и функции
- •18.1 Структура процедуры
- •18.2 Структура функции
- •19. Модули
- •19.1 Свойства модуля
- •19.1. Структура модуля
- •Лекция 13
- •20.0. Массивы в Windows Forms Application
- •20.1 Операции с массивами в Windows-приложениях
- •21.0. Графика в c#
- •21.1. Рисованные изображения
- •Объект Graphics
- •Перо (Pen) или карандаш
- •Кисть (Brush) или заливка
- •Шрифты и текст
- •21.2. Методы рисования
- •21.3. Методы заливки
- •21.4. Рисование с помощью примитивов
- •21.5. Рисование графика функции
- •21.6. Растровая графика
10.6. Инструкция do - while Цикл с постусловием
Цикл с инструкцией do . . while используется в том случае, если последовательность действий надо выполнить несколько раз, причем количество повторений заранее не известно и может быть определено во время работы программы.
Относится к итерационным процессам.
В этом виде цикла условие стоит после тела цикла, поэтому этот цикл называют с постусловием. Тело цикла повторяется, пока выполняется условие. Тело цикла первый раз выполняется без проверки условия. Выход из цикла при не выполнении условия.
Э
та
циклическая инструкция работает по
принципу: «Повторить — пока выполняется
условие».
Ее синтаксис выглядит следующим образом:
do
{
Инструкции тела цикла;
}
while (Условие);
Пример. Программа использует цикл, в котором в консоль выводится последовательность чисел.
s tatic void Main(string[] args)
{
int i = 0;
do
{
Console.WriteLine("i = {0} ", i);
i = i + 1;
}
while (i < 10);
Console.ReadKey();
}
Инструкция do…while выполняется следующим образом:
Сначала выполняются находящиеся между do…while инструкции тела цикла.
Затем вычисляется значение выражения условия.
Если значение выражения условия истинно (True), то инструкции тела цикла выполняются еще раз.
Если значение выражения условия ложно (False), то выполнение цикла прекращается и выполняется следующий оператор, предусмотренный ходом выполнения программы.
Цикл do…while используется для организации приближенных вычислений с заданной точностью, задач поиска и обработки данных в массиве или в файле.
З
адача7.
Вычислить наибольшее
положительное целое число n,
удовлетворяющее условию: 3n5
- 690n
7.
static void Main(string[] args)
{
int n = 1;
do n = n + 1;
while (3 * Math.Pow(n, 5) - 690 * n <= 7);
Console.WriteLine("n = {0 } ", n - 1);
Console.ReadKey();
}
Задача8. Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры.
s
tatic
void Main(string[] args)
{
int s = 0, a = 0, n = 0; double m;
Console.WriteLine("Введите положительные числа");
Console.WriteLine("Для выхода из цикла введите 0");
do
{
s = s + a;
Console.Write(">> ");
a = Convert.ToInt16(Console.ReadLine());
n = n + 1;
}
while (a > 0);
n = n - 1;
Console.WriteLine("n = {0} ", n);
Console.WriteLine("s = {0} ", s);
m = s / n;
Console.WriteLine("m = {0,5:f} ", m);
Console.ReadKey();
}
10.7. Накопление сумм и произведений
Задача9. Написать программу вычисляющую сумму и произведение чисел от 1 до 10.
Рассмотрим процесс накопления S суммы и P произведения чисел от 1 до 10.
Н
акопление
суммы Накопление
произведения
Блок схема и программа накопления S и P:
static void Main(string[] args)
{
int s, p, i;
s = 0;
p = 1;
for (i = 1; i <= 10; i++)
{
s = s + i;
p = p * i;
}
Console.WriteLine("Сумма 10 чисел=" + s);
Console.WriteLine();
Console.WriteLine("Произведение 10 чисел=" + p);
Console.ReadKey();
}
Программные блоки не снижают динамику выполнения программ. Наоборот, их наличие позволяет в одном цикле вычислить как сумму, так и произведение.
Для вывода всех частичных сумм и произведений их вычисления надо поместить в блок тело цикла.
s
tatic
void Main(string[] args)
{
int s, p, i;
s = 0;
p = 1;
for (i = 1; i <= 10; i++)
{
s = s + i;
Console.WriteLine("Сумма "+ i + " чисел=" + s);
p = p * i;
Console.WriteLine("Произведение " + i +
" чисел=" + p);
Console.WriteLine();
}
Console.ReadKey();
}
Задача10. Написать программу вычисляющую сумму членов ряда:
t=sin(x*1)+ sin(x*2)+ sin(x*3)+ sin(x*4)+ sin(x*5)
t0 = 0
t1 = t0 + sin(x*1)
t2 = t1 + sin(x*2)
t3 = t2 + sin(x*3)
t4 = t3 + sin(x*4)
t5 = t4 + sin(x*5)
static void Main(string[] args)
{
int n; double x = 0.5, t=0;
for (n = 1; n <= 5; n++)
t =t + Math.Sin(x*n);
Console.WriteLine("Сумма членов ряда = {0:#.###}", t );
Console.ReadKey();
}
Задача11. Написать программу вычисляющую произведение членов ряда:
v=cos2(x*2)
* cos2(x*3)
* cos2(x*4)
* cos2(x*5)
* cos2(x*6)
v
0
=
1
v1 = v0 * cos2(x*2)
v2 = v1 * cos2(x*3)
v3 = v2 * cos2(x*4)
v4 = v3 * cos2(x*5)
v5 = v4 * cos2(x*6)
static void Main(string[] args)
{
int k; double x = 0.5, v=1;
for (k = 2; k <= 6; k++)
v = v * Math.Pow(Math.Cos(x*k),2);
Console.WriteLine("Произведение членов ряда = {0:#.######}", v);
Console.ReadKey();
}
Задача12.
Написать программу вычисляющую функцию
:
W=12*(1
+ 2 + 3
+ 4 + 5 + 6 + 7+ 8)*
22*(1
+ 2 + 3
+ 4 + 5 + 6 + 7+ 8)*
32*(1
+ 2 + 3
+ 4 + 5 + 6 + 7+ 8)*
42*(1
+ 2 + 3
+ 4 + 5 + 6 + 7+ 8)*
52*(1
+ 2 + 3
+ 4 + 5 + 6 + 7+ 8)*
static void Main(string[] args)
{
int a=1,b=1,s=0,w=1;
for (a = 1; a <= 5; a++)
{
s=0;
for (b = 1; b <= 8; b++)
s = s + a*a * b;
w = w * s;
}
Console.WriteLine("w = {0}", w);
Console.ReadKey();
}