Сделай Сам Свою Работу на 5

ПРИМЕНЕНИЕ ЦИКЛОВ С ПАРАМЕТРОМ В TURBO PASCAL

Цель работы Овладеть техникой составления программ с повторяющимися фрагментами.

 

Задачи работыНаучиться использовать оператор цикла FORв программах циклического типа.

 

Обеспечивающие средства Сборник описаний практических работ, персональный компьютер, конспект лекций.

 

Задание Составить программы для предложенных заданий, используя оператор цикла FOR, отладить их и сохранить.

 

Требования к отчету Итоги практической работы представить в виде блок-схемы алгоритма и текста программы, привести значения исходных данных и значения полученных результатов (при необходимости вывести на печать).

 

Технология работы

1. Ознакомьтесь с теоретическим материалом, необходимым для выполнения работы:

Оператор цикла с параметром используют, когда количество повторений цикла известно заранее или необходимо изменять какую-либо величину на одно и то же значение в определенном диапазоне. Форма записи оператора:

For <параметр> := <начальное значение> To <конечное значение> Do <оператор>;

Служебное слово To указывает направление изменения параметра – увеличение на 1 (начальное значение меньше конечного значения; если это условие не выполнится, то оператор не выполнится ни разу). Если необходимо, чтобы параметр уменьшался на 1, то используется слово DownTo (начальное значение больше конечного значения). В качестве оператора можно использовать любой простой или составной оператор.

Цикл For удобно использовать для организации вывода данных программы. Вместе с оператором ifи функцией readln он позволяет выполнить постраничный вывод. Например, при выполнении следующего цикла программа будет приостанавливать вывод после заполнения экрана столбцом цифр до нажатия клавиши <Enter>:

for i:=1 to 50 do

Begin

writeln (i);

if i mod 24=23 then readln;

end;

2. Выполните следующие упражнения:

Задания уровня 1

Упражнение 1. Тест по таблице умножения: ученику задается ровно пять вопросов и в конце тестирования выставляется оценка по пятибалльной системе.



1. Наберите текст программы:

 

Program CIKL;

Var{Описание параметров цикла}

i: integer;

c: char;

b: boolen;

Begin

{Вывод на печать целых чисел от 1 до 10}

for i:=1 to 10 do writeln (i);

{Вывод на печать целых чисел от 10 до -10}

for i:=10 downto -10 do

writeln (i);

{Вывод на печать латинских символов от a до r}

{ Параметр цикла изменяется от a до r в алфавитном порядке}

for c:='a' to 'r' do writeln (c);

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске:<F2> A:\P4PR1

Упражнение 2. Тест по таблице умножения: ученику задается ровно пять вопросов и в конце тестирования выставляется оценка по пятибалльной системе.

1. Наберите текст программы:

Program TABL;

Var

s1, s2, otvet, k, prav: integer; {s1,s2–сомножители, otvet–ответ ученика, prav – пр. ответ }

Begin

randomize;{Инициализация датчика случайных чисел}

clrscr; {Очистка экрана}

for k:=1 to 5 do

Begin

s1:= random(18)+2; s2:= random(18)+2;{s1,s2 – случайные числа в диапазоне от 2 до 19}

write ('Сколько будет', s1, '*', s2, ' ? ');

readln (otvet);

if otvet=s1*s2 then

Begin

write('Правильно!');

prav:=prav+1;

End

else write('Неверно…');

end;

clrscr; {Очистка экрана}

writeln('Ваша оценка: ' , prav);

Readln

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске:<F2> A:\P4PR2

 

Упражнение 3. Дано натуральное число N. Определить, является ли оно простым. Натуральное число N называется простым, если оно делится нацело без остатка только на единицу и N. Число 13 – простое, т.к. делится только на 1 и 13, N=12 не является простым, т.к. делится на 1, 2, 3, 4, 6, 12. Алгоритм решения этой задачи заключается в том, что число N делится на параметр цикла i, изменяющийся в диапазоне от 2 до N/2. Если среди значений параметра не найдется ни одного числа, делящего заданное число нацело, то N – простое число, иначе оно таковым не является.

 

1. Наберите текст программы:

Program PRCH;

Var

N, i: integer;

Pr: boolen;

Begin

writeln (′N= ′);

readln(N);

Pr:=true; {Предположим, что число простое}

for i:=2 to N div 2 do

