Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Описание логической структуры программы.
Для получения результата необходимо: - Ввести значения переменных a,b с клавиатуры. - Организовать вычисление значения a*b+1 с помощью подпрограммы, например процедуры с заголовком: - Организовать вычисление значения (a–5)/b в виде функции с заголовком: - Сравнить значения a и b с помощью условия (If Then ) и с учетом проверки в X присвоить либо a*b+1, либо 25, либо (a–5)/b. - Вывести на экран значение X, используя форматный вывод. Блок-схема программы.
Описание входных данных a, b– переменные типа Real; Описание выходных данных X –переменная типаReal. Описание программы (листинг) { задание 2}
Program ZAD_2; Uses Crt; Var a,b,c,X:Real;
Procedure Proc(a,b:real; var c:real); begin c := a*b+1; end;
Function Func(a,b:real):real; begin Func := (a-5)/b; end;
Begin ClrScr; Write('a='); ReadLn(a); Write('b='); ReadLn(b);
if a=b then X := 25;
if a<b then X := Func(a,b);
if a>b then begin Proc(a,b,c); X := c; end;
Write('X=', X:5:2);
ReadLn; End. Тестовые примеры Необходимо протестировать программу для различных тестовых примеров (подобрать самостоятельно). Интрфейс программы в режиме выполнения Результаты работы программы выглядят следующим образом:
Задание 3. Постановка задачи Произвести табулирование функции на отрезке [a,b] (вывод на экран в табличном виде значений функции в точках x, которые будут выбираться из указанного отрезка [2,3], разбитого на 10 частей), используя два вида циклов While Do и For To Do. Функцию оформить как подпрограмму. Теоретическое введение Для табулирования функции требуется разбить отрезок [a,b] на n частей. Для этого нужно перебирать значения x от x=a до x=b с шагом h=(b–a)/n. Для цикла с параметром точка x будет определятся так x=a+ih. Для цикла с условием точка x будет определятся так x=x+h. Для ввода значений переменных необходимо использовать стандартные процедуры: Read и ReadLn, для вывода Write или WriteLn. Табулируемую функцию нужно оформить как подпрограмму: Function F(x:real):real; Begin F := cos(sqrt(x))+0.5*x-0.8; end; Описание программы Программа написана на алгоритмическом языке ПАСКАЛЬ и реализована в среде Borland Pascal-7.0 Windows XP/MS DOS, на платформе х86. Описание логической структуры программы. Для получения результата необходимо: - Ввести значения переменных a,b,n с клавиатуры. - Вычислить значения шага. - Организовать вывод на экран в табличном виде значений функции F в точках x с помощью цикла While Do: - Организовать вывод на экран в табличном виде значений функции F в точках x с помощью цикла For: Блок-схема программы.
Описание входных данных a, b– переменные типа Real; n – переменная типа Integer; Описание выходных данных Таблица на экране. Описание программы (листинг) { задание 3}
Program ZAD_3; uses Crt; var a,b,h,x,y:real; i,n:integer;
function F(x:real):real; begin F:=cos(sqrt(x))+0.5*x+0.8; end;
Begin clrscr; write('a='); readln(a); write('b='); readln(b); write('n='); readln(n);
h:=(b-a)/n;
writeln(' X | Y '); writeln(' ----------------');
{while do} x:=a; while x<=b do begin y:=F(x); writeln(' ', x:5:2, ' | ', y:5:2); x:=x+h; end;
{for do} for i:=0 to n do begin x:=a+i*h; y:=F(x); writeln(' ', x:5:2, ' | ', y:5:2); end;
ReadLn; End. Тестовые примеры Необходимо протестировать программу для различных тестовых примеров (подобрать самостоятельно). |
||
Последнее изменение этой страницы: 2018-05-30; просмотров: 340. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |