- •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. Сериализация
Вопрос 41. Работа с двумерными массивами в c#.
Прямоугольный массив имеет больше одного измерения. Чаще всего используются двумерные массивы.
Варианты описания:
тип[,] имя;
тип[,] имя - new тип [ разм_1, разн_2 ] ;
тип[,] имя - { список_инициализаторов }:
тип[,] имя - new тип [,] { список_инициализаторов };
тип[,] иня - new тип [ рази_1, разн_2 ] { список_инициализаторов };
Примеры описаний:
int [ , ] a
int [ , ] b - new int[2. 3]
int [ , ] С - {{1, 2, 3}, {4, 5, 6}}
int [ , ] с = new int [ , ] {{1, 2, 3}, {4, 5, 6}}
int [ , ] d - new int[2,3] {{1, 2, 3}, {4, 5, 6}}
Обращение к элементу: a[1,4], a[i,j]
Вопрос 42. Алгоритмы сортировки массивов.
Сортировка данных это процесс изменения порядка расположения элементов в некоторых упорядоченных структурах данных таким образом, чтобы обеспечить возрастание или убывание числового значения элемента данных. Для переменных символьного типа понятия "возрастание" и "убывание" относятся к значениям машинного кода, используемого для представления символов в памяти компьютера. Существует много алгоритмов, обеспечивающих решение задачи сортировки. Одни из них обладают низким быстродействием, другие обладают очень высокой эффективностью и практически используются в современных компьютерных системах.
Наиболее известными являются следующие:
1) Метод сортировки обменами ("пузырьковая");
for (int i=0; i<a.Length-1;i++)
for (int j=0;j<a.Length-1;j++)
if (a[j]>a[j+1])
{
int c=a[j];
a[j]=a[j+1];
a[j+1]=c;
}
Очень плохая скорость сортировки.
2) Метод сортировки выбором элемента;
Осуществляется поиск максимального элемента во всем массиве, затем он меняется с последним элементом. Следующий, во всем массиве кроме последнего и меняется с предпоследним элементом. Осуществляется (n-1) проходов.
int n=a.Length;
for (int i=0;i<a.Length-1;i++)
{
int imax=0;
for (int j=0;j<n;j++) if (a[j]>a[imax]) imax=j;
int c=a[imax];
a[imax]=a[n-1];
a[n-1]=c;
n--;
}
Вопрос 43. Работа со строками в c#. Методы для работы со строками.
Строка в C# имеет ссылочный неизменяемый тип – внести изменения в строку нельзя, но можно получить копию с внесёнными изменениями (так и работают методы класса String).
Вопрос 44. Структуры в яп c#.
Структура — тип данных, аналогичный классу, но имеющий ряд важных отличий
от него:
структура является значимым, а не ссылочным типом данных, то есть экземпляр
структуры хранит значения своих элементов, а не ссылки на них, и располагается в стеке, а не в хипе;
структура не может участвовать в иерархиях наследования (нет потомков и родительского класса)
конструктор по умолчанию не изменяется, он уже определен и присваивает элементам значения по умолчанию – нули соответствующего типа
нельзя вызвать методы класса в конструкторе
в структуре запрещено определять деструкторы, поскольку это бессмысленно.
Любой значимый тип С# является структурным.
Применение: типы данных, имеющие небольшое количество полей, с которыми удобнее работать как со значениями, а не как со ссылками.
Синтаксис структуры:
[ атрибуты ] [ спецификаторы ] struct имя_структуры [ : интерфейсы ]
тело_структуры [ ; ]
Спецификаторы структуры имеют такой же смысл, как и для класса, причем из спецификаторов доступа допускаются только public, internal и private (последний — только для вложенных структур)
Интерфейсы, реализуемые структурой, перечисляются через запятую.
Тело структуры может состоять из констант, полей, методов, свойств, событий, операций, конструкторов, индексаторов и вложенных типов. Правила их описания и использования аналогичны соответствующим элементам классов, за исключением некоторых отличий, вытекающих из упомянутых ранее: поскольку структуры не могут участвовать в иерархиях, для их элементов не могут использоваться спецификаторы protected и protected internal; Cтруктуры не могут быть абстрактными (abstract), к тому же по умолчанию они бесплодны (sealed);
• методы структур не могут быть абстрактными и виртуальными;
• переопределяться (то есть описываться со спецификатором override) могут
только методы, унаследованные от базового класса object;
• при описании структуры нельзя задавать значения полей по умолчанию — это будет сделано в конструкторе по умолчанию, создаваемом автоматически (конструктор присваивает значимым полям структуры нули, а ссылочным — значение null).
Пример структуры (ученик и его баллы):
static void Main(string[] args)
{
Exams Pupkin = new Exams("Пупкин Василий Владимирович", 89, 85, 63);
}
public struct Exams
{
//конструктор
public Exams(string FIO, int Math, int Russian, int Physics)
{
this.FIO = FIO; //this – указание на поля экземпляра
this.Math = Math;
this.Physics = Physics;
this.Russian = Russian;
}
string FIO;
int Math, Russian, Physics;
public string Имя
{
get { return FIO; }
}
public int AverageBall
{
get {return (Math + Russian + Physics) / 3;}
}
Переопределение метода в структуре: ToString (например, для удобного вывода).
public override string ToString()
{
return string.Format("{0}, score {1}", FIO, Math);
}
Вызов: Console.WriteLine(Pupkin.ToString())