- •1. Алгоритм и его свойства.
- •2. Средства записи алгоритма – графическая схема.
- •3. Типы алгоритмов и их графическое изображение.
- •4,5. Общая характеристика языка программирования Си.
- •6. Основные типы данных языка Си.
- •7. Операции и выражения языка Си.
- •8. Операции присваивания и операторы присваивания.
- •9. Математические функции. Правила их использования в выражениях.
- •16. Консольный ввод-вывод. Функции ввода-вывода символов.
- •16, 17. Консольный ввод-вывод. Функции ввода-вывода строк. Консольный форматированный ввод данных. Оператор ввода. Форматная строка. Спецификации преобразования.
- •19. Escape-последовательности.
- •Функция scanf предназначена для ввода данных в заданном формате. Обращение имеет вид:
- •20. Программирование линейных алгоритмов.
- •21. Логические выражения и правила их составления.
- •22. Оператор if. Две его формы.
- •If (выражение) оператор1;
- •If (выражение ) оператор1; else опертор2;
- •23. Команда выбора. Операторы switсh и break.
- •24. Понятие цикла. Типы циклов.
- •25. Операторы циклов. Оператор for.
- •26. Оператор цикла while.
- •27. Задача о табулировании функции в равноотстоящих точках.
- •28. Оператор цикла do-while.
- •29. Вложенные циклы.
- •30. Понятие рекуррентного соотношения. Пример рекуррентных вычислений.
- •32. Понятие массива. Понятия статического и динамического массивов. Размерность, размер массива.
- •Int a[n], b[n]; // Объявление 2–х одномерных массивов
- •33, 34, 35, 36. Синтаксис описания массивов. Понятие и описание одномерного динамического массива. Ввод-вывод одномерного массива.
- •37. Перестановка двух элементов одномерного массива.
- •38. Вычисление суммы элементов одномерного массива.
- •39. Подсчет количества элементов одномерного массива, удовлетворяющих заданным условиям.
- •40 Вычисление произведения элементов одномерного массива.
- •41. Поиск элементов одномерного массива, обладающих заданным свойством.
- •42. Поиск в упорядоченном одномерном массиве.
- •43. Поиск максимального (минимального) элемента одномерного массива и его местоположения.
- •44. Копирование массивов.
- •45. Формирование массива из элементов заданных массивов.
- •46, 47, 48. Понятие и описание двумерных массивов.
- •49. Типовые алгоритмы обработки одномерных массивов.
- •50. Организация циклов для просмотра элементов двумерного массива со сложными условиями повторения.
- •51. Обработка элементов квадратных матриц относительно главной и побочной диагоналей.
- •52. Символьный тип данных. Описание. Ввод-вывод.
- •Ввод-вывод символов
- •53. Символьный тип данных. Стандартные функции обработки символов.
- •54. Понятие и описание строки.
- •55. Понятие и описание динамической строки.
- •56. Ввод-вывод строк.
- •Функция scanf предназначена для ввода данных в заданном формате. Обращение имеет вид:
- •57. Операции над строками. Реализация операции присваивания.
- •58. Преобразование строки в число.
- •59. Поиск подстроки в строке.
- •60. Сцепление двух строк.
- •61. Определение позиции первого вхождения символа из заданного набора символов.
- •62. Сравнение двух строк.
- •63. Обработка строк, состоящих из слов.
1. Алгоритм и его свойства.
Решение любой задачи осуществляется по определенному плану, наз. алгоритмом.
Алгоритм – понятное, точное предписание исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.
Правила: разрешающие (не явл. алг.)
запрещающие (не явл. алг.)
предписывающие (явл. алг.)
Алгоритм – последовательность предписывающих правил, понятно и точно указывающих исполнителю, какую последовательность действий он должен исполнить по переработке исходных данных в искомые результаты.
Свойства алгоритма:
1. Точность – св-во, согласно которому исполнителю точно известно, какая команда должна выполняться следующей.
2. Понятность – св-во состоит в том, что каждая команда алгоритма должна входить в систему команд исполнителя.
Система команд исполнителя – совокупность команд, которые могут быть выполнены исполнителем.
3. Дискретность – заключается в том, что предписание представляет собой последовательность четко выраженных отдельных команд.
4. Массовость – для каждого алгоритма существует класс объектов, допустимых в качестве исходных данных.
5. Результативность – состоит в том, что результат выполнения алгоритма исполнитель должен получить, выполнив конечное число действий.
2. Средства записи алгоритма – графическая схема.
Для записи алгоритма используются различные способы: словесная, графическая схема алгоритма (блок-схема), алгоритмический язык, языки программирования.
Причины указанного разнообразия состоят в следующем: алгоритм разрабатывается и записывается для конкретного исполнителя.
Два класса исполнителей: люди и вычислительные устройства.
Вычислительные устройства: роботы, компьютеры, микрокалькуляторы.
Так как разные исполнители имеют разные системы команд, то в записях алгоритмов должны использовать команды, зависящие от конкретного исполнителя (св-во понятности). Кроме того разные исполнители отличаются способом восприятия команд.
Язык программирования – способ записи алгоритма, ориентированный на исполнение его системой программирования компьютера. Для записи алгоритмов, предназначенных для безмашинного исполнителя можно использовать естественный язык.
Наиболее
часто алгоритмы изображаются в виде
графических схем или блок-схем. Алгоритм
большой
шажности
обычно представляются с помощью схем
двух видов:
обобщенная схема – раскрывает общим принцип функционирования алгоритма основные логические связи между отдельными модулями на уровне обработки информации.
детальная – представляет содержимое каждого элемента обобщенной схемы с использованием управляющих структур.
3. Типы алгоритмов и их графическое изображение.
Сначала нужно писать графическую схему алгоритма, а потом уже программу!
Схема алгоритма – графическое представление метода решения задачи, в котором используются символы для отображения операций, данных, потоков.
Терминатор
начало и конец схемы алгоритма
Данные
ввод-вывод дынных: носитель данных не определен
Процесс
обработка данных любого вида, приводящая к изменению значения формы или размещения информации.
Преопределенный процесс
использование подпрограммы или модуля
Решение
проверка условия и выбор одного из нескольких альтернативных выходов
Подготовка
модификация команды, группы команд, индексного регистра (создание цикла)
Линия
отображает поток данных и направление в проблеме. Могут быть добавлены стрелки-указатели.
Соединитель
обрыв линии и продолжение ее в другом месте. Соответствующие символы должны иметь одно и то же уникальное обозначение
Комментарий ------[
пояснение к выполняемым действиям. Располагается около ограничения фигуры.
В схеме можно использовать номер символа.
Правила выполнения соединений.
Направление потока слева направо и сверху вниз является стандартным. Если направление не стандартное, то на это должны указывать стрелки-указатели.
Примеры изображения выходов из символа
(ромб влево, вправо, вниз или ромб и вниз несколько выходов)
Пример идентиф. ссылок:
(ромб, условие, стрелки влево вправо и над ними да нет)
Следование
(квадратик, вниз еще квадратик, вниз еще квадратик)
Ветвление
(ромб, да нет, под да и нет квадраты, стрелки смыкаются, идут вниз)
(или ромб, да, под да квадрат, стрелки смыкаются, идут вниз)
Цикл
(с постусловием, с предусловием)
Выбор
(ромб, от него вниз много выходов, от каждого квадрат, все смыкаются, идут вниз)
Типовые структуры хороши тем, что все они имеют одну точку входа и одну точку выхода. Это упрощает просмотр и понимание алгоритма. Сокращает кол-во возможных ошибок и время на их поиск. Типовые структуры могут быть вложены друг в друга.
Типы алгоритмов.
На основе перечисленных структур строятся следующие типы алгоритмов.
Линейный(на основе структуры следование) – действия, определяемые символами, входящие в схему, выполняются последовательно, в порядке их написания.
Разветвляющийся – составляется на основе структур ветвление и выбор – характеризуется тем, что в ходе выполнения решения задачи идет только по одному имеющемуся направлению, выбор которого зависит от выполнения заданного условия.
Циклический – структуры цикл – многократное повторение определенной группы действий.