Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы




Скачать 192.71 Kb.
НазваниеКонтрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы
Дата публикации29.07.2013
Размер192.71 Kb.
ТипКонтрольная работа
lit-yaz.ru > Информатика > Контрольная работа

5. Контрольная работа


«Программирование основных алгоритмических структур на языке Free Pascal»

5.1. Задания контрольной работы


Варианты заданий для выполнения контрольной работы выбираются из соответствующих таблиц по последней M и предпоследней N цифрам зачётной книжки.

Например, если номер зачетной книжки 073328, то M=8, а N=2.

Первая задача решается по 8-му варианту, вторая – по 2-му, третья – по 0-му (8+2=10 с отбрасыванием десятков), четвертая по 6-му (8-2=6), пятая – по 8-му варианту.

Решение каждой задачи должно состоять из блок-схемы алгоритма и реализующей его программы, снабженные пояснениями. Программу реализовать в ИСР Lazarus как проект консольного приложения или как приложение под Windows. В последнем случае интерфейс проектов выбирается по своему усмотрению. Допускается выполнение заданий в среде Delphi или средах, поддерживающих язык Free Pascal.
Задача 1. По заданным расчетным формулам и наборам исходных данных, указанных в таблице 5.1, вычислить на ПК значения соответствующих переменных. На печать вывести значения вводимых исходных данных и результаты расчетов, сопровождая их вывод именами выводимых переменных.

Таблица 5.1

M


Расчетные формулы

Данные

1





2





3





4





5





6





7





8





9





0






Задача 2. Вычислить на ПК значения функции, заданной в таблице 5.2. На печать вывести значения вводимых исходных данных и полученные результаты, сопровождая их именами переменных. Значения аргумента взять из указанного диапазона так, чтобы протестировать все ветви программы.
Таблица 5.2

N


Функции и условия

Данные и

диапазон

1



a=0.5

x = [1 ; 4]

2



a=3

x = [1 ; 5]

3



b=0.5

x = [0 ; 3]

4



a=2

x = [1 ; 6]

5



b=3.2

x = [-2 ; 3]

6



a=2.3

x = [1 ; 5]

7



b=5

x = [-5 ; 1]

8



a=2.5

x = [0 ; 4]

9



a=0.9

x = [0 ; 3]

0



b=2.6

x = [0 ; 5]


Задача 3. Вычислить на ПК значения функции, заданной в таблице 5.3, используя оператор цикла fortodo с параметром.
Таблица 5.3

M+N


a = 2.8; b = 0.7; x = 5.1

M+N


a = 2.8; b = 0.7; x = 5.1

1



6



2



7



3



8



4



9



5



0




Примечание. Если (M+N) >9, то в качестве номера варианта выбирается последняя цифра суммы (разряд десятков отбрасывается).
Задача 4. Вычислить на ПК значения функции, заданной в таблице 5.4, используя операторы while…do и repeat…until. На экран вывести значения вводимых исходных данных и полученные результаты в виде таблицы.

Таблицу оформить символами « * » или другими символами. Например, при заданном диапазоне изменения переменной x = [1 ÷ 4], с шагом 0,3 таблица расчетных данных имеет вид:
Таблица
* * * * * * * * * * * * * * * * * *

* значение x * значение y *

* * * * * * * * * * * * * * * * * *

* 1.00 * 0.85 *

* * * * * * * * * * * * * * * * * *

* 1.30 * 0.56 *

* * * * * * * * * * * * * * * * * *

* . . . . . * . . . . . *

* * * * * * * * * * * * * * * * * *

* 3.70 * 0.69 *

* * * * * * * * * * * * * * * * * *

* 4.00 * 0.91 *

* * * * * * * * * * * * * * * * * *
Таблица 5.4

|M-N|


Функции и условия

Данные

Диапазон

аргумента

1




b=2

x = [1 ; 4]

шаг=0.3

2




a=1.5

x = [0.5 ; 3]

шаг=0.3

3




b=1.5

x = [1 ; 5]

шаг=0.4

4




a=0.5


x = [-2 ; 3]

шаг=0.4

5



a=3


x = [0 ; 5]

шаг=0.5

6



a=2

b=5

x = [1 ; 5]

шаг=0.5

7



a=1.65

b=5

x = [0 ; 5]

шаг=0.5

8



a=2.3

b=-0.3

x = [1 ; 5]

шаг=0.3

