Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Цифровая грамотность. В 2 частях. Ч.2. Разработка консольных приложений на языке программирования C. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆

Контрольные вопросы

Программный код:
Результат:
1. Опишите синтаксис цикла с предусловием в языке C.
2. Можно ли сформировать составное условие, определяющее работу цикла while?
3. Может ли счетчик цикла с предусловием изменяться с шагом, рав- ным 0.3?
4. Можно ли инициализировать переменную суммы при описании цикла for?
5. Как организовать в цикле for перебор значений в некотором диапа- зоне в обратном порядке?
Лабораторная работа № 4
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
С ПРЕДУСЛОВИЕМ
Задание 1.
1.1. Разработайте ГСА и выполните пример 8. Введите 10 чисел с кла- виатуры и найдите сумму всех положительных чисел среди введенных.
51
1.2. Разработайте ГСА и выполните пример 9. Вычислите сумму чи-
Программный код:
Результат:
Программный код:
Результат:
сел от 1 до введенного k.
Модифицируйте пример 9 следующим образом: выведите на экран
промежуточные значения переменной s.
1.3. Разработайте ГСА и выполните пример 10. Пользователь вводит
числа до тех пор, пока не будет введено число 0, после этого на экран вы­вести самое большое число из введенных.
Модифицируйте пример 10 следующим образом: выведите на экран
минимальное число из введенных.
52
Задание 2.
Рис. 10
Рис. 11
Рис. 12
5
3 690 7
nn−≤
2.1. Для фрагментов ГСА (рис. 10, 11, 12) на языке программирования Си разработайте программу.
2.2. Изучите ГСА (рис. 13) и разработайте программу для поиска наибольшего положительного целого числа n, которое удовлетворяет
условию
.
Рис. 13. ГСА для задачи 2.2 в задании 2
53
Образец вывода результатов решения задачи в задании 2 аналогичен
1.
Найдите наименьшее целое четырехзначное число, кратное 172
2.
Найдите наибольшее целое трехзначное число, которое при делении на
3.
Найдите наименьшее целое число, куб которого превышает его квадрат
4.
Найдите наибольшее целое трехзначное число, кратное 22
5.
Найдите наибольшее целое четырехзначное число, которое при делении
задаче «Найти наибольшее двузначное число, куб которого не превышает 3000» (рис. 14).
Рис. 14. Образец вывода решения задачи в задании 2
Задание 3.
Индивидуальные задания
Разработайте ГСА для цикла с предусловием и программу на языке про-
граммирования Си в соответствии с индивидуальным заданием (табл. 17). Образец вывода результатов решения задачи в задании 2 аналогичен задаче на рис. 4. Строки программного кода сопроводите комментариями.
Таблица 17
Индивидуальные задания по теме
«Программирование циклических алгоритмов с предусловием»
Вариант Задание
8 дает в остатке 3
не менее чем на 438
на 23 дает в остатке 2
54
Вариант Задание
6.
Найдите наибольшее целое трехзначное число, кубический корень
7.
Найдите наибольшее целое число, квадрат которого не превышает 1367
8.
Найдите наибольшее целое четырехзначное число, квадрат которого
9.
Найдите наименьшее целое трехзначное число, кратное 32
10.
Найдите наибольшее целое четырехзначное число, которое при делении
11.
Найдите наибольшее целое четырехзначное число, кратное 31
12.
Найдите наибольшее целое четырехзначное число, квадратный корень
из которого не превышает 6
кратен 8
на 7 дает в остатке 5
из которого не превышает 31,8
Окончание табл. 17

Контрольные вопросы

