М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
falendadmitry
falendadmitry
27.07.2021 04:16 •  Информатика

Необходимо написать программу используя оператор выбора case. формулировка: составить программу, которая по введенной с клавиатуры буквы (p,k,t) будем высчитывать площади прямоугольника, квадрата и треугольника соответственно. попробовал решить самостоятельно: program hw; uses crt; var x,y: integer; { длинна и ширина прямоугольника } a,b: integer; { основание и высота треугольника } d: integer; { длина стороны квадрата } rez: real; { результат } ploshad: real; { площадь } p: real; { прямоугольник } k: real; { квадрат } t: real; { треугольник } begin write ('если вы желаете вычеслить площадь прямоугольника, введите его длину и ширину, если же нет, оставьте это поле пустым: '); readln (x,y); write ('если вы желаете вычеслить площадь квадрата, введите длину его стороны, если же нет, оставьте это поле пустым: '); readln (d); write ('если вы желаете вычеслить площадь треугольника, введите его основание, а затем высоту, если же нет, оставьте это поле пустым: '); readln (a,b); write ('укажите букву площади которую хотите вычеслить: прямоугольника(p),квадрата(k) или же треугольника(t) - '); readln (ploshad); case ploshad of p: rez: =x*y; k: rez: =d*d; t: rez: =0.5*a*b; else write ('извините, вы ввели не верный символ.'); end; begin writeln ('результат = ',rez: 100: 3); end; end. но, при запуске программы в строке "case ploshad of" выдает ошибку, что "ожидался порядковый или строковый тип". как исправить?

👇
Ответ:
Treed1
Treed1
27.07.2021
Исправил решение. Теперь все работает как нужно. код программы в файле.
4,4(85 оценок)
Открыть все ответы
Ответ:
маша3054
маша3054
27.07.2021
Делать это несложно. Есть два

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

Второй назовем "я - человек". Вы напрягаете свой мозг и определяете, что именно делает алгоритм, после чего проводите нужные вычисления. В этом варианте обычно к результату приходят быстрее.

Попробуем второй путь.

Вначале полагаем, что s=0, n=12.
Далее следует цикл, в котором i последовательно принимает значения 1, 2, ... 10.
s=s+"что-то" говорит нам о том, что в s накапливается некая сумма, для чего s предварительно обнулялось.
А что именно накапливается? n-i. При проходах по циклу это будут значения n-1, n-2, ... n-10.
У нас n=12, поэтому в s будет накапливаться сумма 11+10+9+...+2. Или, это удобнее записать как 2+3+4+...+9+10+11.
Это сумма арифметической прогрессии из 10 членов и ее можно найти по формуле суммы арифметической прогрессии. Если лениво вспоминать формулу, можно просто сложить эти числа. А можно поступить, как поступил в свое время Гаусс: заметить, что 2+11=13, 3+10=13, 4+9=13 и таких пар 5. И найти результат 5×13=65. Такая вот победа мозга над рутиной)))
ответ: 65
4,7(90 оценок)
Ответ:
pstepanova496
pstepanova496
27.07.2021

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {

       double Ax, Bx, Cx;

       Scanner sc = new Scanner(System.in);

       try {

           System.out.println("Waiting for input A, B and C...");

           Ax = sc.nextDouble();

           Bx = sc.nextDouble();

           Cx = sc.nextDouble();

           if (!(Cx > Math.min(Ax, Bx) && Cx < Math.max(Ax, Bx))) {

               System.out.println("Неверные входные данные.");

               return;

           }

           double AC = Math.abs(Cx - Ax);

           double BC = Math.abs(Cx - Bx);

           System.out.println("AC = " + AC);

           System.out.println("BC = " + BC);

           System.out.println("AC * BC = " + AC * BC);

       } catch (RuntimeException e) {

           System.out.println("Неверные входные данные.");

       }

   }

}

Проблемы, вопросы или предложения по работе программы в комментарии.

4,4(1 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