Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3549678
А
Аноним
21 января 2026 16:15 · публичный вопрос
А
Аноним

составить программу вычисляющую корень икс и выдающую ответ "не верен ввод" в случае неправильного ввода (х<0)

Ответ нейросети
21 января 2026 16:15

Цель задачи понятна: написать программу, которая вычисляет корень квадратный из x и при вводе x < 0 выводит "не верен ввод". Ниже приведено подробное решение и несколько реализаций на популярных языках. Объяснения рассчитаны на ученика средней школы.

Пошаговое объяснение алгоритма

  • Шаг 1: Ввести значение x.
  • Шаг 2: Проверить корректность ввода:
    • Если ввод не числовой, вывести "не верен ввод".
  • Шаг 3: Проверить домен функции корня:
    • Если x < 0, вывести "не верен ввод".
  • Шаг 4: В допустимом случае вычислить корень квадратный sqrt(x) и вывести результат.
  • Примечание: для отрицательного x математически корень под действительных чисел не существует, поэтому выдаётся сообщение об ошибке. При x = 0 результат равен 0.

Реализации

  1. Python
  • Пояснение: использует встроенную функцию sqrt из модуля math. Ввод преобразуется в float. Обработаны некорректные вводы.
  • Код:
import math

s = input().strip()  # ввод значения x
try:
    x = float(s)
except ValueError:
    print("не верен ввод")
    exit()

if x < 0:
    print("не верен ввод")
else:
    print(math.sqrt(x))
  1. C++
  • Пояснение: читает число типа double. При неудачном вводе или при x < 0 выводится сообщение об ошибке; иначе выводится sqrt(x).
  • Код:
#include <iostream>
#include <cmath>

int main() {
    double x;
    if (!(std::cin >> x)) {
        std::cout << "не верен ввод";
        return 0;
    }
    if (x < 0) {
        std::cout << "не верен ввод";
        return 0;
    }
    std::cout << std::sqrt(x);
    return 0;
}
  1. Java
  • Пояснение: читаем двоичное число через Scanner. Если ввод не число или если x < 0 — сообщение об ошибке; иначе выводим квадратный корень.
  • Код:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        if (!sc.hasNextDouble()) {
            System.out.println("не верен ввод");
            sc.close();
            return;
        }

        double x = sc.nextDouble();
        if (x < 0) {
            System.out.println("не верен ввод");
        } else {
            System.out.println(Math.sqrt(x));
        }
        sc.close();
    }
}
  1. JavaScript (Node.js)
  • Пояснение: считывается всё содержимое входа, приводится к числу. Если NaN или x < 0 — сообщение об ошибке; иначе выводим квадратный корень.
  • Код:
const fs = require('fs');

const input = fs.readFileSync(0, 'utf8').trim();
const x = Number(input);

if (Number.isNaN(x) || x < 0) {
  console.log('не верен ввод');
} else {
  console.log(Math.sqrt(x));
}

Пояснения по подбору решений

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

Примеры тестов

  • Ввод: 9 → Вывод: 3.0 (или 3 в зависимости от языка)
  • Ввод: 0 → Вывод: 0.0 (или 0)
  • Ввод: -4 → Вывод: не верен ввод
  • Ввод: "abc" → Вывод: не верен ввод

Если хотите, могу адаптировать код под конкретный язык/среду выполнения или добавить обработку локали (например, замена запятой на точку, если вводят 3,14 как десятичное число).