if N mod i=0 then{Если найдется хотя бы один делитель, то}

Begin

Pr:=false; {число простым не является, и}

break; {досрочный выход из цикла}

end;

if Pr then{Проверка значения логического параметра и вывод на печать соответствующего сообщения}

writeln(′Число ′,N, ′- простое′)

Else

writeln(′Число ′, N, ′простым не является′)

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске:<F2> A:\P4PR2

 

3. Выполнить самостоятельно:

Задания уровня 2

1. Вычислить an (n>0), где a - вещественное число, которое необходимо возвести в целую положительную степень n. Записать программу под именем P4PR3

2. Вычислить сумму натуральных нечетных чисел, не превышающих n. Сохранить программу под именем P4PR4

3. Вычислить произведение натуральных чисел, кратных трем и не превышающих n. Сохранить программу под именем P4PR5

4.Выведите на экран в три столбца список чисел от 1 до N, их квадратов и кубов. Число N вводите с клавиатуры. Сохранить программу под именем P4PR6

5.Вычислите сумму S и произведение P всех целых чисел от N1 до N2. Пример: для N1=3, N2=7 получим S=25, P=2520. Сохранить программу под именем P4PR7

Задания уровня 3

6.Напишите программу вычисления выражения

(3-x)(6-x)(9-x)∙ … ∙(21-x), где x – действительное число.

Сохранить программу под именем P4PR8

7.Последовательно вводится N целых чисел. Найдите минимальное и максимальное число из введенных чисел. Сохранить программу под именем P4PR9

 

8. Вводится последовательность из M элементов. Каждый элемент последовательности – цифра (то есть находится в диапазоне от 0 до 9). Сформировать число N, считая первый элемент последовательности младшим разрядом. Например, дана последовательность 5, 4, 3, 2, 1, тогда десятичное число формируется следующим образом: 5+4*10+3*100+2*1000+1*10000=12345. Сохранить программу под именем P4PR10

4. Окончание работы:

 

1. Сохранить созданные программы.

2. Подготовить ответы на контрольные вопросы.

3. Показать работу преподавателю.

4. Завершить работу TURBO PASCAL.

 

 

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

1. Что называют циклом?

2. Какова функция оператора цикла с параметром?

3. В программах какого типа используется счетный оператор цикла?

4. Каким образом изменить наращивание переменной цикла в отрицательную сторону?

5. Перечислите правила использования оператора цикла с параметром.


ПРАКТИЧЕСКАЯ РАБОТА №5

ПРИМЕНЕНИЕ ЦИКЛОВ С ПРЕДУСЛОВИЕМ И С ПОСТУСЛОВИЕМ

В TURBO PASCAL

Цель работы Овладеть техникой составления программ с повторяющимися фрагментами.

 

Задачи работыНаучиться использовать операторы цикла WHILEи REPEATв программах циклического типа.

Обеспечивающие средства Сборник описаний практических работ, персональный компьютер, конспект лекций.

 

Задание Составить программы для предложенных заданий, используя операторы цикла WHILEи REPEAT, отладить их и сохранить.

 

Требования к отчету Итоги практической работы представить в виде блок-схемы алгоритма и текста программы, привести значения исходных данных и значения полученных результатов (при необходимости вывести на печать).

 

Технология работы

1. Ознакомьтесь с теоретическим материалом, необходимым для выполнения работы:

1.1 Оператор while…do предназначен для реализации циклов с предусловием. Форма записи:

while <условие> do <оператор>;

В качестве оператора может быть любой простой или составной оператор.

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

1.2 Оператор repeat…until реализует цикл с постусловием. Данный цикл всегда будет выполнен хотя бы один раз. Форма записи:

Repeat

<оператор1>;

<оператор2>;

until <условие>;

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

В цикле while подразумевается такой алгоритм: пока условие истинно, выполнять операторы тела цикла. В цикле repeat действует другой алгоритм: выполнять тело цикла, пока не станет истинным условие, т.е. пока условие ложно, выполняется цикл.

2. Выполните следующие упражнения:

Задания уровня 1

Упражнение 1. Вывести на экран таблицу значений функции. Вывод выполняется в два столбца: первый – значения аргумента, второй – значения функции при изменении аргумента от значения a до b с шагом dx.

1. Наберите текст программы:

Program FUNC;

uses crt;

Var

x, y, z, lg3, a, b, dx: real;

