- •Вопросы к экзамену по информатике
- •2 Семестр
- •Типы компьютеров: персональные, микроконтроллеры, серверы, мейнфреймы.
- •Программирование
- •Языки программирования. Уровни языков программирования. (Языки высокого и низкого уровня). Поколения языков программирования.
- •Системы программирования. Этапы выполнения программы. Компиляторы и интерпретаторы. Редактор связей (сборщик).
- •Алгоритм. Понятие алгоритма. Типы алгоритмов. Формы представления. Основные блоки.
- •Программирование на языке с.Основные понятия языка (алфавит, идентификаторы, ключевые слова, препроцессор, объектный код)
- •Структура программы на языке с.
- •Типы данных языка с.
- •Операции арифметические, логические, операции отношения. Приоритет операций.
- •Стандартные функции языка с.
- •Функции ввода-вывода. Ввод-вывод данных.
- •Математические функции.
- •Операторы языка с
- •Условный оператор if. Оператор выбора switch().
- •Оператор цикла for.
- •Оператор while.
- •Оператор do-while.
- •Массивы. Способы объявления массивов. Ввод, обработка и вывод одномерных массивов.
- •Функции в языке с. Назначение функций. Объявление, определение и вызов функции. Способы передачи параметров в функции.
- •Указатели. Применение указателей. Объявление указателей. Связь указателей и массивов. Использование указателей в функциях.
- •Понятие о структуре. Объявление структур. Операции со структурами.
- •Работа с файлами. Файловый указатель. Функции, предназначенные для работы с файлами.
Алгоритм. Понятие алгоритма. Типы алгоритмов. Формы представления. Основные блоки.
Понятие алгоритма: Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи.
Свойства алгоритма.
- Дискретность.
- Понятность
- Детерминированность
- Массовость
- Результативность
Типы алгоритмов: Все имеющиеся алгоритмы можно разделить на три вида:
- линейные алгоритмы;
- алгоритмы ветвления;
- циклические алгоритмы.
Формы представления:
- словесная (записи на естественном языке);
- графическая (изображения из графических символов);
- псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
- программная (тексты на языках программирования).
Основные блоки:
Программирование на языке с.Основные понятия языка (алфавит, идентификаторы, ключевые слова, препроцессор, объектный код)
Программирование на языке С: http://comp-science.narod.ru/Progr_new/release_01/cpp2.html
Основные понятия языка:
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть использованы при написании программы.
Имена (идентификаторы) - последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).
Ключевые слова – это слова языка, имеющие строго определенное назначение, которые не могут использоваться в качестве идентификаторов.
Препроцессор С/С++ — программный инструмент, изменяющий код программы для последующей компиляции и сборки, используемый в языках программирования Си и его потомка - C++. Этот препроцессор обеспечивает использование стандартного набора возможностей:
- Замена триграфов и других символами #, [, ]
- Замена комментариев пустыми строками
- Включение файла — #include
- Макроподстановки — #define
- Условная компиляция — #if, #ifdef, #elif, #else, #endif
Объектный код - подлежащая исполнению форма подходящего представлении одного или более процессов (текст программы или язык программы), которая компилируется программирующей системой
Структура программы на языке с.
Текст программы имеет определенную структуру:
1. заголовок
2. включение необходимых внешних файлов
3. ваши определения для удобства работы
4. объявление глобальных переменных
Перед использованием переменной в Си её необходимо объявить! Т.е. указать компилятору какой тип данных она может хранить и как она называется.
Глобальные переменные объявляются, вне какой либо функции. Т.е. не после фигурной скобки {. Они доступны в любом месте программы, значит можно читать их значения и присваивать им значения там, где требуется.
5. описание функций - обработчиков прерываний
6. описание других функций используемых в программе
7. функция main - это единственный обязательный пункт !
Типы данных языка с.
Как константы, так и переменные могут быть различных типов, которые определяют их структуру, набор допустимых значений, правила использования и способ представления в ЭВМ. Иерархию типов данных можно представить следующей схемой.
Простые (скалярные) типы:
- целые,
- вещественные,
- символьные,
- указатели,
- перечислимый тип.
Составные (структурированные) типы:
- массив,
- структура,
- объединение.
Переменная простого (скалярного) типа в любой момент времени хранит только одно значение. В отличие от простых переменных, переменные составного (структурированного) типа одновременно хранят несколько значений.
Целые и вещественные переменные предназначены для хранения чисел, символьные переменные – это также числовые переменные, они хранят ASCII коды символов.
Указатель – это переменная, значением которой является адрес объекта (обычно другой переменной) в памяти компьютера. Таким образом, если одна переменная содержит адрес другой переменной, то говорят, что первая переменная указывает (ссылается) на вторую.
Массив – это группа элементов одинакового типа (double, float, int и т. п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.
Структура – это совокупность элементов, объединенных под одним именем. Структура представляет собой составной объект, в который могут входить элементы различных типов. Для каждого элемента выделяется своя область памяти.
Перечислимый тип представляет собой набор целочисленных констант, используемых обычно для организаций разветвлений в программе.
Объединение – это совокупность переменных различных типов, использующих одну и ту же область памяти. Объединение подобно структуре, однако в каждый момент времени объединение может хранить значение только одного из элементов объединения. Хотя доступ к этой области памяти возможен с использованием любого из элементов, элемент для этой цели должен выбираться так, чтобы полученный результат не был бессмысленным.