Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
02.05.2014
Размер:
65.02 Кб
Скачать

Министерство Образования Российской Федерации

Московский Государственный Индустриальный Университет

Филиал в г. Вязьма

Отчет

по лабораторной работе №3

Тема: Разработка циклических вычислительных процессов Дисциплина: «Информатика и программирование»

Группа: 03Ид01

Студент: Афанасьев Виктор Валерьевич

Преподаватель: Соколова Н. В.

2003г.

Цель: применяя операторы цикла на языке Pascal While- do и Repeat- Until составить программу решения задачи согласно условию варианта.

Задание1: Составить программу нахождения первого положительного члена последовательности большего 1: А[n]:=3*n*n/20*n, n=1,2,3,… Вывести его значения и номер. Найти синус суммы всех членов последовательности предшествующих найденному. Вывести результат на экран.

Задание2: действительное число Х вводится с клавиатуры. Вычислить приближённое значение бесконечной суммы последовательности х-(х^2)/2+(x^3)/3… . Нужное приближение считается полученным, если вычислена сумма нескольких первых слагаемых, и очередное слагаемое оказалось по модулю меньше 0,0001.

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

Пункты меню Edit

Undo

Alt+BkSp

Отменить последнее действие.

Redo

Повторить действие отмененное командой Undo.

Cut

Shift+Del

Переместить в буфер.

Copy

Ctrl+Ins

Скопировать в буфер.

Paste

Shift+Ins

Переместить из буфера в текст.

Clear

Ctrl+Del

Удалить.

Show clipboard

Показать Clipboard.

Пункты меню Edit используются при редактировании текстов программ настолько часто, что их гораздо удобнее не выбирать через меню, а использовать соответствующие команды.

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

Пункты меню Window

При разработке программных проектов, содержащих несколько модулей, удобно использовать многооконный интерфейс среды, позволяющий одновременно работать со всеми файлами данного проекта. Управление окнами производит меню Window.

Tile

«Кафель».

Cascade

«Каскад».

Close all

Закрыть все.

Refresh display

Обновить экран.

Size/Move

Ctrl+F5

Размер/Перемещение.

Zoom

F5

Максимизация окна.

Next

F6

Следующее окно

Previous

Shift+F6

Предыдущее окно.

Close

Alt+F3

Закрыть окно.

List…

Alt+0

Список окон.

Оператор While…do

Оператор цикла while (пока, в то время как) имеет вид:

While <логическое выражение> do <тело цикла>;

Цикл While обеспечивает выполнение тела цикла, следующего за словом do до тех пор, пока условие имеет значение true (истина). В качестве тела цикла может использоваться простой или сложный оператор. Условие проверяется перед началом каждого выполнения тела цикла, поэтому, если до первого выполнения цикла условие имеет значение false (ложь), оператор не выполняется ни одного раза (рисунок слева).

Оператор Repeat…until…

Оператор цикла Repeatuntil (повторять до тех пор, пока) имеет вид:

Repeat <тело цикла> until <логическое выражение>;

Принципиальное отличие оператора RepeatUntil от оператора Whiledo в том, что проверка условия производиться не перед началом выполнения оператора, а в его конце, когда решается вопрос, повторить ли еще раз действие. Поэтому тело этого цикла всегда выполняется по крайней мере один раз. (Рисунок слева).

Второе отличие от оператора Whiledo

– в логике завершения цикла. Цикл оператора RepeatUntil выполняется до тех пор, пока не станет истинным логическое выражение, следующее за словом Until. Таким образом, исполнение логического выражения здесь имеет противоположный оператору Whiledo смысл. Здесь при истинности логического выражения (условия) цикл прекращается, а у оператора Whiledo при истинности логического выражения цикл продолжается.

Третье отличие в том, что оператор RepeatUntil имеет две части: начальную и завершающую, которые охватывают группу операторов, составляющих тело цикла. Оператор Whiledo не имеет завершающей части и требует для организации тела цикла из нескольких операторов программных скобок begin-end. Для оператора RepeatUntil таких скобок не требуется – их роль выполняют составные части оператора.

Представление алгоритма в виде блок схемы (№1):

- +

Текст программы:

program lab3;

var

n:integer;

sum,b,a:real;

begin

writeln('Находим первый член больший 1');

n:=1;

while a<1 do

begin

a:=(3*n*n)/(20*n);

n:=n+1;

sum:=sum+a;

end;

b:=sin(sum);

writeln('индекс члена равен ',n);

writeln('член равен ',a);

writeln('синус суммы членов равен ',b);

readln;

readln;

end.

Тестовый пример:

Выходные данные:

n-1:=7

a:=1,0500000000E+00

b:=-8,7157577242E-01

Представление алгоритма в виде блок схемы

(№2):

-

+

- +

- +

Текст программы (№2):

program lab_3;

var

l,i:integer;

x,sum,a,k:real;

begin

write('вводим х');

readln(x);

l:=1;

a:=x;

while a>abs(0.0001) do

begin

if l mod 2=0 then sum:=sum-a else sum:=sum+a;

l:=l+1;

k:=x;

for i:=1 to l do x:=x*k;

a:=x/l;

end;

writeln('сумма равна ',sum);

readln;

readln;

end.

Тестовые примеры:

Входные данные:

x:=0.3

Выходные данные:

sum:=2.6233950000E-01

Входные данные:

x:=0.5

Выходные данные:

sum:=4.0553230407E-01

Выполнил:____________________

Защитил:______________________

Соседние файлы в папке Лабораторная работа1