Министерство образования и науки РФ
Федеральное агентство по образованию
ГОУ ВПО
Саратовский государственный технический университет
Институт бизнеса и делового администрирования
Кафедра Менеджмента, маркетинга и
логистики
Расчетно-графическая работа
по Информатике
Выполнил: студент
группы МНЖ-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 то переходим к следующему действию
9
устанавливаем шаг измененияW
10
если Wменьше 0, то считаем Zпо формуле:
/>
иначе если Wбольше 0, то считаем Zпо формуле:
/>
иначе Z=34,2
11
устанавливаем цвет текста. Желтый
12
вывод W
12
Устанавливаем цвет текста. Красный
13
Вывод Zc5 знаками перед точкой и 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
until not odd(k) and(k>0);
for i:=-k div 2 to k div 2 do begin
w:=2*i;
if(w
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
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
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
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
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
Повторить?
нет
До новых встреч!!!