Добрый день, товарищи!
Продолжая знакомится с одномерными массивами на языке программирования Pascal я предлагаю решить нам следующую задачу:
Дан одномерный целочисленный массив из 10 элементов. Числа случайны в диапазоне -10...10.
Сосчитать количество отрицательных элементов массива.
Звучит несколько сложно, нужно будет использовать генератор случайных чисел, соответственно, функцию random. Но, нерешимых задач не бывает, поэтому начнем.
1. Переменные, определяем массив
Здесь мы определяем наш массив типа Integer, а так же две переменные - счетчик для цикла и переменную для подсчета количества отрицательных чисел.
В предыдущей статье по массивам (это ссылка!) я рассказывал, почему массив определяется именно так.
2. Запускаем крутиться цикл
Так как в задании говорится о 10 элементов массива - нам нужен цикл. Почему от 0 до 9, а не от 1 до 10, спросите вы?
Потому что циклы в Pascal, да и в большинстве других языков программирования начинают свой отсчет с 0. Это просто стоит запомнить.
3. Основной функционал цикла
Элемент массива задается в первой строчке, путем использования функции random. (20)-10 означает, что береться диапазон в 20 чисел, начиная с -10.
Далее сгенерированный элемент показывается пользователю.
После этого в конструкции if проверяется, меньше ли текущий элемент массива числа 0, и если да, то данные об этом записываются в переменную min.
4. Выводим итоговый ответ
В данной части кода идет проверка, есть ли хоть один отрицательный элемент в массиве. Если же таковые имеются - выводится их количество.
Давайте протестируем нашу программу.
5. Тесты программы
Во втором и третьем тесте получилось интересно, первые два элемента совпали. По поводу остальных тестов можно сказать - программа работает правильно.
6. Код программы
Целиком код написанной программы выглядит так. Если вам необходимо, вы можете скачать этот код с Яндекс.Диска по ссылке ниже:
Скачать этот код с Яндекс.Диска
7. Заключение
Спасибо, что прочитали эту статью, надеюсь, она оказалась вам полезна.
Данный человек всегда открыт для обсуждения контента и общения с подписчиками, если найдутся какие либо вопросы то я обязательно постараюсь ответить на них.
По возможности я попросил бы подписаться и оценить публикацию. Сейчас это критически важно для развития канала.
Доброго вам всем здоровьица в эти трудные времена!