При запуске в консоль выводятся значения g, каждый раз с увеличенной sigma на 0.1. С каждым разом g уменьшается пока не доходит до нуля (чем больше sigma, тем меньше g). В итоге, дойдя до нуля цикл не останавливается, хотя условие выполнения цикла — пока g>1. Что я делаю не так?
var g,sigma:real; x,i:integer; begin x:=100; sigma:=0; repeat sigma:=sigma+0.1; g:=1/(2.506628275*sigma)*power(2.718281828,(-1*sqr(x))/(2*sqr(sigma))); g:=roundto(g,-4); writeln(g:10,4); //g перестаёт изменятся дойдя до значения 0.0E+00004 , что, как until g>1; //я понимаю, больше 1. Но цикл продолжается, хотя значение //остаётся readln; end.
Отслеживать
задан 7 апр 2012 в 18:45
1,249 2 2 золотых знака 20 20 серебряных знаков 55 55 бронзовых знаков
0.0E+00004 > 1 — все правильно?
7 апр 2012 в 19:05
А что это значит?
7 апр 2012 в 19:12
да я просто думаю, что твое условие некогда не выполняется
7 апр 2012 в 19:15
Не силён в паскале, скажите power и roundto — это стандартные функции или Ваши? Просто ideone ругается на них [ideone.com/Yl2CS][1] [1]: ideone.com/Yl2CS
Geany — программировать просто. Первая программа на Pascal
7 апр 2012 в 19:20
Это стандартные ф-ии. Но писал я в Delphi. Там они объявлены в модуле Math
Источник: ru.stackoverflow.com
Как остановить цикл? Как поставить цикл на паузу и продолжить? Pascal, Python, JavaScript.
Добрый день! Продолжаем тему циклов, ранее мы посмотрели, как сделать задержку в цикле на распространенных «школьных» Pascal, Python и также JavaScript. Однако для создания, например, простой игры, нам потребуется еще и возможность останавливать циклы и ставить их на паузу и продолжать.
Сразу покажу результат на JS:
Mы можем поставить цикл на паузу и возобновить его, а также прервать, для этого нам понадобятся три функции — Start(), Pause() и Stop(), а также две переменных состояния pauseState и stopState, изначально они имеют значение false:
let pauseState = false;
let stopState = false;
async function Start()
stopState = false;
console.log(«Старт»);
for (let i = 0; i <= 10; i++)
while (pauseState)
await delay(100); // проверяем состояние pauseState каждые 100мс
>
if (stopState)
console.log(«Цикл прерван!»);
return;
>
console.log(i);
await delay(1000); // ждем одну секунду перед выполнением следующей итерации цикла
>
console.log(«Цикл завершен!»);
>
function Pause()
pauseState = !pauseState; //меняем состояние pauseState
>
function Stop()
stopState = true;
pauseState = false; //ставим pauseState ложным, иначе не будет повторного запуска, если цикл был прерван в момент паузы
Паскаль для новичков 4-ввод информации и компиляция программы
>
Рабочий пример (с дополнительными сообщениями и блокировкой кнопок) — как обычно на CodePen .
А что же с питоном и паскалем? В Python подобный код будет выглядет так (для разнообразия используем цикл while без задержки):
import msvcrt
print(«Нажмите любую клавишу, чтобы остановить цикл.»)
while(True):
if msvcrt.kbhit(): # проверка наличия нажатия клавиши
break # выход из цикла, если клавиша была нажата
print(«Выполняется»)
print(«Цикл завершен.»)
Pascal как остановить программу
Спрятать опции
Установить закладку
+ Настройки
Размер шрифта:
14 | 16 | 18 | 20 | 22 | 24
Ширина текста:
50% | 60% | 70% | 80% | 90% | 100%
Цвет текста:
Установить
Цвет фона:
Установить
Сбросить настройки
+ Оглавление
Тема №1. Целочисленные вычисления на языке Pascal
Тема №2 Использование модуля CRT
Тема №3 Графический модуль GraphABC
Тема №4 Цикл for
Тема №5 Оператор if
Тема №6. Оператор case
Тема №7 Операторы цикла While и Repeat … Until
Тема №8. Вещественные вычисления
Тема №9. Подпрограммы-функции
Тема №10. Подпрограммы-процедуры
Тема №11. Способ передачи параметров
Тема №12. Массивы
Тема №13. Сортировка массивов
Тема №14 Работа с файлами
Тема №15 Работа со строками символов
Тема №16 Множества символов
Тема №17 Задача о квадратном уравнении
Источник: royallib.com