9



a=2.5

b=2.6


x = [2 ; 5]

шаг=0.5

10



a=1.5

b=1.5

x = [0 ; 4]

шаг=0.4


Примечание. |M-N| - значение разности двух цифр M и N по абсолютной величине (без учета знака).

Задача 5. С помощью ПК произвести обработку одномерного массива, заданного в таблице 5.5. Элементы одномерного массива задать числами в диапазоне –20 . . . +20. Необходимо:

  • описать массив;

  • ввести элементы массива из заданного диапазона;

  • выполнить с элементами массива действия, заданные в табл. 5.5;

  • вывести результаты на экран;

Таблица 5.5

M


Имя массива

Задание 1

1

А(10)

Вывести на печать все четные положительные элементы массива А

2

В(12)

Вычислить среднее арифметическое значение отрицательных элементов массива В.

3

G(16)

Вывести последовательность g1, g9, g2, g10, ... , g8, g16 и вычислить произведение пар элементов массива G.

4

С(10)

Найти сумму s элементов массива С. Вычислить (s – c1, s – c2, …, s – c10). Результат вывести в одной строке.

5

H(14)

Вывести последовательность h1, h14, h2, h13, ... , h7, h8 и вычислить сумму пар элементов массива H.

6

D(10)

Найти произведение p элементов массива D. Вычислить (p + d1, p + d2, …, p + d10 ). Результат вывести в одной строке.

7

F(12)

Вычислить максимальный элемент массива сформированных пар (f1+ f12, f2 + f11, ... , f6 + f7 ).

8

L(16)

Переписать в массив L подряд положительные элементы массива M.

9

K(12)

Вычислить минимальный элемент массива сформированных пар ( k k7, k2 · k8, ... , k6 · k12 ).

0

P(12)

Переписать в массив Q подряд отрицательные элементы массива P.


^

5.2. Требования по оформлению пояснительной записки


1. Результаты выполнения заданий представляются в виде пояснительной записки, распечатанной на принтере. «Твердая» (бумажная) копия документа предоставляется в деканат ЗО не позднее, чем за 10 дней до сессии для рецензии. Кроме того, результаты работы предоставляются в электронном варианте на Flash-диске в виде 5 папок с проектами (по числу заданий), выполненных в Lazarus (или Delphi) и один файл, например PZ.doc – пояснительная записка по прибытии на сессию.

2. Пояснительная записка оформляется в текстовом процессоре MS Word или Open Office Writer (LibreOffice Writer) на листах формата А4, сброшюрованных в виде папки. При этом:

  • Обложкой пояснительной записки является титульный лист, форма которого приведена на рис. 10.

  • Второй лист – «Рецензия» оставляется в записке пустым и заполняется преподавателем, проверяющим работу.

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

  • Текст пояснительной записки располагается на одной стороне листа и выполняется шрифтом Times Hew Roman размером 14 пунктов, межстрочный интервал – одинарный, отступ первой строки 10 мм.

  • Параметры страниц (поля): слева – 20 мм, справа – 10 мм, сверху и снизу – по 15 мм.

  • Все страницы, за исключением титульного листа, нумеруются сверху в центре и в следующем порядке: страница 2 – рецензия на работу, страница 3 – оглавление, страница 4 и т.д. – содержательная часть работы,

  • На последнем листе приводится список использованной литературы,

  • Все задачи должны иметь текст задания, блок-схему алгоритма в соответствии с номером варианта, программу, снабженную пояснениями, полученные результаты выполнения программы на ПК, скопированные в пояснительную записку,

  • В постановке задания должны быть представлены расчетные формулы из табл. 5.1 – 5.5, набранные в формульном редакторе MS Word (например, MS Equation) или редакторе Open Office.

  • Формулы, рисунки, программы оформляются в виде автономных цельных объектов и размещаются в пояснительном тексте.

  • Все рисунки выполняются в текстовом редакторе согласно условным обозначениям (см. рис.1) с последующим группированием элементов в единый объект.

  • Все рисунки должны иметь сквозную нумерацию, название и при необходимости пояснительный текст. Название рисунков – алгоритмов размещается снизу,

  • Программы и результаты вычислений копируются в объект – надпись текстового редактора из ИСР.

3. Пояснительная записка должна содержать:

  • № варианта (№ зачетной книжки);

  • задание для каждой задачи; исходные данные соответствующего варианта;

  • блок-схемы по каждой задаче;

  • программы и результаты выполнения заданий по п.п. 5.1;

  • выводы по работе.

4. Титульный лист подписывается студентом.

Министерство РФ по связи и информатизации

Поволжский государственный университет телекоммуникаций и информатики


Сдана на проверку Допустить к защите

«_____»___________ 200_г. «_____»___________200_г.
Защищена с оценкой

«_____»___________200_г.

^ КОНТРОЛЬНАЯ РАБОТА ПО ПРОГРАММИРОВАНИЮ

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

на языке Free Pascal


Пояснительная записка

на ____листах

Студент(ка) группы (роспись) Фамилия И. О.

№ зач. кн. _________
Руководитель Фамилия И. О.
Самара

200_ г.
Рис. 10. Образец оформления титульного листа
^

5.3. Методические указания по выполнению заданий


Пример выполнения задачи 1. Вычислить значение переменных y и p, используя значения входных данных и расчетные формулы:

,

где а = 0.59, z = -4.8, x = 2.1

Прежде всего, обратим внимание на то, что функции tg(x) в языке Free Pascal отсутствует. Значит, следует заменить её отношением sin(x)/cos(x).

Учитывая, что операцию возведения в куб придётся заменить операцией умножения, обозначим это отношение через «t» и вычислять его будем индивидуально. Опишем ее как переменную. Величины a, z, x можно описать в программе как константы, так как их значения заранее определены условием задачи. Если же описать их как переменные, то нужные значения указываются при вводе.

Теперь составим блок-схему алгоритма (рис. 11) и напишем программу.
program Zadacha1;

{$mode objfpc}{$H+}

uses

Classes, SysUtils

{ you can add units after this };

const

a=0.59; z=-4.8; x=2.1;

var t, y, p: real;

begin

writeln('a=', a:6:2, ' x=', x:6:2, ' z=',z:6:2);

t:= sin(x*x)/cos(x*x);

y:= a*t*sqr(t) + sqrt(z*z/(a*a + x*x));

p:= ln(a+x*x)+sqr(sin(z/a));

writeln('Result');

writeln; //вывод результата

writeln('y=', y:8:3,' p=', p:8:3);

readln //эта процедура без списка

//аргументов оставляет открытым окно для считывания результата

end.
Результаты выполнения задачи1:
a= 0.59 x= 2.10 z= -4.80

Result

y= 21.635 p= 2.532

Замечания.

1. В программе предусмотрен форматный вывод вещественных переменных y и p, который устанавливает при выводе на печать 8 символов, 3 из которых отведены для дробной части.

