Главная страница

Практическая работа. Информационные ресурсы общества. Образовательные информационные ресурсы. Работа с программным обеспечением


Скачать 5.79 Mb.
НазваниеИнформационные ресурсы общества. Образовательные информационные ресурсы. Работа с программным обеспечением
Дата06.12.2022
Размер5.79 Mb.
Формат файлаdoc
Имя файлаПрактическая работа.doc
ТипПрактическая работа
#830229
страница14 из 44
1   ...   10   11   12   13   14   15   16   17   ...   44


Основные источники (ОИ):

Таблица 2б

Номер

п/п

Автор

Наименование

Издательство, год издания

ОИ1

И. И. Сергеева

Информатика Режим доступа: http: //znanium. com/ bookread2.php?id=517652

НИЦ

ИНФРА-М,

2016

ОИ2

М. С. Цветкова

Информатика. [Текст]: Учебное пособие для студ. учреждений среднего профессионального образования

М.: Академия, 2017

Дополнительные источники (ДИ):

Таблица 2в


№ п/п

Автор

Наименование

Издательство, год издания

ДИ 1

В. Д. Колдаев

Сборник задач и упражнений по информатике Режим доступа: http: //znanium .com/ bookread2 .php?id=504814

ИНФРА-М,

2015

ДИ 2

Е. А. Колмыкова

Информатика. [Текст]: Учебное пособие для студ. учреждений среднего профессионального образования

М.: Академия, 2014

ДИ 3

Н. Г. Плотникова

Информатика и информационно­коммуникационные технологии (ИКТ) Режим доступа: http: //znanium .com/ bookread2.php?id=433676

ИНФРА-М,

2014

ДИ4

Р. Ю Царев

Программные и аппаратные средства информатики Режим доступа: http://znanium.com/ bookread2.php?id=550017

Краснояр.: СФУ, 2015

Практическая работа №11

Тема: Разработка и программирование задач с циклической алгоритмической структурой.

Цель работы: Изучить операторы цикла языка PASCAL.

Студент должен знать:

-I- алгоритмическую структуру циклов;

-1- базовые понятия языка программирования Pascal;

-1- форматы операторов цикла.

уметь:

-1- запускать среду программирования Pascal;

-1- набирать и компилировать программу;

-I- разрабатывать программу для решения задачи с алгоритмической
структурой цикл;

-1- запускать программу на выполнение;

-1- анализировать полученный результат.

Теоретическое обоснование.

  1. Алгоритмы циклической структуры

Применительно к алгоритмическому языку циклом можно назвать повторение последовательности действий. При этом данные повторяющиеся действия составляют так называемое тело цикла. Условие прекращения повторений называется условием конца цикла.

С точки зрения программирования, цикл - повторяющиеся фрагменты программ. В языке Pascal имеются три различных оператора, служащих для программирования циклов: цикл с параметром For
...to...Do, цикл с предусловия прекращения повторений While...Do и цикл с постусловия прекращения повторений Repeat... Until.

  1. Оператор цикла с параметром

Блок-схема, соответствующая циклу с параметром, представлена на рис. 1.

Здесь i
- параметр цикла; i0 - начальное значение параметра; iT- конечное значение параметра; is- шаг приращения параметра (в случае языка Pascal +1 либо -1). Циклическая ветвь блок-схемы выполняется для всех i, начиная с i0 и кончая iT с шагом is (т.е. для io , io+is, io+2is, io+3is, ... ). Как только i выйдет за пределы




Рисунок 1 Блок-схема цикла с параметром

Оператор цикла с параметром на языке Pascal имеет следующий формат:

For i:=io to h do <оператор>

Здесь For
, to, do - зарезервированные слова («для», «до», «выполнить»); i (параметр цикла) - переменная типа INTEGER (точнее, в общем случае, любого порядкового типа);

i0 (начальное значение) и iT (конечное значение параметра) - константы или выражения того же типа;

<оператор> - произвольный оператор языка Pascal (тело цикла). В качестве оператора может выступать расширенный оператор с операторными скобками begin... end.

Шаг приращения параметра при этом постоянен и равняется +1.

При выполнении оператора For вначале вычисляется выражение i0 и выполняется присваивание i: =i0. После этого циклически повторяется:

- проверка условия i<= iT; если условие не выполнено, то оператор For прекращает свою работу;

-выполнение тела цикла <оператор>;

-наращивание переменной цикла на единицу.

Если условие не выполняется в самом начале работы оператора For, то исполняемый оператор не будет выполнен ни разу.

Существует и другая форма записи оператора For, при которой шаг приращения параметра принимает значение -1. В этом случае оператор For будет иметь следующий вид:

For i:=i0 downto iT do <оператор>

Пример. Вычислить функцию f=x+e

x при х=0, 1, 2, ..., 10 и распечатать полученные значения в табличном виде.

Возможный текст программы:

program calcjf, var Г real, x: integer, begin

for x:=Q to 10 do
begin

f:=x+exp(-x), writeln(‘x=’,x,1 f=’, 0, end

end.

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

Оператор цикла с предусловием While.Do схематично представлен в виде блок- схемы на рисунке 2 и имеет следующий формат:

While <условие> Do <оператор>


Здесь While, Do - зарезервированные слова («Пока [выполняется условие]», «делать»);

<условие> - выражение логического типа;

<оператор> - произвольный оператор, составляющий тело цикла (включая случай расширенного оператора).

Если условие имеет значение “Истинно” (True), то выполняется <оператор>, после чего проверка условия повторяется. Если условие имеет значение “Ложь” (False), то оператор While прекращает свою работу.



Рисунок 2 Блок-схема цикла с предусловием

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

Пример. Дан бесконечный ряд вида

. 1 1 1 1

S =1+-+-+-+-+

2 3 4 5



Найти сумму данного бесконечного ряда с заданной точностью e
=0.01, т.е. продолжать процесс суммирования до тех пор, пока модуль разности между суммами для к-то и (к+1)-то шага не станет меньше е program Summa, var k: integer, s, ss, eps: real; begin eps —0.01;

s:=l, {значение суммы на 1 шаге цикла}

ss:=0, {начальное значение вспомогательной переменной для хранения промежуточных сумм} к:=1, {номер шага цикла} while abs(s-ss)>^eps do begin

sss, {сохранение значения суммы на текущем шаге цикла}

1с:=к+1, {переход к следующему шагу цикла} s:=s+l/k, {вычисление суммы на следующем шаге)

end;

writeln(‘Сумма ряда с заданной точностью^,s), end.




  1. Цикл с постусловия

Оператор цикла с постусловия имеет следующий формат:

Repeat <тело цикла> Until <условие>

Здесь Repeat
, Until - зарезервированные слова («Повторять», «пока не [выполнится условие]»);

<тело цикла> - произвольная последовательность операторов;

<условие> - выражение логического типа.

Операторы тела цикла всегда выполняются хотя бы один раз, после чего вычисляется значение <условие>: если его значение ложно (FALSE), операторы тела цикла повторяются, в противном случае оператор Repeat завершает свою работу. Блок-схема данного оператора представлена на рисунке 3.



Рисунок 3 Блок-схема цикла с постусловия

  1. Методические указания к выполнению работы Пример 1. Вычислить функцию y= arctgjx при х=0, 1, 2, ..., 10 и распечатать

полученные значения в табличном виде.

Листинг программы:

program pr11_11_1;

var y:real; x:integer;

begin

for x:=0 to 10 do
begin

y: =arctan(sqrt(x));
writeln('x=',x,' y=',y);
end;
end.




Пример 2 Вывести на экран значение функции

ОХ

Л*) =

Ь'х - а

а:

, если аргумент х меняется -1 до 0,5

с шагом h=0,15. Значения a, b, c вводятся с
клавиатуры (a=2, b=-1, c=1). Построить блок - схему.

program pr11_11_2;
var a,b,c,f,x:real;
begin

write ('a='); read (a);
write ('b='); read (b);
write ('c='); read (c);
f:=0;
x:=-1;

while x<=0.5 do
begin

f:=a* sqr(x)/(b*x+a)+a;
x:=x+0.15;

writeln('x=', x , ' f=', f );

end;

end.



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

Например, в случае суммы ряда вида

cos(x)+cos(2x)+cos(3x)+... +cos(7x)

общий вид слагаемого с номером k будет иметь вид cos(k*x), где k изменяется от 1 до 7.

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

Фрагмент программы нахождения указанной выше суммы ряда с помощью оператора FOR
может иметь, например следующий вид:

s:=0;

for k:=1 to 7 do s:=s+cos(k*x);

writeln(‘сумма =’, s);

end.

С помощью оператора While:

s:=0;

k:=1;







while k<=7 do begin

s:=s+cos(k*x);

k:=k+1;

end;

writeln(‘cyMMa =’, s); end.

С помощью оператора Repeat:

s:=0;

k:=1;

repeat

s:=s+cos(k*x); k:=k+1; until k>7;

writeln(‘сyмма =’, s); end.

cosx cos2x cos3x

S= + + + .
1   ...   10   11   12   13   14   15   16   17   ...   44


написать администратору сайта