microbik.ru
1


Министерство образования и науки РФ

Федеральное агентство по образованию

ГОУ ВПО

Саратовский государственный технический университет

Институт бизнеса и делового администрирования

Кафедра Менеджмента, маркетинга и

логистики

Расчетно-графическая работа

по Информатике


Выполнил: студент

группы МНЖ-11


Проверил: доцент

кафедры ММЛ,

к.т.н. Балабан О.М.


Саратов 2007
содержание:


  1. Задание (задача поставленная на расчетно-графическую работу) 2




  1. Словесное описание алгоритма решения поставленной задачи ... 3




  1. Блок-схема алгоритма решения поставленной задачи ………….. 5




  1. Тексты (листинги) трех вариантов программ …………………… 7




  1. Примеры выполнения составленных программ………………… 10


задача поставленная на расчетно-графическую работу

2:
Написать программу, выполняющую следующие действия:

Требуется на экран монитора ЭВМ вывести таблицу чисел «Функция Z(W)». Значения W лежат в интервале [-K;K], шаг изменения W равно 2. Здесь K целое четное положительное число, которое определяется пользователем и вводится с клавиатуры по запросу программы. Если введенное значение K не отвечает заданному условию, на экран монитора выдается сообщение: «Ошибка ввода!!! Значение K четное положительное число. Введите значение K». После чего вводится новое значение K. Если значение K отвечает поставленному условию, считаем значения Z по следующей формуле:


Результаты значений второго столбца Z вывести на экран ПЭВМ с 5 знаками после точки и 5 знаками перед точкой красным цветом. Значения W выводим желтым цветом. По запросу «Повторить?» на ответы «да» или «yes» - ввод нового значение K и повторный вывод таблицы, в противном случае – вывод сообщения «До новых встреч!!!» и выход из программы.
словесное описание алгоритма решения поставленной задачи :

шаг

действие

1

Называем программу rgr

2

Указываем библиотеку

3

Вводим переменные k,w,z,i,s.

4

Начало исполнительной части

5

Очистка экрана

6

Начало цикла

7

Ввод значения К

8

Если Значение К нечетное или К<=0 ,выводится сообщение об ошибке. Если К четное и К>0 то переходим к следующему действию

9

устанавливаем шаг изменения W

10

если W меньше 0, то считаем Z по формуле:



иначе если W больше 0, то считаем Z по формуле:



иначе Z=34,2

11

устанавливаем цвет текста. Желтый

12

вывод W

12

Устанавливаем цвет текста. Красный

13

Вывод Z c 5 знаками перед точкой и 5 знаками после точки

14

устанавливаем цвет текста. Белый

15

Выводим запрос о повторе расчета

16

Вводим значение s

17

Если значение s равно «Да» или «yes», то переходим к шагу 7, иначе переходим к шагу 18

18

Вывод сообщения «ДО НОВЫХ ВСТРЕЧ!!!»

19

Конец


блок-схема алгоритма решения поставленной задачи :

да

нет

Z=(12-W*W*W)/exp(ln(0.5*W+12.3)/5)

да

нет

да

нет

Z=2*exp(ln(W*W)/3)/(0.23*W)

Z=34.2

textcolor(yellow)

нет

да

w=2*i

да

нет









textcolor(red)












да

нет

textcolor(white)




листинги трех вариантов программ :

I вариант программы :
program rgr;

uses crt;

var k,i,w:integer;z:real;s:string;

begin

clrscr;

repeat

writeln(‘Введите значение К: ’);

repeat

readln(k);

if odd(k)or(k<=0) then writeln('ОШИБКА ВВОДА!!!ЗНАЧЕНИЕ К ЧТЕНОЕ ПОЛОЖИТЕЛЬНОЕ ЧИСЛО ВВЕДИТЕ ЗНАЧЕНИЕ К: ');

until not odd(k) and(k>0);

for i:=-k div 2 to k div 2 do begin

w:=2*i;

if(w<0) then z:=(12-w*w*w)/exp(ln(0.5*w+12.3)/5)

else if(w=0) then z:=34.2

else z:=2*exp(ln(w)*2/3)/(0.23*w);

textcolor (yellow);

write(w);

write(' ');

textcolor (red);

writeln(z:5:5);

end;

textcolor (white);

write('ПОВТОРИТЬ?');

readln(s);

until(s<>'да')and(s<>'yes');

writeln('ДО НОВЫХ ВСТРЕЧ!!!');

readkey

end.

II вариант программы :
комментарий: подпрограмма-функция(«Znash»), принимает значение W и считает значение Z по формуле оговоренной в задаче, передавая подсчитанное значение в основную программу.
program rgr;

uses crt;

var k,w:integer;f,z:real;s:string;

function Znash(z:real): real;

var i: integer;

begin

for i:=-k div 2 to k div 2 do begin

w:=2*i;

if (w<0) then z:=(12-w*w*w)/exp(ln(0.5*w+12.3)/5)

else if(w=0) then z:=34.2

else z:=2*exp(ln(w)*2/3)/(0.23*w);

textcolor (yellow);

write(w);

write(' ');

textcolor (red);

writeln(z:5:5);

end;

end;

begin

clrscr;

repeat

writeln(‘Введите значение К: ‘);

repeat

readln(k);

if odd(k)or(k<=0) then writeln ('Ошибка ввода!!!Значение К четное положительное число .Введите значение К: ');

until not odd(k) and(k>0);

f:=Znash(z);

textcolor (white);

write('Повторить?');

readln(s);

until(s<>'да')and(s<>'yes');

writeln('ДО НОВЫХ ВСТРЕЧ!!!');

readkey

end.

III вариант программы :
комментарий: подпрограмма-процедура(«Znash»), принимает значение W, считает значение Z по соответствующей формуле и выводит пару переменных (W,Z) в строку таблицы.
program rgr;

uses crt;

var k,w:integer;z:real;s:string;

procedure Znash(k,w:integer;z:real);

var i: integer;

begin

for i:=-k div 2 to k div 2 do begin

w:=2*i;

if (w<0) then z:=(12-w*w*w)/exp(ln(0.5*w+12.3)/5)

else if(w=0) then z:=34.2

else z:=2*exp(ln(w)*2/3)/(0.23*w);

textcolor (yellow);

write(w);

write(' ');

textcolor (red);

writeln(z:5:5);

end;

end;

begin

clrscr;

repeat

writeln(‘Введите значение К: ’);

repeat

readln(k);

if odd(k)or(k<=0) then writeln('Ошибка ввода!!!Значение К четное положительное число.Введите значение К: ');

until not odd(k) and(k>0);

Znash(k,w,z);

textcolor (white);

write('Повторить?');

readln(s);

until(s<>'да')and(s<>'yes');

writeln('ДО НОВЫХ ВСТРЕЧ!!!');

readkey

end.

примеры выполнения составленных программ:
3

Ошибка ввода!!! Значение К четное положительное число.

введите значение К

-2

Ошибка ввода!!! Значение К четное положительное число.

введите значение К

2

-2 12.31443

0 34.20000

2 6.90174
Повторить?

yes
4

-4 47.67011

-2 12.31443

0 34.20000

2 6.90174

4 5.47792

Повторить?

нет
До новых встреч!!!