Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для kirill1059
14 / 14 / 3
Регистрация: 16.04.2013
Сообщений: 404

Выход из цикла

10.09.2013, 22:04. Показов 2425. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Есть программка которая генерирует примеры, а пользователь должен дать правильный ответ.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
program lil;
uses crt;
var a, b, c: integer;
        d, e: integer;
           s: string;
begin
randomize;
e:=0;
for d:=1 to 15 do begin
a:= 1+ random(10); b:= 1+ random(10);
write(d,')_Ñêîëüêî áóäåò ',a,' x ',b,' ?');
readln(s);
if s=0 then
break;
if a*b <> c then e:= e+1;
end;
case e of
0: s:='Îòëè÷íî';
1, 2: s:='Õîðîøî';
3..5: s:='Òàê ñåáå';
else s:='Î÷åíü ïëîõî';
end;
writeln(s, ' ', 'Íàæìèòå Enter');
readln;
end.
Так вот, нужно что бы при вводе нуля, программа завершалась, то есть выходила из цикла и обходила оператор выставляющий оценку.
Как бы я прописал после процедуры readln

Pascal
1
2
if s=0 then
break;
Но ещё полностью не могу с этим разобраться)
Объясните если не сложно)
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.09.2013, 22:04
Ответы с готовыми решениями:

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

Выход из цикла по нажитию клавиши
Подскажите пожалуйста как сделать выход из цикла по нажатию клавиши, любой кроме цифр. Используя readkey, возникают проблемы с readln....

Исправить exit на формальный выход из цикла
Нужно исправить все exit на формальный выход из цикла, help :help: uses crt; type arr=array of real; ar2=array of real; var ...

7
 Аватар для Ded_Vasilij
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
10.09.2013, 22:14
Цитата Сообщение от kirill1059 Посмотреть сообщение
s: string;
причем тут string вообще? делайте byte или integer, и будет вам счастье

Добавлено через 1 минуту
не по теме:
Цитата Сообщение от kirill1059 Посмотреть сообщение
Сколько будет
так писать не стоит
0
79 / 79 / 84
Регистрация: 26.09.2012
Сообщений: 341
11.09.2013, 16:07
kirill1059,
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program lil;
uses crt;
var a, b, c, d, e, s: integer;
begin
randomize;
e:=0;
for d:=1 to 15 do begin
a:= 1+ random(10); b:= 1+ random(10);
c:=a*b;
write(d,')_Сколько будет ',a,' x ',b,' ?');
readln(s);
if s=0 then break;
if a*b <> c then e:= e+1;
end;
case e of
0: s:='Отлично';
1, 2: s:='Хорошо';
3..5: s:='Так себе';
else s:='Очень плохо';
end;
writeln(s, ' ', 'Нажмите Enter');
readln;
end.
0
 Аватар для kirill1059
14 / 14 / 3
Регистрация: 16.04.2013
Сообщений: 404
11.09.2013, 21:28  [ТС]
Mishania, но вы присваиваете переменной типа integer выражение типа string.

Добавлено через 11 минут
Mishania, разобрался)
только вот при выходе из цикла с помощью процедуры break, присваивается оценка, можно ли это как нибудь обойти?
0
 Аватар для Ded_Vasilij
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
11.09.2013, 21:32
Цитата Сообщение от kirill1059 Посмотреть сообщение
присваивается оценка
кому, в смысле какой переменной?
0
 Аватар для kirill1059
14 / 14 / 3
Регистрация: 16.04.2013
Сообщений: 404
11.09.2013, 21:35  [ТС]
Ded_Vasilij, ну то есть, когда выхожу из цикла с помощью процедуры break, то выводит переменную string "Отлично", а нужно что бы программа при выходе из цикла обходила стороной присваивание оценки и по завершению ни чего не писала.
0
 Аватар для Ded_Vasilij
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
11.09.2013, 21:49
так она и будет присваивать, Вы же е:=0 написали, а в кейсе есть условие е= 0. напишите е:=-1 и будет Вам счастье

Добавлено через 1 минуту
Цитата Сообщение от Mishania Посмотреть сообщение
e:= e+1;
лучше писать
Pascal
1
inc(e);
0
79 / 79 / 84
Регистрация: 26.09.2012
Сообщений: 341
12.09.2013, 14:01
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

kirill1059,
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program lil;
uses crt;
var a, b, c, d, e, s: integer;
begin
randomize;
e:=0;
for d:=1 to 15 do begin
a:= 1+ random(10); b:= 1+ random(10);
c:=a*b;
write(d,')_Сколько будет ',a,' x ',b,' ?');
readln(s);
if s=0 then break;
if a*b <> c then inc(e);
end;
case e of
0: Writeln('Отлично');
1, 2: Writeln('Хорошо');
3..5: Writeln('Так себе');
else Writeln('Очень плохо');
end;
writeln('Нажмите Enter');
readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2013, 14:01
Помогаю со студенческими работами здесь

Выход из вложенного цикла
Не получается продолжить поиск со следующей строки после нахождения первого отрицательного элемента в двумерном массиве. Полагаю, нужно...

Выход из бесконечного цикла
Здравствуйте Посмотрите вот такой интересный код s := 1; i := 1; repeat s := s/2; inc(i); writeln( i:2,' ',s,'...

Выход из цикла repeat и case
вот кусок проги в которой вычисляется сумма разность ,умножение чисел ,Под цифрами 1,2,3 в данном примере в case просто написаны...

Выход из цикла
Как сделать выход из цикла с помощью клавиши? #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int fun(int z, int e); int main() { ...

С++ Выход из цикла
Есть цикл, написанный в дополнительной функции. Нужно вывести сумму нескольких введенных чисел, если подходящей суммы нет,то вывести...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru