- •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. Обработка строк, состоящих из слов.
26. Оператор цикла while.
Оператор цикла while – оператор цикла итеративного типа с предусловием. Используется, когда количество повторений операторов тела цикла заранее неизвестно и определяется в процессе выполнения цикла. В этом операторе анализ конца цикла производится до выполнения операторов тела цикла.
Общий вид оператора цикла while:
while ( b ) S;
Здесь b – выражение любого типа, например, логическое, приводимое к арифметическому типу, определяющее условие повторения цикла; S – простой или составной оператор - тело цикла. Он должен включать операторы рабочей части цикла и операторы изменения операндов выражения b (подготовки данных для очередного шага цикла).
Основные правила использования и порядок выполнения оператора цикла while:
1) До оператора while в программе должны содержаться операторы подготовки к выполнению цикла.
2). Выполнение оператора while начинается с вычисления значения выражения b (выражение b вычисляется перед каждой итерацией цикла). Производится анализ полученного значения b:
если b истинно (!=0), то выполняется S;
если b ложно (==0), то тело цикл завершается;
если b ложно (==0) до первого выполнения тела цикла, то тело цикла не выполняется ни разу.
3). После выполнения оператора S вычисляется значение выражения b и осуществляется переход к п. 2) данных правил.
4). После нормального завершения цикла значения параметров цикла равно значениям, которые привели к завершению цикла.
27. Задача о табулировании функции в равноотстоящих точках.
Постановка задачи:
Вычислить значение функции для x, изменяющегося от до с шагом .
Решение
Исходные данные:
- левая граница интервала
- правая граница интервала
- шаг табулирования
Результаты:
таблица значений заданной функции на интервале [ , ].
Таблица соответствия переменных
Имя переменной в условии |
Имя переменной в программе |
Тип переменной |
Комментарий |
|
x_n |
float |
Левая граница интервала |
|
x_k |
float |
Правая граница интервала |
|
h |
float |
Шаг табулирования |
y |
y |
float |
Значение функции |
x |
x |
float |
Аргумент функции |
Тесты
Тест 1 |
Тест 2 |
=2, =6, =1 |
=4, =14, =2 |
x y |
x y |
2 4 |
4 16 |
3 9 |
6 36 |
4 16 |
8 64 |
5 25 |
10 100 |
6 36 |
12 144 14 196 |
Текст программы
/* подключение стандартных библиотек */
#include<stdio.h>
#include<conio.h>
main()
{
/* описание используемых переменных */
float x_n,x_k,h,x,y;
clrscr;
/*ввод исходных данных*/
puts("введите начавльное значение интервала");
scanf("%f",&x_n);
puts("введите конечное значение интервала");
scanf("%f",&x_k);
puts("введите шаг табулирования");
scanf("%f",&h);
/* формирование шапки таблицы */
puts("┌───────┬───────┐");
puts("│ x │ Y │");
puts("├───────┼───────┤");
/* рассчет таблицы значений функции y=x*x на заданном интервале */
x=xn;
while (x<=xk)
{
y=x*x;
printf("│%7.1f│%7.1f│\n",x,y);
x=x+h ;
}
puts("└───────┴───────┘");
}