- •Модификатор параметров методов
- •Задача 1. Написать функцию обмена значениями двух переменных:
- •Задача 2. Организовать ввод с “защитой от дурака”.
- •Структуры
- •Структуры для работы со временем
- •От структур к объектам
- •Примеры Класс для работы с комплексными числами. Вариант 1.
- •Класс для работы с комплексными числами. Вариант 2.
- •Статические поля и методы
- •Класс для генерации случайных чисел
- •Исключения
- •Практическая часть урока Задача 1. Найти максимальное число.
- •Задача 2. Вычислить частное q и остаток r при делении а на d, не используя операций деления (/) и взятие остатка от деления (%).
- •Задача 3. Написать программу табуляции произвольной функции в диапазоне от a до b.
- •Задача 4. Игра “Угадай число”.
- •Домашнее задание
- •Дополнительные материалы
- •Эндрю Троелсен , “Язык программирования c# 5.0 и платформа .Net 4.5”. Типы значений и ссылочные типы Используемая литература
Задача 3. Написать программу табуляции произвольной функции в диапазоне от a до b.
Написать программу табуляции произвольной функции в диапазоне от a до b. Функция задается программно.
class Program { static double F(double x) { return 1/x; }
static void Main() { double a = -5; double b = 5; double h = 0.5; Console.WriteLine("{0,10}{1,10}", "x", "F(x)"); for (double x= a;x<= b;x=x+h) { Console.WriteLine("{0,10}{1,10:f3}", x,F(x)); } } } |
Попробуйте переделать программу, используя циклы while и do while. Реализуйте вывод в файл.
Задача 4. Игра “Угадай число”.
Игра “Угадай число”. Метод половинного деления.
Написать игру “Угадай число”. Компьютер загадывает число в диапазоне от 1 до 100, а человек за ограниченное число попыток должен угадать число. Количество попыток высчитывается по формуле i=log2N+1
using System;
namespace GuessNumber { class Program { static void Main(string[] args) { int min = 1; int max = 100; int maxCount = (int)Math.Log(max - min + 1, 2)+1; int count = 0; Random rnd = new Random(); int guessNumber = rnd.Next(min, max); Console.WriteLine("Компьютер загадал число от {0} до {1}. Попробуйте угадать его за {2} попыток", min, max, maxCount); int n; do { count++; Console.Write("{0} попытка. Введите число:", count); n = int.Parse(Console.ReadLine()); if (n > guessNumber) Console.WriteLine("Перелет!"); if (n < guessNumber) Console.WriteLine("Недолет!"); } while (count < maxCount && n!=guessNumber); if (n == guessNumber) Console.WriteLine("Поздравляю! Вы угадали число за {0} попыток", count); else Console.WriteLine("Неудача. Попробуйте еще раз"); } } } |
Домашнее задание
а) Дописать структуру Complex, добавив метод вычитания комплексных чисел. Продемонстрировать работу структуры; б) Дописать класс Complex, добавив методы вычитания и произведения чисел. Проверить работу класса;
а) С клавиатуры вводятся числа, пока не будет введен 0 (каждое число в новой строке). Требуется подсчитать сумму всех нечетных положительных чисел. Сами числа и сумму вывести на экран; б) Добавить обработку исключительной исключений на то, что могут быть введены не корректные данные. При возникновении ошибки вывести сообщение.
*Описать класс дробей - рациональных чисел, являющихся отношением двух целых чисел. Предусмотреть методы сложения, вычитания, умножения и деления дробей. Написать программу, демонстрирующую все разработанные элементы класса. Достаточно решить 2 задачи. Все программы сделайть в одном решении.