1. Можно ли сформировать составное условие в цикле while?
2. Каким образом в цикле можно накопить переменную счетчик?
3. Может ли в теле цикла выполниться несколько операторов?
4. Можно ли использовать в теле цикла while оператор условия?
5. Каким образом можно прервать выполнение цикла с предусловием while и выйти из цикла?
Лабораторная работа № 5
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
С ПОСТУСЛОВИЕМ
Задание 1.
1.1. Разработайте ГСА и выполните пример 11. Организуйте провер­ку, что пользователь ввел число от 0 до 10.
55
Программный код:
Программный код:
Результат:
1.2. Разработайте ГСА и выполните пример 12. Найдите сумму крат-
ных 3 чисел от 1 до N и подсчитайте их количество.
Модифицируйте пример 12 следующим образом: выведите на экран
числа, кратные 3.
1.3. Разработайте ГСА и выполните пример 13. Вычислите сумму
элементов s = 1+1/4+1/9+1/16+... c точностью до E = 0.00001.
Модифицируйте пример 13 следующим образом: выведите на экран
все слагаемые и максимальное из них.
56
Программный код:
Рис. 13
Рис. 14
Задание 2.
2.1. Для фрагментов ГСА (рис. 13, 14, 15) составьте программный код на языке программирования Си.
Рис. 15
57
2.2. Изучите псевдокод и ГСА (рис. 16, 17). Разработайте программ-
ный код для вычисления суммы первых десяти целых чисел.
Рис. 16. Псевдокод
Рис. 17. Алгоритм вычисления суммы первых десяти целых чисел
58
Задание 3.
Индивидуальные задания
В соответствии с индивидуальным вариантом разработайте ГСА для цикла с постусловием и на языке программирования C программу для за­дач из табл. 17. Строки программного кода сопроводите комментариями.

Контрольные вопросы

1. Как выполняется цикл с постусловием в языке C?
2. Каким образом в цикле можно накопить переменную счетчик?
3. Может ли в теле цикла выполниться несколько операторов?
4. Можно ли использовать в теле цикла с постусловием оператор
условия?
5. Каким образом можно прервать выполнение цикла с постусловием
и выйти из цикла?

ТЕМА 1.4. МАССИВЫ. ОБРАБОТКА МАССИВОВ

Массив – совокупность переменных одного типа, к которым обра­щаются с помощью общего имени. Доступ к отдельному элементу масси­ва может осуществляться с помощью индекса.
Массивы бывают статическими и динамическими.
У статического массива количество элементов известно заранее и не может быть изменено.
У динамического массива количество элементов заранее неизвестно и определяется в процессе выполнения программы.
Массивы могут иметь одну или несколько размерностей (одномер­ные, двумерные, трехмерные и т. д.).
Пример одномерного массива: вектор a{4, 45, 10, 0}.
59
Пример двумерного массива: матрица. Пример трехмерного массива: набор высот местности.
Объявление массивов
Чтобы объявить массив в C, программист указывает тип элементов
и количество элементов, необходимых для массива, следующим образом:
<класс><тип><идентификатор>[конст. выраж1][конст. выраж2]…;
Квадратные скобки здесь обязательны, константное выражение
в квадратных скобках задает количество элементов в массиве (размер­ность) по каждому измерению. Число измерений определяется числом квадратных скобок. Например:
type arrayName [ arraySize ];
Это называется одномерным массивом; arraySize должен быть цело-
численной константой больше нуля, а тип может быть любым допусти­мым типом данных C. Например, чтобы объявить массив из 10 элементов с именем balance типа double, используйте этот оператор: double
balance[10];
Здесь balance – это массив переменных, которого достаточно для
хранения до 10 двойных чисел.
Инициализация одномерного массива
Можно инициализировать массив в C либо один за другим, либо
с помощью одного оператора следующим образом:
double balanc e[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
Количество значений между фигурными скобками {} не может быть
больше, чем количество элементов, которые мы объявляем для массива в квадратных скобках []. Если опустить размер массива, будет создан мас­сив, достаточно большой для проведения инициализации. Поэтому, если вы напишете double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0}; то создадите точно такой же массив, как и в предыдущем примере.
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]