Лабораторная работа Цикл с параметром в Turbo Pascal Оператор цикла с параметром FOR...TO...DO. Для организации циклического алгоритма часто используется оператор цикла с параметром: for i:=A to B do S, где i-некоторая переменная (параметр или счетчик цикла) типа integer, A и B (B>A) выражения со значением типа integer, S — оператор (тело цикла). Если A>B, то оператор S не будет выполнен ни разу (когда параметр i возрастает). Если параметр i возрастает, то между границами его значений A и B ставится слово TO, если же i убывает, то ставится слово DOWNTO и оператор цикла выполняется при A>B. Пример программы с оператором цикла с параметром: program Summa; var i,n:integer; s,q:real; begin writeln('Вычислите сумму первых n членов ряда:'); writeln('S=1+1/4+1/9+...+1/(n*n).'); write('Введите число членов суммы: n='); read(n); for i:=1 to n do s:=s+1/(i*i); writeln('Cумма первых n членов ряда равна: S=',s:6:2); writeln('Для выхода из программы введите число 1.'); readln(q); end. Если в циклической части программы стоит всего один оператор, операторные скобки BEGIN — END можно не указывать. 1 2 1. 2. 3. 1. 2. 3. Задания Первые две задачи на повторение пройденных тем. Третья задача на новую тему. После выполнения лабораторной работы, необходимо ответить на контрольные вопросы х Введите значение переменной х. Вычислить значение у = а + 5, если а = √|х| + 1 Написать программу проверки знания даты начала Второй мировой войны. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году началась Вторая мировая война? Введите число и нажмите <Enter> 1939 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! Вычислить сумму 12 + 22 + 32 + 42 + ⋯ + 𝑛2 2х Введите значение переменной х. Вычислить значение у = а−1 + 5, если а = √|х| − 4 Написать программу проверки знания даты основания Санкт-Петербурга. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году основан Санкт-Петербург? Введите число и нажмите <Enter> 1703 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 1 1 1 1 Вычислить сумму 12 + 22 + 32 + ⋯ + 𝑛2 3 4 3 1. Введите значение переменной х. Вычислить значение у = 2𝑎х2 − х, если а = х−4 2. Написать программу проверки знания единицы измерения информации. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: Сколько байт содержится в одном килобайте? Введите число и нажмите <Enter> 1024 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 1 2 3 𝑛 3. Вычислить сумму + + + ⋯+ 1+1 1+2 1+3 1+𝑛 1. Введите значение переменной х. Вычислить значение у = 𝑙𝑛𝑎 − |𝑥 − 𝑎|, если а = |𝑥|/2 2. Написать программу проверки знания даты основания Москвы. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году основана Москва? Введите число и нажмите <Enter> 1147 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 2 2 2 2 3. Вычислить сумму 1∙2 + 2∙3 + 3∙4 + ⋯ + (1+𝑛)∙𝑛 3х 5 1. Введите значение переменной х. Вычислить значение у = 2−𝑎2 − х, если а = 4 2. Написать программу проверки знания даты полета первого космонавта в космос. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году полетел Гагарин в космос? Введите число и нажмите <Enter> 1961 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 1 1 1 1 3. Вычислить сумму 2+1 + 2+2 + 2+3 + ⋯ + 2+𝑛 6 1. Введите значение переменной х. Вычислить значение у = х2 − |𝑎|, если а = √5 + 2х 2. Написать программу проверки знания даты начала Великой Отечественной войны. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году началась Великая Отечественная война? Введите число и нажмите <Enter> 1941 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 3. Вычислить сумму 2√1 + 2√2 + 2√3 + ⋯ + 2√𝑛 1. Введите значение переменной х. Вычислить значение у = √𝑎𝑥 + 5, если а = ех − 4 2. Написать программу проверки знания даты основания Чебоксар. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: В каком году основан город Чебоксары? Введите число и нажмите <Enter> 1469 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 1 1 1 1 3. Вычислить сумму 1 + 2 + 3 + ⋯ + 𝑛 7 √ √ √ √ 8 𝑎−5 1. Введите значение переменной х. Вычислить значение у = + 5, если а = −х − 4 2𝑥 2. Написать программу проверки знания количества информации в одном байте. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: Сколько бит информации в одном байте? Введите число и нажмите <Enter> 8 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 1 2 3 𝑛 3. Вычислить сумму 1 + 2 + 3 + ⋯ + 𝑛 √ √ √ √ 9 1. Введите значение переменной х. Вычислить значение у = 10 − 𝑥𝑎2 , если а = х − 4 2. Написать программу проверки знания содержания в одном литре сколько кубических сантиметров. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: Сколько кубических сантиметров в одном литре? Введите число и нажмите <Enter> 1000 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 3+1 3+2 3+3 3+𝑛 3. Вычислить сумму 2+1 + 2+2 + 2+3 + ⋯ + 2+𝑛 10 1. Введите значение переменной х. Вычислить значение у = 𝑎 − 𝑎2 , если а = −4 + 2𝑥 2. Написать программу проверки знания коэффициента свободного падения. В случае неправильного ответа пользователя, программа должна выводить правильный ответ. Ниже приведен рекомендуемый вид экрана во время выполнения программы: Чему равен коэффициент свободного падения? Введите число и нажмите <Enter> 9.81 Правильно! Молодец! Если ввести неправильную дату, то вывести сообщение Не правильно. Вы ошиблись! 𝑥 √1 √2 √3 √𝑛 3. Вычислить сумму 2+1 + 2+2 + 2+3 + ⋯ + 2+𝑛 1 вариант Контрольные вопросы 1. Что означает фрагмент программы? Var A: integer; B:real; Begin Readln(A,B); 2. В каком случае цикл For i:=нач.знач.downto кон.знач. do не будет выполняться? 3. Что такое цикл? 4. Найдите ошибку: Var A,B,i:real: Begin Readln(A); B:=1; For i:=1 to А do B=B+i; Readln(B) End. 5. Найдите ответ ( чему равен S): Begin A:=5; S:=1; For i:=1 to А do S=S*i; Writeln(S); End. 2 вариант Контрольные вопросы 1. Что такое тело цикла? 2. Чем отличается цикл For i:=нач.знач. to кон.знач. do от For i:=нач.знач.downto кон.знач. do? 3. Переменные какого типа должны использоваться в качестве счетчика цикла For? 4. Найдите ошибку: Var A,B:integer; i:real: Begin realln(A); B=1; For i:=1 to А do B=B+i; Readln(B) End. 5. Найдите ответ ( чему равен S): Begin A:=5; S:=0; For i:=1 to А do S=S+i; Writeln(S); End. 3 вариант Контрольные вопросы 1. Что означают операторы Writeln(a); Readln(b); Readln; ? 2. В каком случае цикл For i:=нач.знач. to кон.знач. do не будет выполняться? 3. Какой оператор нужно использовать, чтобы вывести на экран слово «Привет»? 4. Найдите ошибку: Var A,B, real i:integer: Begin; Readln(A); B:=1; For i=1 to А do B=B+i; Readln(B) End. 5. Найдите ответ ( чему равен S): Begin A:=5; S:=5; For i:=1 to А do S=S+i; Writeln(S); End. 4 вариант Контрольные вопросы 1. В каком случае используется оператор IF, а в каком - CASE ? 2. Переменные какого типа должны использоваться в качестве счетчика цикла For? 3. Какой блок используется для изображения цикла в блок-схеме? 4. Найдите ошибку: Var A,B, readln; i:integer: Begin; Riadln(A); B:=1; For i=1 do А do B=B+i; Readln(B) End. 5. Найдите ответ ( чему равен S): Begin A:=5; S:=5; For i:=1 to А do S=S+i; Writeln(S); End.