Анализ технологических характеристик изделия

Содержание

Слайд 2

План презентации Семантический анализ задачи Задание для задачи Анализ задания (Работа

План презентации

Семантический анализ задачи
Задание для задачи
Анализ задания (Работа с носителем)
Синтаксический анализ

задачи
Семантический анализ задачи
Прагматический анализ задачи
Формализация
Решение задачи
Пример исходных данных
Код программы
Итоги
Слайд 3

Синтаксический анализ задачи В данной работе буду использоваться термины «Массив, Цикл,

Синтаксический анализ задачи

В данной работе буду использоваться термины «Массив, Цикл,

Переменная, Цена, Качество, Тип»
Массив — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом
Тип — это допустимое множество значений схожих между собой.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.
Переменная — в языках программирования именованная часть памяти, в которую могут помещаться разные значения переменной.
Цена — количество денег, в обмен на которые продавец готов передать (продать) единицу товара.
Качество — совокупность свойств продукции, обусловливающих её пригодность удовлетворять определённые потребности в соответствии с её назначением.
План презентации

Синтаксический анализ задачи

Слайд 4

Задание для задачи Для изготовления изделия на завод поступают детали разного

Задание для задачи

Для изготовления изделия на завод поступают детали разного типа,

от различных изготовителей разного качества, стоимости.
Исходные данные для решения задачи:
Полное количество деталей на конвейере PKD
Количество типов деталей KTD
Количество изготовителей KI
Количество показателей качества KPK
Количество цен KC
Перечень типов деталей для сборки одного изделия PTDI
Требуется :
определить несколько вариантов (4-6) стоимости (от min до max) одного изделия при использовании деталей разных изготовителей и качества. Среди рассмотренных вариантов должны быть и изделия с минимальным и максимальным полным качеством
В полном количестве деталей на конвейере встречаются детали как разных типов, изготовителей, качества и цен, так и одинаковых. Все данные, задаваемые при вводе, являются целыми числами в пределах 3 -9 .
План презентации
Слайд 5

Анализ задания. (Работа с носителем) Для выполнения задания у нас есть

Анализ задания. (Работа с носителем)

Для выполнения задания у нас есть 7

деталей 6 разных типов.
У нас есть параметр качества детали от 1 до 3
Также имеется параметр цены детали от 1 до 3
Количество изготовителей деталей 3
Количество типов детали 6
План презентации
Слайд 6

Синтаксический анализ задачи В данной работе буду использоваться термины «Массив, Цикл,

Синтаксический анализ задачи

В данной работе буду использоваться термины «Массив, Цикл,

Переменная, Цена, Качество, Тип»
Массив — тип или структура данных в виде набора компонентов (элементов массива), расположенных в памяти непосредственно друг за другом
Тип — это допустимое множество значений схожих между собой.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.
Переменная — в языках программирования именованная часть памяти, в которую могут помещаться разные значения переменной.
Цена — количество денег, в обмен на которые продавец готов передать (продать) единицу товара.
Качество — совокупность свойств продукции, обусловливающих её пригодность удовлетворять определённые потребности в соответствии с её назначением.
План презентации

Синтаксический анализ задачи

Слайд 7

Семантический анализ задачи Семантический анализ — это смысловой анализ задания или

Семантический анализ задачи

Семантический анализ — это смысловой анализ задания или задачи.
В

данном задание мы исследуем наборы разных типов деталей от разных изготовителей. При этом надо учесть, что все детали различны между собой по разными критериям, например таким как: «Цена, Качество, Тип детали». В результате всего этого мы должны получить стоимость полного изделия из необходимых для этого деталей. И также мы должны определить качество этого изделия.
План презентации
Слайд 8

Прагматический анализ задачи Прагматизм — это подход к выполнению задачи с

Прагматический анализ задачи

Прагматизм — это подход к выполнению задачи с расчетом

на получение наилучшего результата.
В данной задаче мы отслеживаем цену и качество изделия при условии, что все необходимы для этого детали будут в наличии у производителей. Иначе программа выдает предупреждения, что данная задача не может быть выполнена.
План презентации
Слайд 9

Формализация Формализа́ция — представление какой-либо содержательной области (рассуждений, доказательств, процедур классификации,

Формализация

Формализа́ция — представление какой-либо содержательной области (рассуждений, доказательств, процедур классификации, поиска

информации научных теорий) в виде формальной системы или исчисления.
Для решения этой задачи мы будем использовать 4 массива.
1 Массив — это массив содержащий в себе все типы деталей.
2 Массив — это массив содержащий в себе все возможные цены на детали.
3 Массив — это массив содержащий в себе все оценки качества детали.
4 Массив — это массив содержащий в себе всех изготовителей делающих необходимы детали для изготовления данного продукта.
План презентации
Слайд 10

Решение задачи Реше́ние зада́ч — процесс выполнения действий или мыслительных операций,

Решение задачи

Реше́ние зада́ч — процесс выполнения действий или мыслительных операций, направленный

на достижение цели, заданной в рамках проблемной ситуации — задачи; является составной частью мышления.
Мы генерируем массивы содержащие в себе необходимы данные «Цен, качества, типов деталей и изготовителей».
Мы определяем по массиву с ценой, цену создаваемого изделия из необходимых деталей.
Мы определяем по массиву с качеством, качество создаваемого изделия из необходимых деталей.
Если в массиве содержащем типы деталей нет необходимого набора деталей, мы должны создать условие выдачи ошибки. О том что данная задача не может быть выполена.
План презентации
Слайд 11

Примеры исходных данных Исходные данные для решения задачи: Полное количество деталей

Примеры исходных данных

Исходные данные для решения задачи:
Полное количество деталей на конвейере

PKD (7)
Количество типов деталей KTD (6)
Количество изготовителей KI (3)
Количество показателей качества KPK (3)
Количество цен KC (3)
Перечень типов деталей для сборки одного изделия PTDI (1, 5, 7)
План презентации
Слайд 12

#include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); cout

#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
cout << "ИНФОРМАТИКА

ОТЧЕТ №3" << endl;
// объявляю массивы которые будут использоваться в программе
int massType[7]; // массив с типом детали
int massMade[7]; // массив с изготовителем
int massCena[7]; // массив с ценой
int massKachestvo[7]; // массив с качетсвом
srand(time(NULL));
// ГЕНЕРИРУЮ МАССИВ ТИП ДЕТАЛИ
for (int i = 0; i < 7; i++) {
massType[i] = (1 + rand() % 7);
}
// ГЕЕНРИРУЮ ПЕРВЫЙ МАССИВ Массив изготовителя
cout << "Массив деталей по изготовителю" << endl;
for (int i = 0; i < 7; i++) {
massMade[i] = (1 + rand() % 3);
}
for (int i = 0; i < 7; i++) {
cout << massType[i] << " ";
План презентации
}

Код программы

Слайд 13

cout cout // теперь вывожу строку с изготовителем for (int i

cout << " <-- Тип деталей";
cout << endl;
// теперь

вывожу строку с изготовителем
for (int i = 0; i < 7; i++) {
cout << massMade[i] << " ";
}
cout << " <-- Изготовитель детали";
cout << endl << endl;
// ГЕНЕРИРУЮ ВОТОРОЙ МАССИВ Массив Цен
cout << "Массив деталей по Цене" << endl;
for (int i = 0; i < 7; i++) {
massCena[i] = (1 + rand() % 3);
}
for (int i = 0; i < 7; i++) {
cout << massType[i] << " ";
}
cout << " <-- Тип деталей";
cout << endl;
// теперь вывожу строку с ценой
for (int i = 0; i < 7; i++) {
cout << massCena[i] << " ";
}
cout << " <-- Цена детали";
cout << endl << endl;
// ГЕНЕРИРУЮ ТРЕТИЙ МАССИВ Массив Качества
cout << "Массив деталей по качеству" << endl;
for (int i = 0; i < 7; i++) {
massKachestvo[i] = (1 + rand() % 3);
}
for (int i = 0; i < 7; i++) {
cout << massType[i] << " ";
}
План презентации
Слайд 14

cout cout // теперь вывожу строку с качеством for (int i

cout << " <-- Тип деталей";
cout << endl;
// теперь

вывожу строку с качеством
for (int i = 0; i < 7; i++) {
cout << massKachestvo[i] << " ";
}
cout << " <-- Качество детали";
cout << endl << endl;
// ВЫВОД ЦЕНЫ ДЕТАЛИ
int CenaIndex1 = 0;
int CenaIndex2 = 0;
int CenaIndex3 = 0;
for (int i = 0; i < 7; i++) {
if (massType[i] == 1) {
CenaIndex1 = massCena[i];
}
if (massType[i] == 3) {
CenaIndex2 = massCena[i];
}
if (massType[i] == 5) {
CenaIndex3 = massCena[i];
}
}
// вывожу цену на изделие
if (CenaIndex1 != 0 && CenaIndex2 != 0 && CenaIndex3 != 0) {
cout << "Изделие из деталей 1,3 и 5 будте стоит: " << CenaIndex1 + CenaIndex2 + CenaIndex3 << endl;
}else{
cout << "Невозможно собрать изделие, потому что отсутствует одна из необходимых деталей 1, 3 или 5" << endl;
}
План презентации
Слайд 15

// ВЫВОД ЦЕНЫ ДЕТАЛИ int KachestvoIndex1 = 0; int KachestvoIndex2 =

// ВЫВОД ЦЕНЫ ДЕТАЛИ
int KachestvoIndex1 = 0;
int KachestvoIndex2

= 0;
int KachestvoIndex3 = 0;
for (int i = 0; i < 7; i++) {
if (massType[i] == 1) {
KachestvoIndex1 = massKachestvo[i];
}
if (massType[i] == 3) {
KachestvoIndex2 = massKachestvo[i];
}
if (massType[i] == 5) {
KachestvoIndex3 = massKachestvo[i];
}
}
// вывожу цену на изделие
if (KachestvoIndex1 != 0 && KachestvoIndex2 != 0 && KachestvoIndex3 != 0) {
cout << "Изделие из деталей 1,3 и 5 будте иметь качество: " << KachestvoIndex1 + KachestvoIndex2 + KachestvoIndex3 << endl;
}else{
cout << "Невозможно собрать изделие, потому что отсутствует одна из необходимых деталей 1, 3 или 5" << endl;
}
int s = 0;
cout << "Введите 1 что бы повторить, 0 что бы выйти" << endl;
cin >> s;
if(s == 1){
main();
}else{
exit(0);
}
}
План презентации