2. При небольших показателях степени задача возведения в степень решается умножением. Например: х32∙х. При дробных и больших значениях показателя степени вычисление производится по формуле: Ах = ех∙ln(А) или (exp(x*lm(a)).
Пример выполнения задания 2.
Вычислить на ПЭВМ значения функции:




где k=1.2, a=2, b=4, x0…6


Обратим внимание, что функция y не определена в диапазоне a < x < b {(x > a) and (x < b)}. В этой ситуации программа должна обеспечить вывод соответствующего сообщения, например "функция не определена". Таким образом, фактически имеем три диапазона изменения x:

функция

sin(x) не определена k·ln(x)

0 2 4 6 x

Примем диапазон изменения x от 0 до 6, что позволит протестировать программу по всем трем условиям. Поскольку в задаче три условия, число блоков «решение» в алгоритме должно быть два (на единицу меньше). Блок-схема одного из вариантов алгоритма решения задачи и соответствующая программа будут иметь вид:


program Zadacha2;

{$mode objfpc}{$H+}

uses

Classes, SysUtils

{ you can add units after this };

label out;

var x, y: real; const k=1.2; a=2; b=4;

begin

writeln('vvedite x');

readln(x);

if (x<=2) and (x>=0) then y:=sin(x)

else

if (x>=4) and(x<=6) then y:=k*ln(x)

else

begin

writeln('function NO');

goto out;

end;

writeln('y=',y:8:3);

//вывод результата

out: readln

end.





Рис. 12. Блок-схема алгоритма задачи 2

Результаты работы программы:


vvedite x

1

y= 0.841

vvedite x

3

function NO

vvedite x

5

y= 1.931





Пример выполнения задания 3. Используя оператор fotodo , вычислить на ПК значения функции , при х=0,5.

Параметром цикла является аргумент n.

При вычислении конечных сумм и произведений искомый результат формируется постепенно. При вычислении суммы сначала вычисляется S1 = S0 + S(n1), во втором повторе цикла эта сумма увеличивается на второе слагаемое и получается S2 = S1 + S(n2), в третьем повторе - на третье слагаемое S3 = S2 + S(n3) и т.д. Здесь S0 - начальное значение суммы и т.к. S1 должна быть равна S(n1) , то S0 = 0.

При вычислении произведения сначала вычисляется Р10P(n1), затем Р2 = Р1P(n2) и т.д. Здесь Р0 - начальное значение произведения и т.к. Р1 должно быть равно P(n1) , то Р0 = 1.

Поскольку 5х2 можно вынести за знак суммы, в тело цикла это произведение включать не следует. Тем самым сокращается время исполнения программы.

Блок-схема алгоритма решения задачи и соответствующая программа будут иметь вид (рис. 13):





program Zadacha3;

{$mode objfpc}{$H+}

uses

Classes, SysUtils;

var x, t: real; n: byte;

begin

writeln ('vvedite x');

readln (x);

t:=0; //обнуление суммы

for n:=1 to 10 do t:=t+ 1/n;

t:=5* sqr(x)*t;

writeln ('t=', t:6:2); //вывод результата

readln

end.




.

Результаты работы программы:


vvedite x

0.5

t= 3.66

Рис. 13. Блок схема алгоритма задания 3.
Пример выполнения задания 4. Используя операторы whiledo и repeatuntil, вычислить значения функции

, в диапазоне изменения x от 0 до 3 с шагом 0.5.

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

Объявим переменную х в разделе объявлений вещественного типа и зададим в программе ей начальное значение равное 0. В процессе вычислений значение переменной будет изменяться с заданным шагом 0,5.

Для вычисления y при х1 будем использовать алгоритмическую структуру "цикл-до", а при вычислении функции в диапазоне 1
Блок-схема одного из вариантов алгоритма решения задачи приведена на рис.14. Как видно, программно алгоритм можно описать с помощью условных операторов. Но мы будем использовать специальные средства языка, реализующие циклические структуры.

С учетом сказанного, программа, соответствующая представленному алгоритму будет иметь вид:


Рис. 14. Блок схема алгоритма задания 4.


program Zadacha4;

{$mode objfpc}{$H+}

uses

Classes, SysUtils;

var y,x:real;

begin

x:=0;

writeln(' Tabl ');

writeln('-----------------------');

repeat

y:=cos(x);

writeln('| x=',x:6:2, ' | y=',y:6:2, ' |');

writeln('-----------------------');

x:=x+0.5;

until x>1;

while x<=3 do

begin

y:=sin(x);

writeln('| x=',x:6:2, ' | y=',y:6:2, ' |');

writeln('-----------------------');

x:=x+0.5;

end;

readln

end.




Результаты работы

программы:


Tabl

-----------------------

| x= 0.00 | y= 1.00 |

-----------------------

| x= 0.50 | y= 0.88 |

-----------------------

| x= 1.00 | y= 0.54 |

-----------------------

| x= 1.50 | y= 1.00 |

-----------------------

| x= 2.00 | y= 0.91 |

-----------------------

| x= 2.50 | y= 0.60 |

-----------------------

| x= 3.00 | y= 0.14 |

-----------------------


Пример выполнения задания 5.

В массиве из N  10 элементов вычислить наибольший элемент массива Х и его номер.

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

program Zadacha5;

{$mode objfpc}{$H+}

uses

Classes, SysUtils

{ you can add units after this };

const n=10;

var i, Imax :byte;

Xmax : real; // наибольший элемент

x : array[1.. n] of real;

begin

for i :=1 to n do

begin

write( 'vvedite ', i, ' element massive x' );

readln(x [i ]); //ввод элемента массива Х

end;

Xmax := x[1]; //кандидат в Хmax

Imax :=1; //его номер Imax

for i :=2 to n do if x[i] > Xmax then

begin //поиск Хmax

Xmax:=x[i];

Imax:=i;

end;

writeln;

writeln('Xmax=', Xmax:6:2, ' Imax=', Imax);

readln //вывод результата

end.






Результаты работы программы:


vvedite 1 element massive x 2

vvedite 2 element massive x -8

vvedite 3 element massive x 6

vvedite 4 element massive x -10

vvedite 5 element massive x 6

vvedite 6 element massive x 4

vvedite 7 element massive x -7

vvedite 8 element massive x 3

vvedite 9 element massive x 5

vvedite 10 element massive x -8
Xmax= 6.00 Imax=3


Рис. 15. Блок схема алгоритма задания 5

Для создания оглавления в пояснительной записке с помощью средств текстового редактора необходимо:

    1. Организовать дополнительную страницу перед описательной частью выполнения заданий с целью размещения на ней будущего оглавления. Для этого:

  • поместить курсор на место вставки оглавления (перед заголовком Выполнение заданий);

  • выбрать команду Разрыв… в меню Вставка;

  • в диалоговом окне Разрыв установить переключатель Новую страницу и нажать кнопку ОК.

Присвоить заголовку название Оглавление.

    1. Аналогично организовать дополнительную страницу для рецензии и присваивается название заголовок Рецензия.

    2. Присвоить стили всем заголовкам, которые должны быть в оглавлении. Например,

1. Рецензия (стиль Заголовок 1)

2. Оглавление (стиль Заголовок 1)

3. Выполнение заданий (стиль Заголовок 1)

3.1. Задание 1 (стиль Заголовок 2)

3.2. Задание 2 (стиль Заголовок 2)

3.3. Задание 3 (стиль Заголовок 2)

3.4. Задание 4 (стиль Заголовок 2)

3.4. Задание 5 (стиль Заголовок 2)

4. Выводы по работе (стиль Заголовок 1)

5. Литература (стиль Заголовок 1)

    1. Вставка оглавления:

  • установить курсор в место вставки оглавления в начало новой страницы, но после заголовка «Оглавление»;

  • активизировать команду Вставка\Ссылка\Оглавление и указатели;

  • в диалоговом окне Оглавление и указатели открыть вкладку Оглавление;

  • в поле Форматы выбрать один из готовых стилей (например, Классический или любой другой понравившийся);

  • наличие флажка Показать номера страниц позволяет для каждого элемента списка отображать номера страниц;

  • установка флажка Номера страниц по правому краю даёт возможность выровнять номера страниц по правому полю;

  • в поле Уровни задать количество уровней для оглавления (в примере два);

  • нажать кнопку ОК.


Добавить документ в свой блог или на сайт

Похожие:

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа по дисциплине биология для студентов заочной формы обучения
Контрольная работа выполняется по вариантам. Вариант контрольной работы выбирается в соответствии с порядковым номером студента в...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconПоляков Д. Б., Круглов И. Ю. Программирование в среде турбо паскаль (версия 5)
Зуев Е. А. Программирование на языке turbo pascal 0, М.: Радио и связь, 1993. 384

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа по дисциплине «Технология конструкционных материалов»
Номер варианта контрольной работы определяется преподавателем. Контрольная работа выполняется в виде реферата объемом 10-15 машинописных...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа по курсу «дискретная математика» Задание: выполнить указанные задания
Оформление: в соответствии с методическими рекомендациями по оформлению контрольной работы для студентов факультета дистанционных...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconМетодические рекомендации по выполнению контрольной работы по дисциплине «экономика отрасли»
Контрольная работа по курсу «Экономика отрасли» состоит из двух частей: практической и теоретической. В первой части работы студент...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа представляет собой форму контроля знаний, призванную...
Каждый вариант контрольной работы включает двадцать два задания, ориентированные на основные содержательные блоки курса «Логика и...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа должна быть сдана в умо в срок не позднее 30 апреля
Целью контрольной работы является проверка знаний, полученных студентом в процессе обучения. Подготовка контрольной работы способствует...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconЗадачи контрольной работы 5 Подготовка контрольной работы 5 Требования...
Выполнение контрольной работы по дисциплине «Анализ финансовой отчетности» обеспечивает реализацию требований Государственного образовательного...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы icon«Интегрированная среда языка Pascal»
Образовательные: Обеспечить в ходе урока усвоения следующих понятий: «операторы присваивания», «запись выражений на языке Pascal»,...

Контрольная работа «Программирование основных алгоритмических структур на языке Free Pascal» Задания контрольной работы iconКонтрольная работа по психологии на 2 курсе в третьем семестре предполагает...
Вас приветствует на сайте Камышинского педагогического колледжа преподаватель психологии Лузгина Наталья Владимировна. В этом файле...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница