Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Petro29
8 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 303
#1

Составной оператор - Turbo Pascal

10.12.2017, 16:54. Просмотров 84. Ответов 2
Метки нет (Все метки)

Программа из Самоучителя Паскаль (стр. 49: 5.3. Составной оператор)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses Crt;
var Otvet: String;
      a, b: integer;
begin
writeln(' Чем займёмся – сложением или возведением в увадрат?');
    readln(Otvet);
     if Otvet = ' сложением '
       then
begin  write (' Ввести два числа:');
  readln(a, b);
  writln(' Сумма равна: ' ,a + b)
 end
else
begin write (' Ввести число: ');
  readln(a);
writeln(' Квадрат числа равен: ', a * a);
end;
writeln(' Счёт завершён.');
   readln
end.
На выходе имеем: (при 1-ом запуске)
Pascal
1
2
3
4
5
Чем займёмся – сложением или возведением в квадрат?
возведением в квадрат
  Ввести число:  15
  Квадрат числа равен:  225
  Счёт завершён.
(При 2-ом запуске)
Pascal
1
2
3
4
5
Чем займёмся – сложением или возведением в квадрат?
возведением в квадрат
  Ввести число:  15
  Квадрат числа равен:  225
  Счёт завершён.
Почему не работает первое условие? Второе условие работает.
А вот эта же программа, немного отредактированная.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses Crt;
var Otvet: String;
      a, b: integer;
begin
writeln(' Чем займёмся – сложением или возведением в увадрат?');
    readln(Otvet);
     if Otvet = ' сложением '    then
writeln (' Ввести два числа:');
  readln(a, b);
  writln(' Сумма равна: ' ,a + b)
 end
begin write (' Ввести число: ');
  readln(a);
writeln(' Квадрат числа равен: ', a * a);
end;
writeln(' Счёт завершён.');
   readln
end.
На выходе имеем:
Pascal
1
2
3
4
5
6
7
Чем займёмся – сложением или возведением в квадрат?
сложением
7  9
  Сумма равна?  16
  Ввести число:   8
  Квадрат числа равен:  64
  Счёт завершён.
Почему здесь строка "Ввести два числа:" не печатается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2017, 16:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Составной оператор (Turbo Pascal):

Оператор условия IF: вычислить начение составной функции
Дано действительное число x. Вычислить f(x), если x2 + 4х ...

Табулирование составной функции.
Буду краток. Помогите пожалуйста) Составить программу для заполнения таблицы...

Вычисление составной (сложной) функции
Задание: используя оператор условия (if … then), составить программу для...

Вычисления значений составной функции
Добрый день. помогите пожалуйста расписать вот ту формулу. Не знаю как...

Разветвления: вычислить значение составной функции
Помогите пожалуйста! Нужно сделать задачку. у=х*х+7*х-9 когда х>0 y= x*x-2...

Ветвеление: вычислить значение составной функции
нужно решить это ветвление! нужно сделать через цикл( for i или repeat)! а...

2
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
3755 / 2452 / 2034
Регистрация: 22.11.2013
Сообщений: 6,821
10.12.2017, 21:08 #2
1) условие работает. Только чтобы оно стало истинным, нужно ввести пробел сложением пробел, ведь именно это написано в апострофах.
2) не выполняется условие Otvet = ' сложением ', не выполняется и положительная ветвь условного оператора if then, состоящая из одного этого WriteLn.

Добавлено через 1 минуту
Но тут все-равно присутствует опечатка, нарушен баланс begin end.
0
Petro29
8 / 8 / 3
Регистрация: 30.04.2016
Сообщений: 303
24.12.2017, 10:58  [ТС] #3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses Crt;
var Otvet: String;
      a, b: integer;
begin
writeln(' Чем займёмся – сложением или возведением в увадрат?');
    readln(Otvet);
     if Otvet = ' сложением '  then
begin  write (' Ввести два числа:');
  readln(a, b);
  writln(' Сумма равна: ' ,a + b)
 end
else
begin write (' Ввести число: ');
  readln(a);
writeln(' Квадрат числа равен: ', a * a);
end;
writeln(' Счёт завершён.');
   readln
end.
На выходе имеем: (при 1-ом запуске)
Pascal
1
2
3
4
5
Чем займёмся – сложением или возведением в квадрат?
возведением в квадрат
  Ввести число:  15
  Квадрат числа равен:  225
  Счёт завершён.
Почему не работает первое условие? Второе условие
работает.
Получил такой ответ (дословный):
1) условие работает. Только чтобы оно стало истинным, нужно ввести
пробел сложением пробел, ведь именно это написано в апострофах.
(этот пункт совершенно не понятен)
2) не выполняется условие Otvet = ' сложением ' , не выполняется и
положительная ветвь условного оператора if then, состоящая из
одного этого Writeln.
(этот пункт тоже не понятен)
И всё таки я эту программу сделал, но только без ELSE.
Получилась отличная от заданной программа. Вот она:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses Crt;
var Otvet: String;
      a, b: integer;
begin
ClrScr;
writeln(' Чем займемся – сложением');
writeln(' или возведением в увадрат?');
     readln(Otvet);
begin
    write(' Ввести два числа: ');
        readln(a, b);
     if Otvet = ' сложением ' then
      end;
      writeln(' Сумма равна: ' , a + b);
     begin write(' Ввести число: ');
         readln(a);
       writeln(' Квадрат числа равен: ' , a * a);
      end;
         writeln(' Счёт завершён')l
     readln
end.
На выходе имеем:
Pascal
1
2
3
  Чем займёмся – сложением
  или возведением в квадрат?
сложением
Pascal
1
2
3
4
5
  Ввести два числа:  7  9
  Сумма равна:  16
  Ввести число:  15
  Квадрат числа равен:  225
  Счёт завершён
Что скажите. (вот только не получилось на выходе
отвести строку "сложением" от края).
И всё таки хотелось бы довести до ума
исходную программу с оператором ELSE.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2017, 10:58
Привет! Вот еще темы с решениями:

Вычислить значение сложной (составной) функции
Привет ! помогите написать программку Зарание Спасибо!

Нарисовать на экране составной статический объект
. Нарисовать на экране составной статический объект, состоящий из деталей...

Вычислить значение сложной (составной) функции
дравствуйте, Завтра последний день сдачи данной работы, сейчас сижу и изучаю...

Вычислить значение сложной (составной) функции
Буду признателен в содействии создания программы на Паскале следующего выражения


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru