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

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

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

ГОУ ВПО

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

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

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

логистики

 

 

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

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

 

 

 

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

группы МНЖ-11

                                                       

 

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

кафедры ММЛ,

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

 

 

 

Саратов 2007

 

содержание:

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

 

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

 

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

 

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

 

5)           Примеры выполнения составленных программ…………………  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

Конец

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Повторить?

нет

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