Упражнение. Выполнение задачи для различения и выполнения инструкций итерации

Завершено

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

Проверьте разницу между итерациями инструкций и в то время как

Как вы видели, C# поддерживает четыре типа операторов итерации: for, foreach, do-whileи while. Справочная документация майкрософт по языку описывает следующие инструкции:

  • Оператор for : выполняет его тело, пока указанное логическое выражение (условие) оценивается как true.
  • Инструкция foreach : перечисляет элементы коллекции и выполняет его текст для каждого элемента коллекции.
  • Оператор do-while : условно выполняет свой текст один или несколько раз.
  • Оператор while : условно выполняет его тело ноль или более раз.

Итерации forforeach , как представляется, четко отличаются друг от друга и от do-while итерации while . Однако определения для do-while инструкций и while инструкций, как представляется, довольно похожи. Зная, когда выбирать между do-while и кажется while более произвольным, и даже может быть немного запутанным. Некоторые проекты, связанные с проблемами, могут помочь сделать различия четкими.

В этом вызове вы будете представлены условия для трех отдельных проектов программирования. Каждому проекту потребуется реализовать блок кода итерации с помощью инструкции do-while или инструкции while . Для выбора между do-while операторами и while операторами необходимо оценить указанные условия. Вы можете переключиться после начала, если ваш первый выбор не работает, а также вы надеялись.

Примечание.

Условия для проекта программирования можно использовать для выбора между do-while операторами и while операторами. Что вы знаете или не знаете, о логическое выражение, которое будет оцениваться, иногда помогает выбрать между do-while операторами и while операторами. В этом упражнении условия проекта включают сведения, которые будут использоваться для создания логического выражения.

Управление входными данными пользователей во время этой задачи

При использовании Console.ReadLine() инструкции для получения входных данных пользователя обычно используется строка типа NULL (назначенная string?) для входной переменной, а затем вычисляется значение, введенное пользователем. В следующем примере кода используется строка типа, допускающая значение NULL, для записи входных данных пользователя. Итерация продолжается, пока указанное пользователем значение равно NULL:

string? readResult;
Console.WriteLine("Enter a string:");
do
{
    readResult = Console.ReadLine();
} while (readResult == null);

Логическое выражение, вычисляемое while инструкцией, можно использовать для обеспечения соответствия входным данным пользователем указанного требования. Например, если запрос запрашивает у пользователя ввод строки, включающей не менее трех символов, можно использовать следующий код:

string? readResult;
bool validEntry = false;
Console.WriteLine("Enter a string containing at least three characters:");
do
{
    readResult = Console.ReadLine();
    if (readResult != null)
    {
        if (readResult.Length >= 3)
        {
            validEntry = true;
        }
        else
        {
            Console.WriteLine("Your input is invalid, please try again.");
        }
    }
} while (validEntry == false);

Если вы хотите использовать Console.ReadLine() входные данные для числовых значений, необходимо преобразовать строковое значение в числовый тип.

Метод int.TryParse() можно использовать для преобразования строкового значения в целое число. Метод использует два параметра, строку, которая будет вычисляться, и имя целочисленной переменной, которая будет назначена значению. Метод возвращает логическое значение. В следующем примере кода показано использование int.TryParse() метода:

// capture user input in a string variable named readResult

int numericValue = 0;
bool validNumber = false;

validNumber = int.TryParse(readResult, out numericValue);

Если строковое значение, назначенное readResult для представления допустимого целого числа, значение будет назначено целочисленной переменной с именем numericValueи true будет назначено логическое имя validNumberпеременной. Если значение, назначенное readResult не представляет допустимое целое число, validNumber будет присвоено значение false. Например, если readResult равно "7", то 7 значение будет назначено numericValue.

Проект кода 1. Написание кода, который проверяет целочисленные входные данные

Ниже приведены условия, которые должен реализовать первый проект программирования:

  • Решение должно включать или do-whilewhile итерацию.

  • Перед блоком Console.WriteLine() итерации решение должно использовать инструкцию для запроса пользователя целочисленного значения от 5 до 10.

  • Внутри блока итерации:

    • Решение должно использовать инструкцию Console.ReadLine() для получения входных данных от пользователя.
    • Ваше решение должно убедиться, что входные данные являются допустимым представлением целого числа.
    • Если целочисленное значение не имеет значения от 5 до 10, код должен использовать Console.WriteLine() инструкцию для запроса пользователя на целочисленное значение от 5 до 10.
    • Решение должно убедиться, что целочисленное значение составляет от 5 до 10, прежде чем выйти из итерации.
  • Ниже (после) блока кода итерации: решение должно использовать Console.WriteLine() инструкцию для информирования пользователя о том, что входное значение принято.

  1. Убедитесь, что в Visual Studio Code открыт пустой файл Program.cs.

    При необходимости откройте Visual Studio Code и выполните следующие действия, чтобы подготовить файл Program.cs в редакторе:

    1. В меню Файл выберите Открыть папку.

    2. Используйте диалоговое окно "Открыть папку", чтобы перейти к ней, а затем открыть папку CsharpProjects .

    3. На панели обозревателя Visual Studio Code выберите Program.cs.

    4. В меню выбора Visual Studio Code нажмите кнопку "Выбрать все", а затем нажмите клавишу DELETE.

  2. Напишите код, реализующий каждое условие для проекта кода 1.

  3. Запустите приложение и убедитесь, что код проверяет входные данные пользователей на основе указанных требований.

    Например, при запуске приложения он должен отклонять входные значения, такие как "two" и "2", но он должен принимать входное значение "7".

    В приведенном выше примере выходные данные консоли должны выглядеть следующим образом:

    Enter an integer value between 5 and 10
    two
    Sorry, you entered an invalid number, please try again
    2
    You entered 2. Please enter a number between 5 and 10.
    7
    Your input value (7) has been accepted.
    

