Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие_Алгоритмизация

.pdf
Скачиваний:
43
Добавлен:
23.02.2015
Размер:
1.26 Mб
Скачать

{основная программа} var x: integer;

y: real;

begin

writeln(„Таблица логарифмов чисел от 1 до 10‟);

Line(20,‟=‟);

writeln(„Число Корень‟);

Line(20,‟=‟);

for x:=1 to 10 do

begin

y:= ln(x);

writeln(x:5; y:8:3);

Line(20,‟–‟);

end;

Line(20,‟=‟);

end.

Функции

Функция – это особым образом оформленный фрагмент программы,

имеющий собственное имя.

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

function <имя функции> (<список формальных параметров>): <тип функции>;

var

{объявление внутренних переменных функции}; begin

{операторы функции}; end;

60

Обращение к функции осуществляется по имени с указанием списка

фактических параметров.

<имя функции> (<список формальных параметров>).

Отличие функции от процедуры

1.В заголовке указывается тип функции. Результатом работы функции является единственное значение. В результате работы процедуры могут быть различные варианты. Если программа имеет единственный результат, ее необходимо оформить в виде функции, в остальных случаях

ввиде процедуры.

2.В теле функции должен быть хотя бы один оператор, который присваивает имени функции результат ее работы.

3.Оператор вызова функции может участвовать в выражениях,

стоящих в правой части знака присваивания, например:

Function V_conus(R,H: word): real; begin

V_conus:=1/3*PI*R*R*H; end;

ПРИМЕР 18. Составьте функцию, которая вычисляет значение ab. Числа а и b могут быть любыми дробными положительными числами.

program stepen;

uses crt;

function InStep(a, b: real):real;

begin

InStep:=exp(b*ln(a));

end;

var a: real; {число}

b:real;{степень}

c:real;{число в степени}

begin

writeln(„Введите число и показатель степени‟);

61

readln (a, b);

c:= InStep(a, b);

writeln(a:6:3,„в степени‟, b:6:3, „=‟, с:6:3);

readln;

end.

Задания для самостоятельной работы

1.Составить программу, которая считает количество слов в строке.

2.Составить программу, которая удаляет заданное пользователям слово из строки.

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

4.Написать программу на языке Паскаль, которая удаляет из строки n

символов, начиная с 5-й позиции.

5.Написать подпрограмму поиска минимального элемента в массиве и его номера.

6.Составить функцию для вычисления среднего арифметического чисел.

7.Составить функцию, вычисляющую логарифм с произвольным основанием. С помощью функции вычислить: log 7 100 , log5 125 , log 2 64 .

8.Составить процедуру для вычисления площади и длины окружности.

9.Составить функцию для вычисления тангенса угла.

10.Составить процедуру для вычисления суммы и произведения элементов матрицы, лежащих выше главной диагонали.

62

ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ РАСЧЕТНО-ГРАФИЧЕСКОЙ РАБОТЫ

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

«Основы алгоритмизации и программирования».

Целью данной работы является:

систематизация знаний студентов по теме «Основы алгоритмизации и программирования»;

закрепление навыков работы с текстовым процессором и средой программирования Turbo Pascal 7.0;

применение принципов оформления научно-технической документации.

Отчет по расчетно-графической работе (РГР) оформляется в текстовом

процессоре MS Word и имеет следующую структуру:

титульный лист (см. приложение);

оглавление, составленное автоматически;

цели и задачи расчетно-графической работы, краткая аннотация к отчету;

основная часть;

выводы;

используемая литература.

Котчету обязательно должны прилагаться решенные задачи с комментариями на языке Pascal в электронном виде.

Основная часть РГР состоит из 5 задач по следующим темам: линейная,

разветвляющаяся и циклическая алгоритмические конструкции, одномерные и двумерные массивы. Для каждой задачи составляется:

псевдокод;

блок-схема;

63

листинг программы на языке Pascal;

тестирование;

результат выполнения программы.

Печатный текст оформляется в соответствии со следующими

требованиями:

1)поля – 2 см со всех сторон;

2)шрифт – Times New Roman;

3)размер шрифта – 14 пт;

4)интервал между строками – 1,5;

5)страницы должны быть пронумерованы, начиная со 2-й;

6)выравнивание – по ширине;

7)отступ первой строки – 1,25;

