последовательность инструкций исполнителю, приводящая к желаемому результату за конечное число действий
Входные данные
то что имеем перед выполнением алгоритма
Выходные данные
результат выполнения алгоритма
Из чего состоит программа?
состоит из команд (инструкций)
Машинный код (исходный код)
это команды для процессора.
Для чего нужны программы-трансляторы?
используются для того чтобы перевести текст программы (исходный код) в машинный код
Какие существуют виды трансляторов?
Компиляторы и интерпретаторы.
Что делает компилятор?
Анализирует весь исходный код, проверяет на наличие ошибок, и после этого переводит текст программы целиком в машинный код. Обычно на выходе получается файл с машинным кодом.
Что делает интерпретатор?
Работает с исходным кодом построчно: берет очередную инструкцию из исходного кода, переводит ее в машинный код и тут же исполняет. На выходе не создается файл с машинным кодом, а при каждом запуске программы, перевод выполняется заново.
На какие виды делятся языки программирования по виду используемого транслятора?
Компилируемые и интерпретируемые.
Для чего нужна интегрированная среда разработки (Integrated Development Environment сокращенно IDE)?
Для повышения продуктивности процесса разработки.
Что включает в себя интегрированная среда разработки (Integrated Development Environment сокращенно IDE)?
Текстовый редактор, средства для компиляции и запуска программ, средства отладки.
Что означает кроссплатформенный язык?
это означает что созданное приложение может запускаться на нескольких операционных системах.
Чем занимается сборщик мусора (Garbage collector)?
отслеживает данные, которые стали неиспользуемыми, и освобождает занимаемую ими память.
CLR (Common Language Runtime)
это среда исполнения платформы .NET
Блок кода
это код заключенный в фигурные скобки.
С какой функции начинается исполнение программы?
Main
Описание модели исполнения C#
1. Исходный код; 2. Компиляция; 3. Байт код (IL); 4. JIT-компилятор (CLR); 5. Машинный код (CLR); 6. Исполнение операционной системой.
Тип данных
это вид данных с одинаковой структурой и поведением. (Пример: целые числа, строки)
Литерал
это значение типа, которое встречается непосредственно в коде.
Переменная
ячейка памяти компьютера, которая может хранить в себе одно значение заданного типа
Ключевые (зарезервированные) слова
слова, которые имеют специальный смысл. Эти слова нельзя использовать в качестве имен переменных
Конкатенация
это объединение строк друг с другом.
Приведение типа
преобразование значения одного типа в значение другого типа.
Группы преобразования числовых типов
Безопасные (без потери данных) и небезопасные (с потерей данных).
Строка форматирования
строка, некоторые части которой имеют особый смысл. Такие части окружаются фигурными скобками, внутри указываются порядковые номера аргументов, с 0.
Конъюнкция (логическое И)
истинна (результат - true) только если истинны все подвыражения (все подвыражения дают true).
это конструкция языка, которая выдает результат некоторого типа (литералы, переменные, функции типа Math.Sqrt).
Является ли тернарный оператор выражением?
является выражением.
Можно ли сравнивать вещественные числа через знак "=="?
Для вещественных чисел нельзя использовать проверку на равенство при помощи "==".
Проверка на равенство вещественных чисел
|a - b| <= epsilon
Проверка на то что вещественные числа не равны
|a - b| > epsilon
Проверка что одно вещественное число больше другого
a - b > epsilon
Константа
это переменная, значение которой нельзя изменить.
Инкремент
увеличение значения переменной на еденицу.
Декремент
уменьшение значения переменной на единицу.
Вариант x++; и x--; называется?
постфиксным. Запоминает значение до инкремента/декремента, затем выполняет инкремент/декремент, а затем выдает запомненное старое значение.
Вариант ++x; и --x; называется?
префиксным. Выполняет инкремент/декремент и выдает новое значение.
Цикл
это исполнение одного и того же блока кода пока выполняется некоторое условие.
Итерация
Одно выполнение тела цикла
Тело цикла
код который выполняется внутри цикла.
Условие цикла
условие продолжения цикла. Проверяется перед началом каждой итерации.
Зацикливание
бесконечное выполнение цикла.
Отладка программы (debug)
процесс поиска ошибок
Точка останова (breakpoints)
Позволяют остановить исполнение программы в указанном месте, когда поток исполнения достигнет его.
Инициализация в цикле for
установка начальных значений счетчиков. Выполняется 1 раз при входе в цикл.
Модификация в цикле for
изменение значений счетчиков. Выполняется после каждой итерации.
Локальная переменная
переменные, объявленные внутри функции.
Область видимости
часть кода внутри функции, откуда можно обратиться к этой переменной.
Функция
это часть программы, к которой можно обращаться как к одной команде.
Из чего состоит функция?
1. модификатор видимости; 2. отношение к классу; 3. тип результата; 4. название функции; 5. список аргументов; 6. тело функции.
Модификатор видимости
это ключевое слово, которое задает уровень доступа к функции.
Нужно ли создавать объект при вызове static функции?
Если функция объявлена как static, то чтобы вызвать ее, нам не нужно создавать объект, мы можем обратиться к ней по имени класса, в котором она объявлена.
Перегрузка функций (overload)
несколько функций в одном классе с одинаковым названием, но отличающиеся набором аргументов.
Парадигмы программирования
это совокупность идей и понятий, определяющих стиль написания компьютерных программ.
Каким языком является C#?
C# является объектно-ориентированным языком.
Объект
это некоторая конкретная сущность (предмет, явление). Например: стол, кошка, гроза и т.д. Другое определение - это экземпляр класса.
Какими характеристиками обладает объект?
1. состояние; 2. поведение; 3. уникальность.
Состояние объекта
это набор характеристик объекта и их значений в данный момент времени.
Поведение объекта
это действия, которые может совершать объект и как объект может реагировать на воздействие со стороны других объектов.
Уникальность объекта
то, что отличает его от других объектов.
Класс
это вид объектов с одинаковой структурой и поведением.
алгоритм хорошо работает на частично или полностью упорядоченных данных.
Внутренняя сортировка
работает с массивом, целиком помещающимся в памяти и быстрым доступом по любому индексу.
Внешняя сортировка
работает с большими структурами данных с последовательным доступом, не помещающимися в оперативную память. Например, это сортировка файлов или списков.
это специальный язык для поиска подстрок в тексте. Они позволяют найти подстроки, соответствующие некоторому шаблону, а потом с этими подстроками можно работать – получать, заменять, удалять и т.д.