Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алг_прогр.doc
Скачиваний:
28
Добавлен:
01.12.2018
Размер:
950.78 Кб
Скачать

Примеры написания программ на языке программирования Паскаль

В качестве основы задач, для которых мы будем писать программы, возьмем примеры, рассмотренные выше (в разделах «Алгоритм» и «Конструирование блок-схем алгоритмов»).

1. Разветвляющиеся алгоритмы.

Написать программу на языке программирования Паскаль для вычисления следующей функции:

a=2,68; b=1,75.

х=1,27.

Решение.

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

PROGRAM RAZVETV; {Название программы}

CONST {Раздел описания констант}

A=2.68;

B=1.75;

VAR {Раздел описания переменных}

X, Y : REAL;

BEGIN {НАЧАЛО ПРОГРАММЫ}

WRITE(‘ВВЕДИТЕ X, ’); {Выводим на экран сообщение о необходимости ввести Х}

READLN(X); {Вводим значение Х}

IF X<1 THEN Y := (A+X)*SQR(SIN(2*X))-SQRT(ABS(X))

ELSE Y := B*COS(X)+1/(EXP(3*LN(X))); {Если Х<1 то Y=…, иначе Y= …}

WRITELN(‘Y=’,Y); {Выводим результат вычислений}

END. {КОНЕЦ ПРОГРАММЫ}

2. Циклические алгоритмы.

Для функции вычислить значения для x[1,4], с шагом х=0,2; a=2,1, b=1,4.

Решение.

PROGRAM CIKL; {Название программы}

CONST {Раздел описания констант}

A=2.1;

B=1.4;

DX = 0,2;

VAR {Раздел описания переменных}

X, Y : REAL;

BEGIN {НАЧАЛО ПРОГРАММЫ}

X := 1; {Присваиваем начальное значение Х}

WHILE X<=4 DO {ЦИКЛ - ПОКА}

BEGIN {НАЧАЛО БЛОКА}

Y := ARCTAN((1/(A+B*SQR(X))/SQRT(1-1/(A+B*SQR(X)))); {Вычисляем функцию}

WRITELN(‘ПРИ X=’,X,‘ Y=’,Y); {Выводим результат вычислений}

X := X+DX; {Вычисляем следующее значение Х}

END; {КОНЕЦ БЛОКА}

END. {КОНЕЦ ПРОГРАММЫ}

3. Дан массив из 5 чисел: Х=[2 4 6,2 3 1,4], вычислить значение функции , где a=27,8; b=4,24.

Решение.

PROGRAM MASSIV; {Название программы}

CONST {Раздел описания констант}

A=27.8;

B=4.24;

VAR {Раздел описания переменных}

X : ARRAY [1..5] OF REAL;

Y : REAL;

I : INTEGER;

BEGIN {НАЧАЛО ПРОГРАММЫ}

FOR I:=1 TO 5 DO {ЦИКЛ С ПАРАМЕТРОМ ДЛЯ ВВОДА ЭЛЕМЕНТОВ МАССИВА Х}

BEGIN {НАЧАЛО БЛОКА}

WRITE(‘Введите значение X[’,I,’], ’);

READLN(X[I]);

END; {КОНЕЦ БЛОКА}

Y :=0; {Обнуляем переменную, в которой будем накапливать сумму}

FOR I:=1 TO 5 DO Y := Y + SQR(X[I]+B); {ЦИКЛ С ПАРАМЕТРОМ ДЛЯ РАСЧЕТА СУММЫ}

Y := Y+A;

WRITELN(‘Y=’,Y); {Выводим результат вычислений}

END. {КОНЕЦ ПРОГРАММЫ}

Здесь конец лекции 2 Варианты заданий для рефератов и практических занятий. Задание 1.

Выбирается вариант, соответствующий последней цифре номера фамилии студента в списке учебной группы, упорядоченном по алфавиту.

Замечание: Желательно (и будет поощряться), чтобы кроме учебных пособий, учебников, монографий при выполнении этого задания активно использовалась периодика (за 1997-1999 годы). Например, журналы «Мир ПК», «Компьютер-пресс», «Hard & Soft», «Открытые системы», «Сети» и др.