Проект кода 2. Написание кода, который проверяет входные данные строки

Ниже приведены условия, которые должен реализовать второй проект кодирования:

  • Решение должно включать или do-whilewhile итерацию.

  • Перед блоком Console.WriteLine() итерации: решение должно использовать инструкцию для запроса пользователя на один из трех имен ролей: Администратор istrator, Manager или User.

  • Внутри блока итерации:

    • Решение должно использовать инструкцию Console.ReadLine() для получения входных данных от пользователя.
    • Решение должно убедиться, что введенное значение соответствует одному из трех параметров роли.
    • Решение должно использовать Trim() метод для входного значения, чтобы игнорировать начальные и конечные пробелы.
    • Решение должно использовать ToLower() метод для входного значения, чтобы игнорировать регистр.
    • Если введенное значение не соответствует одному из параметров роли, код должен использовать Console.WriteLine() инструкцию для запроса пользователя на допустимую запись.
  • Ниже (после) блока кода итерации: решение должно использовать Console.WriteLine() инструкцию для информирования пользователя о том, что входное значение принято.

  1. Закомментируйте весь код на панели редактора Visual Studio Code

    1. Выберите все строки кода в редакторе кода
    2. В меню "Изменить" выберите пункт "Переключить блокировку комментариев".
  2. Напишите код, реализующий каждое условие для проекта кода 2.

  3. Запустите приложение и убедитесь, что код проверяет входные данные пользователей на основе указанных требований.

    Например, при запуске приложения он должен отклонить входное значение, например "Администратор", но оно должно принимать входное значение "администратор".

    Выходные данные консоли для этого примера должны выглядеть примерно так:

    Enter your role name (Administrator, Manager, or User)
    Admin
    The role name that you entered, "Admin" is not valid. Enter your role name (Administrator, Manager, or User)
       Administrator
    Your input value (Administrator) has been accepted.
    

Проект кода 3. Написание кода, обрабатывающего содержимое массива строк

Ниже приведены условия, которые должен реализовать третий проект программирования:

  • Решение должно использовать следующий массив строк для представления входных данных в логику написания кода:

    string[] myStrings = new string[2] { "I like pizza. I like roast chicken. I like salad", "I like all three of the menu choices" };
    
  • Решение должно объявить целочисленную переменную с именем periodLocation , которая может использоваться для хранения расположения символа периода в строке.

  • Решение должно включать внешний foreach или for цикл, который можно использовать для обработки каждого элемента строки в массиве. Строковая переменная, которую вы будете обрабатывать внутри циклов, должна быть названа myString.

  • В внешнем цикле решение должно использовать IndexOf() метод String класса, чтобы получить расположение первого символа периода в переменной myString . Вызов метода должен быть аналогичен: myString.IndexOf(".") Если в строке нет символа периода, возвращается значение -1.

  • Решение должно включать внутренний do-while или while цикл, который можно использовать для обработки переменной myString .

  • В внутреннем цикле решение должно извлекать и отображать (записывать в консоль) каждое предложение, содержащееся в каждой из обработанных строк.

  • В внутреннем цикле решение не должно отображать символ периода.

  • В внутреннем цикле решение должно использовать Remove()Substring()методы и TrimStart() методы для обработки строковых сведений.

  1. Закомментируйте весь код на панели редактора Visual Studio Code

    1. Выберите все строки кода в редакторе кода
    2. В меню "Изменить" выберите пункт "Переключить блокировку комментариев".
  2. Напишите код, реализующий каждое условие, указанное для проекта кода 3.

  3. Запустите приложение и убедитесь, что выходные данные соответствуют требованиям.

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

    I like pizza
    I like roast chicken
    I like salad
    I like all three of the menu choices
    

Если вы застряли и должны ознакомиться с решением или успешно завершить работу, продолжайте просматривать проекты решения для этой задачи.