Расчетно-графическая работа по Информатике
Министерство образования и науки РФ
Федеральное агентство по образованию
ГОУ ВПО
Саратовский государственный технический университет
Институт бизнеса и делового администрирования
Кафедра Менеджмента, маркетинга и
логистики
Расчетно-графическая работа
по Информатике
Выполнил: студент
группы МНЖ-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
Повторить?
нет
До новых встреч!!!