Любую программу необходимо составлять таким образом, чтобы ее исполнение имитировало диалог между компьютером и пользователем в понятной для человека форме. Прежде чем начать составление такой программы, нужно продумать сценарий диалога. Компьютерная программа не обязательно должна иметь математическое содержание. На слайде представлен пример сценария, по которому компьютер выполняет роль электронной няньки, заботящейся о здоровье школьника. В зависимости от ответов школьника программа выполняет один из вариантов развития сценария. алг НЯНЬКА если T > 36.6 ввод Т нач вещ T кон то вывод «Ты еще болен! Раздевайся и ложись в постель.» иначе вывод «Ты здоров, дружок! Можешь идти в школу.» кв вывод «Ты вчера был болен. Измерь-ка температуру!» вывод «Сообщи, какая у тебя температура:» вывод «Поправляйся, дружок!» вывод «Желаю успехов!» Диалоговая программа на Паскале
Составляя подобную программу на языке Паскаль программист сам организует интерфейс компьютера с пользователем программы. Этот интерфейс обязательно должен быть дружественным. Содержание диалога должно быть понятным и удобным. Необходимо обратить внимание на два момента: перед словом ELSE нельзя ставить точку с запятой в записи и при вводе вещественных чисел целая и дробная части числа отделяются точкой PROGRAM NANNY ; IF T > 36.6 READLN ( Т ) ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END Алгоритм диалога с компьютером
END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; Ты вчера был болен. Измерь-ка температуру! С помощью оператора вывода WRITELN на экран компьютера выводится сообщение компьютера в соответствии со сценарием диалога. PROGRAM NANNY ; IF T > 36.6 READLN ( Т ) ; BEGIN VAR T : REAL ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ;
PROGRAM NANNY ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: IF T > 36.6 READLN ( Т ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END С помощью оператора вывода WRITELN на экран компьютера выводится информация в форме команды. Школьнику предлагается измерить температуру тела и ввести эти данные в компьютер с клавиатуры. WRITELN ( «Сообщи, какая у тебя температура:» ) ;
PROGRAM NANNY ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: Ввод данных о температуре тела в компьютер. Можно рассмотреть работу программы по двум вариантам. Введи одно из двух показаний термометра. IF T > 36.6 ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END READLN ( Т ) ;
PROGRAM NANNY ; READLN ( Т ) ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 36.4 По служебному слову IF (ЕСЛИ) компьютер сравнивает значение температуры тела, введенное с клавиатуры T = 36.4 с нормальным значением 36.6 градусов (проверка истинности условия). Результат сравнения – ложь (условие не выполнено). IF T > 36.6
PROGRAM NANNY ; IF T > 36.6 READLN ( Т ) ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 36.4 Ты здоров, дружок! Можешь идти в школу!. Так как температура тела соответствует норме, компьютерная программа выводит на экран компьютера сообщение о том, что ребенок здоров и может идти в школу. WRITELN ( «Желаю успехов!» ) END ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ;
PROGRAM NANNY ; IF T > 36.6 READLN ( Т ) ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 36.4 Ты здоров, дружок! Можешь идти в школу!. Желаю успехов! Продолжение фразы в следующей строке по новому оператору вывода. Компьютерная программа желает успехов в соответствии с разработанным сценарием. ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Желаю успехов!» ) END
PROGRAM NANNY ; BEGIN VAR T : REAL ; END. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 37.6 READLN ( Т ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Поправляйся, дружок!» ) END WRITELN ( «Желаю успехов!» ) END По служебному слову IF (ЕСЛИ) компьютер сравнивает значение температуры тела, введенное с клавиатуры T = 37.6 с нормальным значением 36.6 градусов (проверка истинности условия). Результат сравнения – истина (условие выполнено). IF T > 36.6
PROGRAM NANNY ; BEGIN VAR T : REAL ; END. Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 37.6 Ты еще болен! Раздевайся и ложись в постель. IF T > 36.6 READLN ( Т ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Желаю успехов!» ) END WRITELN ( «Поправляйся, дружок!» ) END Так как температура тела не соответствует норме, компьютерная программа выводит на экран компьютера сообщение о том, что ребенок болен и должен лечь в постель. THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ;
PROGRAM NANNY ; BEGIN VAR T : REAL ; END. Ты вчера был болен. Измерь-ка температуру! Сообщи, какая у тебя температура: 37.6 Ты еще болен! Раздевайся и ложись в постель. Поправляйся, дружок! IF T > 36.6 READLN ( Т ) ; ELSE BEGIN WRITELN ( «Ты здоров, дружок! Можешь идти в школу.» ) ; WRITELN ( «Ты вчера был болен. Измерь-ка температуру!» ) ; WRITELN ( «Сообщи, какая у тебя температура:» ) ; WRITELN ( «Желаю успехов!» ) END THEN BEGIN WRITELN ( «Ты еще болен! Раздевайся и ложись в постель.» ) ; Продолжение фразы в новой строке по новому оператору вывода. Компьютерная программа желает выздоровления в соответствии со сценарием. WRITELN ( «Поправляйся, дружок!» ) END