Часть 1: «Основы программирования»
Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и do while. Программирование ветвлений. Оператор if
Обработка числовых последовательностей Последовательная обработка символьных данных Обработка массивов Указатели. Динамические массивы Подпрограммы
Разработка алгоритмов и программ сверху вниз. Рекурсивные функции. Библиотечные функции обработки символьных строк Структуры и работа с файлами
Пример простой программы на С /* Сложение двух целых чисел */ #include main () { int a, b; /* объявление целочисленных переменных а и b */ printf ("Задайте два числа: "); /* вывод сообщения */ scanf ("%d %d", &a, &b); /* ввод значений а и b */ printf ("%d + %d = %d\n", a, b, a+b); /* вывод результата */ return 0; }
Пример результата: Задайте два числа: = 382
Структурное программирование Базовые структуры
Структурное программирование
Последовательность
Цикл с предусловием
Цикл с постусловием
Ветвления
Пример решения задачи Задача. Дано действительное число x. Вычислить значение sinx с помощью ряда x 3 x 5 x2n+1 y = sinx = x (-1) n ! 5! (2n+1)! с точностью (т.е. учитывая только те члены ряда, которые по абсолютной величине больше либо равны 10-5). Для проверки результата вычислить sinx с помощью стандартной функции.
Ввод x |a| Вывод y, sin(x) конец начало y=y+a n=n+1 a=-a x 2 /(2n(2n+1)) y=0, a=x, n=0 да нет Рис Схема алгоритма вычисления y=sinx
Программа: /* Приближенное вычисление y=sin x */ #include #define E 1e-5 /* точность вычисления */ main() { float x, /* аргумент функции */ y; /* сумма ряда */ float a; /* очередной член ряда */ int n; /* номер итерации */
printf ("x = "); scanf ("%f", &x); y = 0; a = x; n = 0; while ( fabs(a) >= E ) { y = y+a; n++; /* n=n+1; */ /* вычисление очередного члена ряда через предыдущий */ a = -a*x*x/(2*n*(2*n+1)); }
printf ("y = %f\n", y); printf ("sinx = %f\n", sin(x)); return 0; }
Пример результатов выполнения программы: x = y = sinx = x = 0 y = sinx =