Begin

clrscr; {Очистка экрана}

write (′Введите начальное значение аргумента: ′); readln(a);

write (′Введите конечное значение аргумента: ′); readln(b);

write (′Введите шаг табулирования: ′); readln(dx);

writeln (′---------------′:20);

write (′x′:9, ′‌‌ |‌‌‌‌‌ ‌′:4, ′y′:4);

writeln (′---------------′:20);

lg3:=ln(3.0)/ln(10.0); {Вычисление lg(3)}

x:=a;

while x<(b+dx/2) do

Begin

z:=sin((pi*x)/3;

if (z<0) then writeln(x:10:3, ′ |функция не определена′:22)

Else

Begin

y:=lg3+x*sqrt(5.0*z);

writeln(x:10:3, ′ | ′, y:7:3);

end;

x:=x+dx;

end;

writeln (′---------------′:20)

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске:<F2> A:\P5PR1

 

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

1. Наберите текст программы:

Program TABL_1;

uses crt;

Var

s1, s2, otvet, kol, prav: integer; yn: char;

{s1,s2–сомножители, otvet–ответ ученика, prav – пр. ответ}

Begin

randomize;{Инициализация датчика случайных чисел}

clrscr; {Очистка экрана}

Repeat

kol:=kol+1;214

s1:= random(18)+2; s2:= random(18)+2; {s1,s2 – случайные числа в диапазоне от 2 до 19}

write ('Сколько будет', s1, '*', s2, ' ? ');

readln (otvet);

if otvet=s1*s2 then

Begin

write('Правильно!'); prav:=prav+1;

End

else write('Неверно…');

write('Продолжим тест? (Y/N)'); readln(yn);

until (yn=′n′) or (yn=′N′);

clrscr; {Очистка экрана}

writeln('Результаты теста: ');

writeln('Задано вопросов: ', kol, ′. Правильных ответов: ′, prav, ′.′);

Readln

End.

2. Запустите программу на выполнение и проверьте её работу:Ctrl-F9

3. Для просмотра результатов выполненной программы необходимо нажать:Alt-F5

4. Сохраните программу на своем диске:<F2> A:\P5PR2

3. Выполнить самостоятельно:

Задания уровня 2

  1. Измените программу из Упражнения 2 таким образом, чтобы, при необходимости, можно отказаться от выполнения теста и корректно выйти из программы (используйте оператор WHILE..DO). Записать программу под именем P5PR3

2.Вычислить сумму натуральных четных чисел, не превышающих N. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием. Сохранить программу под именем P5PR4иP5PR5

3.В результате выполнения программы должны быть выведены значения функции y=x3+2x для значений x, лежащих в диапазоне [1; 3], с шагом 0,2. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием. Сохранить программу под именем P5PR6иP5PR6

Задания уровня 3

4.Дано действительное число A. Требуется найти первое значение числа N, при котором сумма S=1+1/2+1/3+…+1/N превышает A. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием. Сохранить программу под именем P5PR7иP5PR8

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

6. Составьте программу, которая производит суммирование произвольного количества целых чисел, вводимых с клавиатуры. Концом последовательности служит ввод отрицательного числа. Программу составьте двумя способами: используя цикл с предусловием и цикл с постусловием. Сохранить программы под именем P5PR5иP5PR6

7.Составьте программы для нахождения сумм приведенных ниже рядов и проверьте их работоспособность на компьютере.

1) ,

Замечание: при вычислении суммы степенного ряда sin(x) можно использовать следующие выкладки: пусть Sk - значение k-го слагаемого, причем значение S0=x. Тогда выполняется следующее соотношение:

2) ,

 

3)

 

 

4. Окончание работы:

 

1. Сохранить созданные программы.

2. Подготовить ответы на контрольные вопросы.

3. Показать работу преподавателю.

4. Завершить работу TURBO PASCAL.

 

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

1. Что называют циклом?

2. Какова функция предусловного оператора цикла?

3. В программах какого типа используется предусловный оператор цикла?

4. Каким образом можно создать бесконечную программу?

5. Как прервать выполнение бесконечного цикла?

6. Какова функция оператора цикла с постусловием?

7. В программах какого типа используется оператор цикла с постусловием?

8. Почему перед словом UNTILвставка точки с запятой не обязательна?


ПРАКТИЧЕСКАЯ РАБОТА №6



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.