8)в верхнем колонтитуле указывается фамилия студента и название расчетно-графической работы;

9)заголовки и основной текст лабораторной работы оформляются с помощью стилей;

10)рисунки и таблицы должны иметь названия и нумерацию;

11)формулы вставляются целиком как объект Microsoft Equation.

ВРГР оцениваются:

правильность составления псевдокода, блок-схемы;

работа программы в среде программирования Turbo Pascal;

оформление работы в текстовом процессоре;

устная защита работы, ответы на вопросы преподавателя.

Критерии оценивания расчетно-графической работы

«ОТЛИЧНО» заслуживает студент, показавший глубокий и всесторонний уровень знания раздела «Алгоритмизация и программирование», свободное владение терминологией, умение качественно выполнять практические задания.

64

«ХОРОШО» заслуживает студент, показавший хорошее знание темы,

успешно выполнивший практические задания.

«УДОВЛЕТВОРИТЕЛЬНО» заслуживает студент, показавший знание дисциплины в объеме, достаточном для продолжения обучения, справившийся с большей частью практических заданий.

«НЕУДОВЛЕТВОРИТЕЛЬНО» заслуживает студент, обнаруживший значительные пробелы в знании раздела «Алгоритмизация и программирование», допустивший принципиальные ошибки при выполнении большинства практических заданий.

65

ПРИМЕР ОФОРМЛЕНИЯ ЗАДАНИЙ РАСЧЕТНО-ГРАФИЧЕСКОЙ РАБОТЫ

Разработать алгоритмы к представленным задачам, составить

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

тестирование программ.

Линейная алгоритмическая конструкция

1. Формулировка задания

Разработать алгоритм решения линейного уравнения.

2. Псевдокод

1.Ввод k, b.

2.Х bk .

3.Вывод Х.

4.Конец.

3. Блок-схема

Начало

Ввод k, b

Х bk

Вывод x

Конец

4. Листинг программы program uravnenie ;

66

uses crt;

var x, k, b: real ;

begin

writeln ('Введите коэффициент k') ; readln (k) ;

writeln ('Введите b') ; readln (b) ;

clrscr; {Очистка экрана после ввода данных} x:= - b/k ;

writeln ('Корнем линейного уравнения ',k:3:2,'*x+',b:3:2, '=0 является x =', x:3:2) ;

end.

5. Тестирование

Значение

Значение

Результат выполнения

Ожидаемый

п/п

k

b

программы

результат

1

2

5

-2.50

-2.50

 

 

 

 

 

2

10

-20

2.00

2.00

 

 

 

 

 

3

5

-5

1.00

1.00

6. Результат выполнения программы

67

Разветвляющаяся алгоритмическая конструкция

1. Формулировка задания

Разработайте алгоритм вычисления значения функции

a 1, x 0 ,

Y (X )

x2 5, x 0 ,

где а – произвольное целое число, введенное с клавиатуры.

2. Псевдокод

1.Ввод Х, а.

2.ЕСЛИ Х > 0, ТО Y(X) = X2+5,

ИНАЧЕ Y(X) = a–1.

3.Вывод Y(X).

4.Конец.

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

program functia;

uses crt ;

var a: integer ; x, Y: real;

begin

clrscr;

3. Блок-схема

Начало

Ввод x, a

Нет

X>0

Да

 

 

Y(X)=а–1

 

Y(X)=X2+5

 

 

 

Вывод Y

Конец

68

writeln ('Вычисление значения функции'); writeln ('Введите X и а');

readln (x, a) ; if x > 0

 

 

 

 

then Y:=a – 1

 

 

 

 

 

 

else Y:= sqr(x)+5;

 

 

 

writeln ('При а =' , а, 'Y =',Y:5:2);

 

 

 

readln;

 

 

 

 

 

end.

 

 

 

 

5.

Тестирование

 

 

 

 

 

 

 

 

 

Значение

 

Значение

 

Результат выполнения

Ожидаемый

п/п

 

a

 

x

 

программы

результат

1

 

2

 

1

 

1.00

1.00

 

 

 

 

 

 

 

 

2

 

10

 

-4

 

21.00

21.00

 

 

 

 

 

 

 

 

3

 

1

 

-5

 

30.00

30.00

6.

Результат выполнения программы

 

69