- •20 Июня 2011 г.
- •Вопрос 1. Понятие информации. Предмет информатика, его цели и задачи.
- •Вопрос 2. Подходы к измерению информации.
- •Семантический подход
- •Вопрос 3. Системы счисления. Основные понятия. Классификация. Смешанные системы счисления.
- •Вопрос 4. Арифметические операции в различных системах счисления.
- •Вопрос 5. Перевод целых чисел из одной системы счисления в другую.
- •Вопрос 6. Перевод правильных дробей из одной системы счисления в другую.
- •Вопрос 7. Варианты представления информации в пк. Текст, числа, графика.
- •Графическая информация
- •Звуковая информация.
- •Вопрос 8. Представление числовой информации в пк.
- •Вопрос 9. Размещение чисел в разрядной сетке пк. Форматы представления чисел.
- •Вопрос 10. Машинные коды.
- •Вопрос 11. Арифметические операции над числами с фиксированной запятой.
- •А и в отрицательные, сумма абсолютных величин а и в больше, либо равна 2n–1.
- •2. А положительное, b отрицательное и по абсолютной величине больше, чем а.
- •3. А положительное, b отрицательное и по абсолютной величине меньше, чем а.
- •Вопрос 12. Арифметические операции над числами с плавающей запятой.
- •Вопрос 13. Основные операции алгебры логики. Таблицы истинности
- •Вопрос 14. Основные операции алгебры логики. Таблицы истинности
- •Вопрос 15. Представление текстовой информации в эвм.
- •Вопрос 16. Представление растровой информации в эвм. Характеристики растрового изображения.
- •Вопрос 17. Представление цвета. Цветовые модели.
- •Вопрос 18. Представление векторной информации в эвм. Векторизация.
- •Вопрос 19. Основные структуры данных.
- •Вопрос 20. Операции с данными.
- •Вопрос 21. Функции программного обеспечения.
- •Вопрос 22. Структура программного обеспечения эвм.
- •Вопрос 23. Алгоритмы архивации.
- •Вопрос 24. Определение компьютерного вируса. Классификация компьютерных вирусов.
- •Вопрос 25. Антивирусные программы. Способы обнаружения компьютерных вирусов.
- •Вопрос 26. Алгоритм. Свойства.
- •Вопрос 27. Способы описания алгоритмов.
- •Словесный – понятные слова и фразы.
- •Вопрос 28. Еспд. Гост 19.701-90.
- •Вопрос 29. Унифицированные структуры. Развилки и выбор.
- •Вопрос 30. Унифицированные структуры. Циклы.
- •Вопрос 31. Инструментарий технологии программирования. Средства разработки приложений.
- •Вопрос 32. Состав системы программирования. Общий принцип работы компилятора и интерпретатора.
- •Вопрос 33. Классификация языков программирования?
- •Вопрос 34. Алфавит языка программирования.
- •Вопрос 35. Простые типы данных в яп c#.
- •Вопрос 36. Реализация на яп c# алгоритмов с ветвлениями.
- •Вопрос 37. Реализация на яп c# циклов с предусловием.
- •Вопрос 38. Реализация на яп c# циклов с постусловием
- •Вопрос 39. Реализация на яп c# циклов с параметром.
- •Вопрос 40. Работа с одномерными массивами в c#.
- •Вопрос 41. Работа с двумерными массивами в c#.
- •Вопрос 42. Алгоритмы сортировки массивов.
- •1) Метод сортировки обменами ("пузырьковая");
- •2) Метод сортировки выбором элемента;
- •Вопрос 43. Работа со строками в c#. Методы для работы со строками.
- •Вопрос 44. Структуры в яп c#.
- •Вопрос 45. Организация методов в c#. Формальные и фактические параметры.
- •Вопрос 46. Работа с классом List. Сериализация
Вопрос 45. Организация методов в c#. Формальные и фактические параметры.
Подпрограммы – метод класса.
[атрибуты] [модификация] {void/Тип_результата} имя_метода ([список_формальных_параметров])
Static void Main()
Static int Summa (int n)
Процедура – некоторое действие, которое ничего не возвращает. Вызов процедуры является оператором.
Static void Solve ()
{
Console.WriteLine(“Решение”);
}
Вызов: Solve()
Функция – всегда вычисляет некоторое значение, возвращаемое в качестве результатов (используется в выражениях – стоит справа от знака присваивания).
Static double Pi()
{
Return 3.14;
}
Static void Main ()
{
Double R=15;
Double S=Pi()*R*R;
}
Параметры используются для обмена информацией с методом – локальная переменная, которая при вызове элемента принимает значение соответствующего аргумента. Область действия – весь метод.
Формальные – параметры, которые используются при объявлении метода, т.е. сигнатуре. Типы:
Параметр-значение:
Тип метод (тип_параметра имя)
double f(double x) {}
Параметр значения не может быть изменен подпрограммой, так как метод получает копии значений аргументов.
int AmountDig (int x)
{
int count=0;
while(x>0)
{
count++;
x/=10;
}
return count;
}
Вызов:
Int c=AmountDig(x);
Ссылочный параметр. Приставка ref. Подпрограмма может изменить значение передаваемого параметра, так как методу передаются копии адресов аргументов в памяти.
Тип_метода имя_метода (ref тип_параметра имя)
Swap (ref int a; ref int b)
{
int c=a;
a=b
b=c
}
int x=5;
int y=6
Вызов:
swap (ref x, ref y);
Выходные параметры. Ключевое слово out. Параметру, отмеченному out внутри метода необходимо хотя бы один раз присвоить значение.
Static void Divide (int A, int B, out int Result, out int Remainder)
{
Result=A/B;
}
int x=10
int y=3;
int a,b;
Вызов:
Divide(x,y, out a, out b);
Params – количество переменных неизвестно. Внутри метода к ним обращаются, как к обычным элементам массива. Должен быть только один и располагаться в конце списка аргументов:
Тип_метода имя_метода (params тип_параметра имя_параметра)
Console.WriteLine (string s; params object [] Args)
Метод называется перегруженным, если существует больше 1 метода с одинаковыми именами, отличающимися формальными параметрами.
Фактические – передаются в метод вместо формальных при вызове метода.
F=factorial (5);
Количество фактических параметров, их последовательность, типа должны строго соответствовать списку формальных параметров.
Рекурсия – метод вызывает сам себя (прямая рекурсия). Косвенная – два или более метода вызывают друг друга.
Нисходящая – разбивает последовательно данную задачу на более простые, пока не доходит до ситуации, когда это становится не нужно (терминальная ветвь – выводится результат без использования рекурсии). Только после этого функция начинает строить ответ, промежуточные результаты передаются обратно вызывающим функциям.
Static int fact (int n)
{
if (n==1||n==0) return 1; //терминальная ветвь (выход)
return n*fact(n-1); //рекурсивная ветвь
}
Восходящая рекурсия – ответ строится постепенно и передается в виде параметра рабочей памяти до тех пор, пока не будет достигнута терминальная ситуация.
static long fact(int n, long f)
{
if (n == 0 || n == 1) return f; //терминальная ветвь
return fact(n - 1, n * f); //рекурсивная ветвь
}
// При вызове fact(5,1) вызываются: fact(4,5), fact(3,20), fact(2,60), fact(1,120)