Пример программы на языке Pascal




Разработать алгоритм и составить программу, в которой пользователь вводит с клавиатуры два числа, после чего ему предоставляется следующий выбор: если первое число меньше второго, то увеличить наименьшее из введенных чисел в 5 раз и вычислить их сумму, в противном случае, уменьшить наибольшее из них в 3 раза и вычислить их произведение.

Program Primer2;

label A;

var x, y, z: real;

m: integer;

begin

write('Введите первое число '); readln(x);

write('Введите второе число '); readln(y);

A: writeln('Нажмите 1 чтобы увеличить наименьшее из них

в 5 раз и сложить два числа');

writeln('Нажмите 2 чтобы уменьшить наибольшее из них

в 3 раза и умножить два числа');

readln(m);

case m of

1: begin

if x<y then x:=x*5 else y:=y*5;

z:=x+y;

writeln('Первое число равно ', x:8:4, ' Второе число

равно ', y:8:4, ' Их сумма равна ', z:8:4);

end;

2: begin

if x>y then x:=x/3 else y:=y/3;

z:=x*y;

writeln('Первое число равно ', x:8:4, ' Второе число

равно ', y:8:4, ' Их произведение равна ', z:8:4);

end;

else goto A;

end;

end.

Рис. 5 – Схема алгоритма работы программы

Контрольные вопросы

1. Что понимают под составным оператором?

2. Особенности организации составных операторов?

3. Что понимают под алгоритмом ветвления?

4. Привести примеры случаев ветвления.

5. Как обозначается ветвление в блок–схемах?

6. Какие операторы ветвления существуют в языке Turbo Pascal?

7. Структура условного оператора?

8. Какой формат имеет оператор IF?

9. Какие различия между полной и сокращенной формой условного оператора?

10. Структура оператора выбора?

11. Что такое ключ выбора, список выбора и константа выбора?

12. Какие различия между полной и сокращенной формой записи оператора выбора?

13. Что такое метка в языке Turbo Pascal?

14. Как описываются в программе метки?

15. Что такое оператор безусловного перехода?


Лабораторная работа № 3.
Организация циклов

Цель работы: изучение оператора «цикла с параметром», «цикла с предусловием», «цикла с постусловием» и составление программ с циклической структурой на языке Turbo Pascal.

Теоретические сведения

Циклы предназначены для многократного выполнения некоторой последовательности операторов, что значительно сокращает объем программы и повышает ее читабельность. В языке Turbo Pascal реализованы три оператора цикла. Формально эти операторы называют «цикл с параметром», «цикл с предусловием» и «цикл с постусловием». Для каждого из этих циклов существуют свои области применения. Эти области рассмотрим при подробном рассмотрении каждого из операторов цикла.

Цикл с параметром

Обобщенный синтаксис этого оператора следующий:

for <счетчик >:= <нач_знач> to <кон_знач> do <тело_цикла>;

Здесь:

<счетчик> – параметр цикла – переменная типа Integer. Эта переменная при выполнении тела цикла при каждом выполнении последовательно принимает значения от <нач_знач> до <кон_знач>;

<нач_знач>, <кон_знач> – начальное и конечное значение счетчика;

<тело_цикла> – последовательность операторов, которая выполняется в цикле. Тело цикла может содержать один оператор или несколько. В случае нескольких операторов их заключают в операторные скобки (составной оператор).

При выполнении программы процесс выполнения цикла выглядит следующим образом:

· первоначально (до цикла) значение переменной–счетчика в общем случае не определено;

· в момент первого выполнения оператора for счетчик принимает значение <нач_знач>;

· далее выполняются операторы <тело_цикла>. При выполнении этих операторов значение счетчика не изменяется;

· при достижении последнего оператора в теле цикла управление возвращается на оператор for, где значение счетчика увеличивается на 1 и сравнивается с <кон_знач>. Если счетчик стал больше, чем <кон_знач>, управление передается на следующий после цикла оператор.

Таким образом, можно сделать следующий вывод: цикл for выполняется столько раз, сколько различных значений есть между <нач_знач> и <кон_знач> включительно. Cхема алгоритма цикла с параметром приведена на рисунке 6.

Рис. 6 – Схема алгоритма цикла с параметром

Если начальное значение равно конечному, цикл выполнится один раз. Если начальное значение больше конечного, цикл не выполнится ни разу.

В том случае, если требуется менять значения счетчика в сторону уменьшения – от большего к меньшему – то применяется несколько иная форма цикла:

for <счетчик >:= <нач_знач> downto <кон_знач> do <тело_цикла>;

В этом случае при каждом выполнении оператора for значение счетчика уменьшается на 1.

Данный вид цикла применяется чаще всего для перебора элементов массива, и в тех случаях, когда количество проходов заранее известно.

Цикл с предусловием

Обобщенный синтаксис этого оператора следующий:

while <условие> do <тело_цикла>;

<Условие> является логическим выражением. Это означает, что результатом вычисления этого выражения является одно из значений TRUE или FALSE.

 

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

A

Рис. 7 – Схема алгоритма цикла с предусловием

Этот цикл применяется в тех случаях, когда число итераций заранее неизвестно. Типичный пример – различные задачи поиска, или расчеты методом последовательных приближений.

Цикл с постусловием

Обобщенный синтаксис этого оператора следующий:

repeat <тело_цикла> until <условие>;

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

уровень 1  

Рис. 8 – Cхема алгоритма цикла с постусловием

Наиболее часто данный цикл применяется при вводе исходных данных и контроле корректности введенных данных.

Содержание лабораторной работы

В лабораторной работе требуется разработать программу на языке программирования Turbo Pascal с циклической структурой в соответствии с Вашим вариантом. Отчет о проделанной работе должен содержать: название и цель работы; номер варианта для выполнения задания и условие своего варианта; блок–схему решения задачи; тексты программ; полученные при расчетах численные результаты и выводы по проделанной лабораторной работе.

Варианты заданий

1. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак произведения функции на интервале изменения аргумента от до с шагом .

2. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти, во сколько раз среднее арифметическое положительных значений отличается от среднего геометрического этих же значений функций на интервале изменения аргумента от до с шагом .

3. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти среднее арифметическое значений функции на интервале изменения аргумента от до с шагом .

4. Разработать программу на языке программирования Turbo Pascal:

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

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

5. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак максимального значения функции на интервале изменения аргумента от до с шагом .

6. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти максимальное значение функции на интервале изменения аргумента от до с шагом .

7. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак минимального значения функции на интервале изменения аргумента от до с шагом .

8. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти минимальное значение функции на интервале изменения аргумента от до с шагом .

9. Разработать программу на языке программирования Turbo Pascal:

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

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

10. Разработать программу на языке программирования Turbo Pascal:

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

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

11. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить сумму положительных значений функции на интервале изменения аргумента от до с шагом .

12. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить произведение положительных значений функции на интервале изменения аргумента от до с шагом .

13. Разработать программу на языке программирования Turbo Pascal:

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

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

14. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить сумму отрицательных значений функции на интервале изменения аргумента от до с шагом .

15. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, во сколько раз модуль суммы отрицательных значений функции отличается от суммы положительных значений функции на интервале изменения аргумента от до с шагом .

16. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, на сколько модуль суммы отрицательных значений отличается от суммы положительных значений функции на интервале изменения аргумента от до с шагом .

17. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить произведение отрицательных значений функции на интервале изменения аргумента от до с шагом .

18. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, во сколько раз отличается количество положительных от количества отрицательных значений функции на интервале изменения аргумента от до с шагом .

19. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти количество отрицательных значений функции на интервале изменения аргумента от до с шагом .

20. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти среднее арифметическое максимального и минимального значений функции на интервале изменения аргумента от до с шагом .

21. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, на сколько отличается количество положительных от количества отрицательных значений функции на интервале изменения аргумента от до с шагом .

22. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, во сколько раз произведение положительных значений функции отличается от модуля произведения отрицательных значений функции на интервале изменения аргумента от до с шагом .

23. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак суммы значений функции на интервале изменения аргумента от до с шагом .

24. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти разность максимального и минимального значений функции на интервале изменения аргумента от до с шагом .

25. Разработать программу на языке программирования Turbo Pascal:

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

б) Найти произведение максимального и минимального значений функции на интервале изменения аргумента от до с шагом .

26. Разработать программу на языке программирования Turbo Pascal:

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

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

27. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак суммы максимального и минимального значений функции на интервале изменения аргумента от до с шагом .

28. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, является ли функции положительным числом. Функция имеет вид на интервале изменения аргумента от до с шагом .

29. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить знак максимального значения функции на интервале изменения аргумента от до с шагом .

30. Разработать программу на языке программирования Turbo Pascal:

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

б) Определить, превышает ли количество положительных значений функции на интервале изменения аргумента от до с шагом .



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: