Разработка пользовательского интерфейса
Для разработки пользовательского интерфейса используем следующие замечания:
– Ширина столбца – 2.
– Шрифт символов – Courier New.
– Размер шрифта – 11.
– Выравнивание – по центру.
– Шрифт для номеров строк и столбцов – Calibri.
– Символы рамки вставляются с помощью меню Вставка-Символы или пользоваться комбинациями с Alt.
– При печати подбираем масштаб страницы согласно таблице.
Экран дисплея имеет 25 строк и 80 столбцов, т.е. в строке помещается 80 символов.
Для определения таблицы выделяем нужную нам область и выбираем на панели инструментов в подменю «Шрифты» пункт «Все границы».
Пользовательский интерфейс состоит из двух страниц: «Пользовательский интерфейс 1» и «Пользовательский интерфейс 2».
На странице «Пользовательский интерфейс 1» размещаем окно приветствия программы, на котором отображаются данные про вариант задания РГР, имя, фамилия разработчика и его группа. Ширина окна приветствия – 40 символов, в качестве границы используем символы: ╔ ═ ╗ ║ ╝ ╚. Окно должно быть расположено по центру, то есть начинаться с 19 столбца и заканчиваться 59.
На странице «Пользовательский интерфейс 2» выводим таблицу значений сигнала S(t). Таблицу значений сигнала представляем в виде восьми колонок. В первой, третьей, пятой и седьмой колонке указываем значение параметра , а во второй, четвертой, шестой и восьмой колонке рассчитанное значение сигнала . Размещаем её по центру и в качестве границы используем символы: ╔ ═ ╬ ╗ ║ ╝ ╚.
Разработка блок схемы программы
Построим блок-схему программы
Первый блок в схеме – начало программы. Второй блок – объявление переменных, которые будут участвовать в данной программе. Третий блок – цикл которой имеет условие, заданную начальную точку и шаг выполнения. С этим блоком начинается расчет значение аналогово сигнала. Четвёртый блок – условие. Пятый блок – блок выполнения, где мы находим значение аналогово сигнала по заданной формуле. Шестой блок – условие. Седьмой блок – блок выполнения, где мы находим значение аналогово сигнала по заданной формуле. Восьмой блок – условие. Девятый блок – блок выполнения, где мы находим значение аналогово сигнала по заданной формуле. Десятый блок – условие. Одиннадцатый блок – блок выполнения, где мы находим значение аналогово сигнала по заданной формуле. Двенадцатый блок – условие. Тринадцатый блок – блок выполнения, где мы находим значение аналогово сигнала по заданной формуле. Четырнадцатый блок – блок объявления о неправленом вводе параметра t. Пятнадцатый блок – блок вывода результата. Шестнадцатый блок – конец программы.
Разработка и описание программы
Пользуясь выше представленной блок-схемой, напишем текст программы.
Пользуясь уже представленной блок-схемой составим текст программы, представленный в приложении 5.1 . В программе используются все блоки, представленные в вышеуказанной блок-схеме. Второй блок объявления переменных в программе реализован с помощью операторов int и float. Третий блок - цикл которой имеет условие, реализован с помощью оператора for. Четвёртый, шестой, восьмой, десятый и двенадцатый блоки реализованы с помощью оператора if, else if. Пятый, седьмой, девятый, одиннадцатый и тринадцатый блоки выполнения, где мы находим значение аналогово сигнала по заданной формуле. Сам цикл я поместил в функцию пользователя tabl.
ТЕСТИРОВАНИЕ ПРОГРАММЫ
Рассмотрим выполнение программы. После запуска программы на экране мы видим окно приветствия, где можно прочитать кто автор программы, условия своего варианта (рисунок 6.1)
Рисунок 6.1- Снимок экрана
После нажатий любой клавиши открывается следующее окно (рисунок 6.2) с пользовательским интерфейсом (таблица расчёта аналогово сигнала)
Рисунок 6.2 – Снимок экрана
ВЫВОД
Проделав работу по исследованию аналогово сигналу, я пришел к соответствующим выводам.
Что то, что я написал программу по вычисление аналогового сигнала даёт возможность легко автоматизировать это. И эти знания понадобятся мне в следующих моих работа. На основе этих данных я могу строить графики и смогу видеть зависимость одних параметров от других.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Методичні вказівки до виконання розрахунково-графічної роботи з дисципліни „Алгоритмічні мови та програмування” / В.Я. Чечельницький, О.В. Троянський. – Одеса: Наука і техніка, 2004.
2.Методичні вказівки до оформлення курсових робіт, розрахунково-графічних робіт та лабораторних робіт з дисципліни „Алгоритмічні мови та програмування” / В.Я. Чечельницький. – Одеса: ОНПУ, 2005.
3.Конспект лекцій з дисципліни „Алгоритмічні мови та програмування” / В.Я. Чечельницький. - Одеса: ОНПУ, 2012
ПРИЛОЖЕНИЕ А
Рисунок А.1 – График аналогового сигнала
ПРИЛОЖЕНИЕ Б
Блок-схема
1
2
3
4
Нет Да 16
15 6
Нет Да
8 5
Нет Да
10 7
Нет Да
12
9
Нет Да
14 11
13
Рисунок А.1 – Блок-схема
ПРИЛОЖЕНИЕ В
Текст программы
/****************************************************************************/
/* Программа под названием "УРА" */
/* Разработчик студент группы РБ-111 */
/* Жеглов Валентин Олександрович */
/****************************************************************************/
/* Программа для расчета сигнала */
/****************************************************************************/
#include <stdio.h>
#include <math.h>
#include <conio.h>
float tabl(int a,int i,float b,float* c,float g);
/****************************************************************************/
/* Главная Функция */
/****************************************************************************/
void main (void)
{
clrscr ();
/* Построение окна приветствия */
printf("\n\n\n");
printf(" ╔═══════════════════════════════════════╗ \n");
printf(" ║ Программа построения сигнала ║ \n");
printf(" ║ ┌- ║ \n");
printf(" ║ │S0*(1.0-t), при 0 <=t<=0,5; ║ \n");
printf(" ║ │S0*(t-0.5), при 0,5<t<=1,0; ║ \n");
printf(" ║ S(t) -┤S0*(2.0-t), при 1,0<t<=1,5; ║ \n");
printf(" ║ │S0*(t-1.5), при 1,5<t<=2,0; ║ \n");
printf(" ║ │S0*(3.0-t), при 2,0<t<=2,5; ║ \n");
printf(" ║ │S0*(t-2.5), при 2,5<t<=3,0; ║ \n");
printf(" ║ └- ║ \n");
printf(" ║ в диапозоне от 0 до 3 мкс ║ \n");
printf(" ║ ║ \n");
printf(" ║ р а з р а б о т ч и к : ║ \n");
printf(" ║ ║ \n");
printf(" ║ студент гр. РБ-111 ║ \n");
printf(" ║ Жеглов Валентин Александрович ║ \n");
printf(" ║ ║ \n");
printf(" ╚═══════════════════════════════════════╝ \n");
/* Объявление переменных */
int q,s,i,a=6;
float g,b;
float* *c;
getch ();
clrscr ();
b=0.05;
/* Построение таблицы результатов */
printf ("\n\n\n");
printf(" ╔══════╤══════╦══════╤══════╦══════╤══════╦══════╤══════╗ \n");
printf(" ║ t | S(t) ║ t | S(t) ║ t | S(t) ║ t | S(t) ║ \n");
printf(" ╠══════╧══════╬══════╧══════╬══════╧══════╬══════╧══════╣ \n");
/* Заполнение таблицы данными */
tabl (a, i, b, *c, g);
printf(" ╚══════╧══════╩══════╧══════╩══════╧══════╩══════╧══════╝ \n");
getch ();
}
/****************************************************************************/
/* Функция пользователя */
/****************************************************************************/
float tabl(int a, int i,float b,float* c,float g)
{
g=0.00;
for (i=0;i<60;i=i+1)
if (i<11)
{
c[i]=a*(1-b*i);
}
else if (i>=11 && i<21)
{
c[i]=a*(b*i-0.5);
}
else if (i>=21 && i<31)
{
c[i]=a*(2-b*i);
}
else if (i>=31 && i<41)
{
c[i]=a*(b*i-1.5);
}
else if (i>=41 && i<51)
{
c[i]=a*(3-b*i);
}
else if (i>=51 && i<61)
{
c[i]=a*(b*i-2.5);
} for (i=0;i<15;i=i+1)
{
printf(" ║ %4.2f | %4.2f ║ %4.2f | %4.2f ║ %4.2f | %4.2f ║ %4.2f | %4.2f ║ \n",g,c[i],g+0.75,c[i+15],g+1.5,c[i+30],g+2.25,c[i+45]);
g=g+0.05;
}
return *c;
}
Рисунок В.1 – Текст программы
ПРИЛОЖЕНИЕ Г
Рисунок Г.1 – Пользовательский интерфейс 1
ПРИЛОЖЕНИЕ Д
Рисунок Д.1 - Пользовательский интерфейс 2