Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование. Учебное пособие для студентов направления подготовки 09.03.02 Информационные системы и технологии

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

С учетом точности V = 0.001 необходимо взять только первые три слагаемых, тогда

TN ≈ 0.1827.

Обратите внимание, что необходимо учесть случай введения не из интервала [−1,1]. Если пользователь вводит неподходящее значение аргумента, программа должна выдать сообщение: «Invalid value entered x».

Текст программы к задаче 16.

------------------------------------------------------------------------------------------------

#include<stdio.h>

#include<math.h>

int main()

{

float x, Sn; int j, n;

const float delta=0.001;

printf(" Enter the highest natural degree n = "); scanf("%d", &n);

printf(" Enter the value of variable x from the interval (-1,1): x = "); scanf("%f", &x);

if (fabs(x)>=1)

printf(" Invalid value entered x");

else

{

j=1; Sn=0;

while ((j<=n) && (fabs(pow(x,j))/j>delta))

{

Sn+=pow(-1,j+1)*pow(x,j)/j; j++;

}

printf(" The Sum is equal to %f", Sn);

}

return 0;

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 56.

71

Рис 56. Программный код задачи 16

Результат реализации программы на рис. 57:

Рис 57. Результат решения задачи 16

§ 3. Оператор перехода break и continue.

Для немедленного перехода к следующему оператору программы используются операторы перехода.

Оператор прерывания break в операторе выбора switch и в операторах цикла подразумевает выход из текущего блока и переход к следующему оператору. Его использование в циклических конструкциях целесообразно в случаях, когда проверять условие необходимо в середине тела цикла.

Оператор перехода continue (продолжение) применяется в случае, когда необходимо досрочно перейти к выполнению следующей итерации цикла, проигнорировав часть операторов тела цикла.

72

Задача 17. Введите целые числа и просуммируйте их до тех пор, пока сумма не станет больше 10.

Математическая модель и описание алгоритма решения. Пользователю предлагается вводить вещественные числа до тех пор, пока их сумма не превысит значение 10. На экран для удобства выводятся все значения и результат суммы, впервые превысившей значение 10, на которой процесс суммирования остановлен.

Текст программы к задаче 17.

------------------------------------------------------------------------------------------------

#include <stdio.h>

int main ()

{

int x, S; S=0; while (1)

{

if (S>10) break;

else

{

printf("\n Enter an integer value x = "); scanf("%d", &x);

S=S+x;

}

}

printf("\n S=%d", S);

return 0;

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 58.

73

Рис 58. Программный код задачи 17

Результат реализации программы на рис. 59:

Рис 59. Результат решения задачи 17

§ 4. Оператор безусловного перехода goto.

Оператор безусловного перехода goto меняет последовательность выполнения операторов и осуществляет переход по метке на выполнение операторов, следующих после неё.

Структура оператора goto: goto<метка>;

<метка>: <оператор>;

74

Однако старайтесь избегать использование данного оператора, так как он затрудняет читаемость программ и возможность их модификации.

§ 5. Оператор return.

Оператор перехода return (возврат) используется для выхода из функции. Он может возвращать вычисленное значение выражения или не возвращать никакого значения.

Структура оператора return: return[<выражение>];

Для возвращения значения необходимо после слова return указать значение или выражение, которое его вычисляет:

int main()

{int n;

return ++n;

}

§ 6. Пример решения задачи с использованием различных циклов.

Задача 18. Рассмотрим задачу вывода на экран чисел от 1 до 10 и их квадратов: а) с использованием цикла с предусловием; б) с использованием цикла с постусловием;

в) с использованием цикла for.

Математическая модель и описание алгоритма решения. Программа описывает вывод чисел от 1 до 10 и их квадратов, при этом пользователю не нужно ничего вводить.

Текст программы к задаче 18. а) Цикл с предусловием.

------------------------------------------------------------------------------------------------

#include <iostream> using namespace std;

int main()

{

cout << "\n"; while (n <= 10)

{

cout << "\t" << n << "\t" << n * n << "\n"; // выводим значения через табуляцию

++n;

}

}

------------------------------------------------------------------------------------------------

75

В компиляторе языка С++ этот компьютерный код представлен на рис. 60.

Рис 60. Программный код задачи 18 а)

Результат реализации программы на рис. 61:

Рис 61. Результат решения задачи 18

76

Текст программы к задаче 18. б) Цикл с постусловием.

------------------------------------------------------------------------------------------------

#include <iostream> using namespace std;

int main()

{

int n = 1; cout << "\n";

do

{

cout << "\t" << n << "\t" << n * n << "\n"; ++n;

}

while (n <= 10);

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 62.

Рис 62. Программный код задачи 18 б)

Результат реализации данной программы совпадает с результатом программы в задании а) и представлен на рис. 61.

77

Текст программы к задаче 18. в) Использование цикла for.

------------------------------------------------------------------------------------------------

#include <iostream> using namespace std;

int main()

{

cout << "\n"; int count = 0;

for (int i = 1; i <= 10; ++i)

{

cout << "\t" << i << "\t" << i * i << "\n"; count++;

}

cout << "\t Number of iterations: " << "iter = " << count<<"\n";

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 63.

Рис 63. Программный код задачи 18 в)

Результат реализации программы на рис. 64:

Рис 64. Результат решения задачи 18 в)

78

Задача 19. Выведите на экран таблицу умножения с использованием вложенного

цикла.

Математическая модель и описание алгоритма решения. Программа описывает вывод на экран таблицы умножения, при этом пользователю не нужно ничего вводить.

Текст программы к задаче 19.

------------------------------------------------------------------------------------------------

#include <iostream> using namespace std;

int main()

{

cout << "\n";

for (int i = 1; i <= 10; ++i)

{

cout << "\t";

for (int j = 1; j <= 10; ++j)

{

std::cout << i * j << "\t";

}

std::cout << "\n";

}

}

------------------------------------------------------------------------------------------------

В компиляторе языка С++ этот компьютерный код представлен на рис. 65.

Рис 65. Программный код задачи 19

79

Результат реализации программы на рис. 66:

Рис 66. Результат решения задачи 19

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]