Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Составление алгоритма решения. Сформированная математическая модель и выбранный метод решения позволяют выполнить одношаговую схему алгоритма (рис




Сформированная математическая модель и выбранный метод решения позволяют выполнить одношаговую схему алгоритма (рис. 8.6).

Рис. 8.6. Алгоритм решения задачи 8.2

Для улучшения наглядности организации вычислений элементы дружественности не показаны.

Программирование задачи

Идентификация переменных представлена в табл. 8.2.

Таблица 8.2

Обозначение в алгоритме i n x ai SPi
Обозначение в программе i n x a[i] sp[i]

С учётом таблицы идентификации на основании схемы алгоритма составлены программы решения задачи.

Классический вариант программирования задачи

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include <windows.h>

#define N 20 /* увеличенный размер массивов */

main()

{

float x, a[N], sp[N];

int i, n;

char buf[50]; /*описание символьного массива*/

clrscr();

CharToOem(" Введите численные значения n и x: ",buf);

printf("\n %s ",buf);

scanf("%d%f", &n, &x);

for(i=0; i<n; i++) /* заголовок цикла ввода */

{

CharToOem(" Введите коэффициент а",buf);

printf("\n %s%i",buf,i);

scanf("%f", &a[i]);

}

printf("\n ---------------------------------"

"\n | i | ai | SPi |"

"\n ---------------------------------");

sp[0] = a[0];

for(i = 1; i<=n; i++) /* заголовок цикла расчёта */

{

sp[i] = sp[i-1] * x + a[i];

printf("\n | %2d | %8.2f|%15.1f|", i, a[i], sp[i]);

}

printf("\n ---------------------------------");

CharToOem(" Значение полинома SP =",buf);

printf("\n %s %.2f",buf,sp[n]);

CharToOem(" при n=",buf);

printf(" %s %.d\n",buf,n);

getch();

}

7 1.98

5 0.8 1.7 -3.2 12 0.1 63

Под закрывающей скобкой программы располагаются численные значения исходных данных для решения задачи.

Результаты решения представлены в приложении 8.3.

Программирование задачи с графическим интерфейсом

Программирование задачи при использовании графического интерфейса предварим его разработкой.

ListBoxSP

Для ввода порядка и основания полинома планируем однострочные поля редактирования (EditN, EditX). Для ввода коэффициентов полинома – многострочное поле редактирования (EditAi). Вывод расчетных значений реализуем в поле-список (ListBoxSP).

Управление процессом решения реализуем двумя командными кнопками, расположенными в нижней части окна. Назначение каждой определяется ее названием.

С учетом планируемого интерфейса выполним программирование задачи.

#include<stdio.h>

#include<stdlib.h>

#define N 20 /* увеличенный размер массивов */

void TSumprDlgClient::Ok()

{

// INSERT>> Your code here.

float x, a[N], sp[N];

int i, n;

char buf[20]; /*описание символьного массива*/

ListBoxSP->ClearList();

EditN->GetText(buf, 10);

n = atoi(buf); /* ввод значения порядка*/

EditX->GetText(buf,10);

x=atof(buf); /* ввод значения основания полинома*/

for(i=0; i<n; i++) /* заголовок цикла ввода */

{

EditAi->GetLine(buf, 20, i);

a[i]=atof(buf); /* ввод значения массы*/

}

sp[0] = a[0];

for(i = 1; i<=n; i++) /*заголовок цикла расчёта */

{

sp[i] = sp[i-1] * x + a[i];

sprintf(buf,"%11.1f",sp[i-1]);

ListBoxSP->AddString(buf); /*вывод текущих значений sp*/

}

}

7 1.98

5 0.8 1.7 -3.2 12 0.1 63

Под закрывающей скобкой программы записаны численные значения исходных данных для решения задачи. Результаты решения представлены в приложении 8.4.





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 446 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2419 - | 2287 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.