Non-transitory recording medium having computer-readable program recorded thereon, server apparatus, function graph display control apparatus, and function graph display control method

A non-transitory recording medium records a program that causes a computer to execute a process of causing a display to display, in response to one or more input operations accepted via an input device, one first mathematical expression display area including one first mathematical expression, one first graph display area associated with the one first mathematical expression display area, one first slider display area associated with the one first graph display area, one second mathematical expression display area including one second mathematical expression, one second graph display area which is associated with the one second mathematical expression display area and is an area different from the one first graph display area, and one second slider display area which is associated with the one second graph display area and is an area different from the one first slider display area.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2018-079416, filed Apr. 17, 2018, the entire contents of which are incorporated herein by reference.

BACKGROUND

1. Technical Field

The technical Field relates to a non-transitory recording medium having a computer-readable program recorded thereon, a server apparatus, a function graph display control apparatus, and a function graph display control method.

2. Description of the Related Art

There is known a graph drawing application which can be used on a Web browser. For example, Desmos, the desmos user guide (translated by Yuto Horikawa [online], [searched on Apr. 16, 2018], Internet <URL:https://desmos.s3.amazonaws.com/Desmos_User_Guide_JA.pdf>) discloses the following application, which operates on a Web browser. In this application, an arithmetic operation is performed based on a mathematical expression which a user inputs to an equation list, and a graph based on the result of the arithmetic operation is drawn on the Web browser.

In the above-described application, one or more data input areas, to which input data (e.g. a mathematical expression, or a numerical table) is to be input by the user, are displayed within one window of the Web browser . However, only one data output area is displayed when output data (e.g. a graph) based on the input data to the data input area is displayed. Thus, in order to display a plurality of data output areas on one display, there is no choice but to open a plurality of windows of the Web browser, and to display the data output areas one by one on each window.

In this case, it is not possible to perform an operation of coupling a plurality of data input areas which are associated with the data output areas, or coupling a plurality of operator areas for changing numerical values of character variables in a plurality of mathematical expressions included in the data input areas, or to perform an operation of separating the coupled data input areas or the coupled operator areas. By extension, a concrete operation method for coupling/separating the data input areas or the operator areas, or a concrete display method at a time of associating and displaying the data input areas or the operator areas when the coupling/separation operation is performed, is unclear.

In this manner, in the conventional application, from at least one of the above-described standpoints, there is room to improve the operability or convenience at a time of display-outputting, on the display, the data input areas, and the data output areas and operator areas associated with the data input areas.

BRIEF SUMMARY

According to a first aspect of embodiments, there is provided a non-transitory recording medium having a program recorded thereon capable of causing a computer to execute a process of: causing a display to display, in response to one or more input operations accepted via an input device, one first mathematical expression display area including one first mathematical expression; one first graph display area associated with the one first mathematical expression display area, the one first graph display area including one first graph corresponding to the one first mathematical expression; one first slider display area associated with the one first graph display area, the one first slider display area including one or more sliders each for changing a numerical value of each of one or more kinds of character coefficients included in the one first mathematical expression, the one or more sliders corresponding to the one or more character coefficients on one-to-one basis, and a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients; one second mathematical expression display area including one second mathematical expression; one second graph display area associated with the one second mathematical expression display area, the one second graph display area being an area different from the one first graph display area, the one second graph display area including one second graph corresponding to the one second mathematical expression; and one second slider display area associated with the one second graph display area, the one second slider display area being an area different from the one first slider display area, the one second slider display area including one or more sliders for changing a numerical value of each of one or more kinds of character coefficients included in the one second mathematical expression, the sliders corresponding to the respective character coefficients, a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients.

According to a second aspect of embodiments, there is provided a server apparatus storing a program in a storage, the server apparatus being configured to transmit the program to a client terminal that communicates with the server apparatus via a network, the program capable of causing a computer to execute a process of: causing a display to display, in response to one or more input operations accepted via an input device, one first mathematical expression display area including one first mathematical expression; one first graph display area associated with the one first mathematical expression display area, the one first graph display area including one first graph corresponding to the one first mathematical expression; one first slider display area associated with the one first graph display area, the one first slider display area including one or more sliders each for changing a numerical value of each of one or more kinds of character coefficients included in the one first mathematical expression, the one or more sliders corresponding to the one or more character coefficients on one-to-one basis, and a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients; one second mathematical expression display area including one second mathematical expression; one second graph display area associated with the one second mathematical expression display area, the one second graph display area being an area different from the one first graph display area, the one second graph display area including one second graph corresponding to the one second mathematical expression; and one second slider display area associated with the one second graph display area, the one second slider display area being an area different from the one first slider display area, the one second slider display area including one or more sliders for changing a numerical value of each of one or more kinds of character coefficients included in the one second mathematical expression, the sliders corresponding to the respective character coefficients, a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients.

According to a third aspect of embodiments, there is provided a function graph display control apparatus comprising a processor and a storage, the processor being configured to be capable of executing, by executing instructions stored in the storage, a process of: causing a display to display, in response to one or more input operations accepted via an input device, one first mathematical expression display area including one first mathematical expression; one first graph display area associated with the one first mathematical expression display area, the one first graph display area including one first graph corresponding to the one first mathematical expression; one first slider display area associated with the one first graph display area, the one first slider display area including one or more sliders each for changing a numerical value of each of one or more kinds of character coefficients included in the one first mathematical expression, the one or more sliders corresponding to the one or more character coefficients on one-to-one basis, and a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients; one second mathematical expression display area including one second mathematical expression; one second graph display area associated with the one second mathematical expression display area, the one second graph display area being an area different from the one first graph display area, the one second graph display area including one second graph corresponding to the one second mathematical expression; and one second slider display area associated with the one second graph display area, the one second slider display area being an area different from the one first slider display area, the one second slider display area including one or more sliders for changing a numerical value of each of one or more kinds of character coefficients included in the one second mathematical expression, the sliders corresponding to the respective character coefficients, a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients.

According to a fourth aspect of embodiments, there is provided a function graph display control method comprising a process of: causing a display to display, in response to one or more input operations accepted via an input device, one first mathematical expression display area including one first mathematical expression; one first graph display area associated with the one first mathematical expression display area, the one first graph display area including one first graph corresponding to the one first mathematical expression; one first slider display area associated with the one first graph display area, the one first slider display area including one or more sliders each for changing a numerical value of each of one or more kinds of character coefficients included in the one first mathematical expression, the one or more sliders corresponding to the one or more character coefficients on one-to-one basis, and a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients; one second mathematical expression display area including one second mathematical expression; one second graph display area associated with the one second mathematical expression display area, the one second graph display area being an area different from the one first graph display area, the one second graph display area including one second graph corresponding to the one second mathematical expression; and one second slider display area associated with the one second graph display area, the one second slider display area being an area different from the one first slider display area, the one second slider display area including one or more sliders for changing a numerical value of each of one or more kinds of character coefficients included in the one second mathematical expression, the sliders corresponding to the respective character coefficients, a number of the sliders being equal to a number of kinds of the one or more kinds of character coefficients.

DETAILED DESCRIPTION

An embodiment of the present invention will now be described with reference to the accompanying drawings. The present embodiment relates to an application which utilizes a Web and is used in the scene of school education, etc. The application of this embodiment is used, in particular, in the education of mathematics.

FIG.1is a view illustrating the outline of a configuration example of a system1according to the present embodiment, the system1including a server10and a terminal20serving as a client. The terminal (function graph display control apparatus)20is, for example, an apparatus such as a personal computer (PC), a tablet-type information terminal or a smartphone. In each terminal, a Web browser operates. Using the Web browser, each terminal accesses the server10via a network50such as the Internet, and executes a Web application.

AlthoughFIG.1illustrates one terminal20, the number of terminals included in the system1may be any number. Any number of terminals may access the server10and may execute the Web application.

As illustrated inFIG.1, the terminal20includes a Central Processing Unit (CPU)21, a Read Only Memory (ROM)22, a Random Access Memory (RAM)23, a storage24, an input device (input device)25, a display device (display)26and a communication device27, which are mutually connected via a bus line29. The CPU (processor)21executes various kinds of signal processing, etc. An integrated circuit, such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or a Graphics Processing Unit (GPU), may be used in place of the CPU or together with the CPU. Specifically, various kinds of processors may be used in the terminal20. The ROM22stores a boot program, etc. The RAM23functions as a main memory device of the CPU21. As the RAM23, for example, a Dynamic RAM (DRAM) or a Static RAM (SRAM) may be used. As the storage24, for example, a Hard Disk Drive (HDD), a Solid State Drive (SSD) or an Embedded Multi Media Card (eMMC) is used. The storage24stores programs used in the CPU21, and various kinds of information, such as parameters. The RAM23and storage24are not limited to these, and may be replaced with various kinds of other memory devices. The input device25is, for example, a keyboard, a mouse, a touch panel, etc. The display device26is, for example, a liquid crystal display, an organic EL display, etc. The communication device27is used at a time of communicating with a device outside the terminal20. The communication device27is connected to the network50such as the Internet.

As illustrated inFIG.1, the server10is an information processing apparatus including a processor11, a ROM12, a RAM13, a storage14and a communication device15, which are mutually connected via a bus line19. The processor11executes various kinds of signal processing, etc. The ROM12stores information used in the operation of the processor11. The RAM13functions as a main memory device of the processor11. As the storage14, various kinds of storage media may be used. The storage14stores programs used in the processor11, and various kinds of information such as parameters.

An example of a screen, which is displayed on the display device26of the terminal20of the present embodiment, will be described with reference toFIG.5A. In this embodiment, an input and a display are executed by using a combination of display areas each having a small frame called “tag”. There are a plurality of kinds of tags. A screen203illustrated inFIG.5Aincludes a mathematical expression tag300, a graph tag400and a slider tag500. The mathematical expression tag300is a tag to which a mathematical expression representing a function is input. It can be said that the mathematical expression tag is a mathematical expression display area including a mathematical expression representing a function. The graph tag400is a tag in which a graph is drawn. It can be said that the graph tag400is a graph display area including a graph corresponding to the mathematical expression. The slider tag500is a tag which displays a value that is substituted for a character coefficient when a mathematical expression input to the mathematical expression tag includes the character coefficient, and which displays a slider for changing the value. It can be said that the slider tag500is a slider display area including the character coefficient and slider. When there are a plurality of kinds of character coefficients, a plurality of combinations of character coefficients and sliders are displayed in juxtaposition, the number of combinations corresponding to the number of kinds of character coefficients.

Mutually associated tags are connected by a line called “string”. For example, the mathematical expression tag300and graph tag400are associated by a string611. The graph tag400and the slider tag500are associated by a string612.

In the example of the screen203illustrated inFIG.5A, the mathematical expression tag300includes two tags, namely a first mathematical expression tag310and a second mathematical expression tag320. Each tag includes a tab and a display area. Specifically, the first mathematical expression tag310includes a first tab311and a first input area312. The second mathematical expression tag320includes a second tab321and a second input area322. The color of the first tab311is different from the color of the second tab321. In the example ofFIG.5A, an equation “y=ax2−1” is input to the first input area312of the first mathematical expression tag310. An equation “y=ax” is input to the second input area322of the second mathematical expression tag320. A status display portion318is provided on an upper left part of the mathematical expression tag300.

The slider tag500is associated with the mathematical expression tag300by the string612. Since the mathematical expressions input to the mathematical expression tag300are “y=ax2−1” and “y=ax”, the character coefficient included in these mathematical expressions is one common “a”. Accordingly, the number of slider tags500associated with the mathematical expression tag300is one. The slider tag500includes a slider511and a value display area516. The value display area516displays “a=1” which indicates that the character coefficient “a” of the mathematical expressions input to the mathematical expression tag300is “1”. The slider511is configured such that a marker513moves along an axis512. The value of the character coefficient displayed on the value display area516varies in accordance with the position of the marker513. A status display portion518is provided on an upper left part of the slider tag500.

The graph tag400is associated with the mathematical expression tag300by the string611. The graph tag400includes a first graph display area411including axes419. The first graph display area411displays a coordinate range which is preset or is set in accordance with a user operation. In the example of the screen203illustrated inFIG.5A, the X coordinate of the coordinate range is “−3.2≤X≤4.1”, and the Y coordinate of the coordinate range is “−3.1≤X≤4.2.” Specifically, the minimum value X min and maximum value X max of the X coordinate are −3.2 and 4.1, respectively, and the minimum value Ymin and maximum value Ymax of the Y coordinate are −3.1 and 4.2, respectively.

The first graph display area411displays a first graph412indicating “y=ax2−1” corresponding to the first mathematical expression tag310. The first graph display area411displays a second graph422indicating “y=ax” corresponding to the second mathematical expression tag320. Here, the value indicated in the slider tag500is substituted for the character coefficient “a”. Specifically, in the example illustrated inFIG.5A, the first graph412indicates “y=x2−1”, and the second graph422indicates “y=x”. The graph tag400includes a first tab414and a second tab424. The color of the first tab414of the graph tag400is the same as the color of the first tab311of the mathematical expression tag300. The color of the second tab424of the graph tag400is the same as the color of the second tab321of the mathematical expression tag300. It is preferable that the display color of the first graph412is the same as the color of the first tab311of the mathematical expression tag300and the first tab414of the graph tag. Similarly, it is preferable that the display color of the second graph422is the same as the color of the second tab321of the mathematical expression tag300and the second tab424of the graph tag. A status display portion418is provided on an upper left part of the graph tag400.

The status display portion318of the mathematical expression tag300, the status display portion518of the slider tag500and the status display portion418of the graph tag400indicate which of the mathematical expression tag300, slider tag500and graph tag400is in the selected state. In the example illustrated inFIG.5A, since the graph tag400is selected, the color of the status display portion418of the graph tag400becomes a deep color, and a check mark is displayed. By selecting, for example, the status display portion by a left click of the mouse and dragging the status display portion, the user can move the corresponding tag on the screen203. Although the drag operation using the mouse is described here, the same applies to a drag operation using the touch panel. In the description below, too, the drag operation is intended to mean such an operation as to move a target.

In the example illustrated inFIG.5A, the graph tag400is selected. A menu display441is included in the selected graph tag. The menu display441includes a mathematical expression tag icon442, a numerical table tag icon443and an arithmetic operation tag icon444. The mathematical expression tag icon442is an icon which is selected in order to create a new mathematical expression tag. The numerical table tag icon443is an icon which is selected in order to newly create a numerical table tag including a numerical table. The arithmetic operation tag icon444is an icon which is selected in order to newly create an arithmetic operation tag to which formulae for various arithmetic operations are input and on which arithmetic operation results are displayed.

In the present embodiment, as illustrated inFIG.5A, the mathematical expression tag300includes a plurality of mathematical expression tags (first mathematical expression tag310and second mathematical expression tag320) which are displayed in a mutually coupled state, and a plurality of graphs (first graph412and second graph422) corresponding to the tabs of the mathematical expression tag300are displayed on the first graph display area411of one graph tag400. At this time, in accordance with a user operation, these mathematical expression tags (first mathematical expression tag310and second mathematical expression tag320) can be displayed in a mutually separated state. At the same time, a new graph tag can be created additionally displayed in the screen203, and a plurality of graph tags can be displayed in the same screen. The plural mathematical expression tags and the plural graph tags, which are displayed in the same screen, are mutually associated. The graph tag, which is associated with the first mathematical expression tag310, displays the graph corresponding to the mathematical expression that is input to the first mathematical expression tag310. The graph tag, which is associated with the second mathematical expression tag320, displays the graph corresponding to the mathematical expression that is input to the second mathematical expression tag320. When a character coefficient is included in the mathematical expression that is input to the separated first mathematical expression tag310, a slider tag relating to this character coefficient is created in association with the first mathematical expression tag310. When a character coefficient is included in the mathematical expression that is input to the separated second mathematical expression tag320, a slider tag relating to this character coefficient is created in association with the second mathematical expression tag320.

Furthermore, a plurality of numerical expression tags can be coupled, and graph tags can be coupled. The numerical expression tags, when coupled, are displayed in juxtaposition. A plurality of graphs are displayed by being overlapped on one graph tag. A plurality of slider tags are displayed in juxtaposition.

The system1according to the present embodiment includes many functions. Some examples of the functions will be described. Each function is realized by cooperation between the terminal20and server10. For example, when the terminal20, in which the Web browser operates, has accessed the server10, the terminal20acquires a program from the server10. The terminal20executes this program on the Web browser. The terminal20executes various arithmetic operations and displays, based on information which the user inputs on the Web browser by operating the input device25of the terminal20. When an arithmetic operation by the server10is necessary, the terminal20transmits information necessary for the arithmetic operation to the server10. Based on the information acquired from the terminal20, the server10executes various arithmetic operations and transmits the arithmetic operation result to the terminal20. Based on the information acquired from the server10, the terminal20displays various images on the display device26.

The function relating to the graph tag, on which the graph is displayed, will further be described with reference to flowcharts ofFIG.2A,FIG.2BandFIG.3which illustrate processes of the system1, and screen examples illustrated inFIG.4AtoFIG.6D.FIG.4A,FIG.4BandFIG.5Aillustrate a flow in which a mathematical expression tag is created and a graph tag is created.FIG.5AtoFIG.5E, andFIG.6AtoFIG.6Dillustrate a flow in which tags are separated, sliders are operated, and tags are coupled.

FIG.4Aillustrates an example of a screen201which the terminal20displays.FIG.4Ais an example of a screen at a time when some processes among a series of processes to be described below have been progressed. The screen201illustrated inFIG.4Aincludes a menu display220. The menu display220is a menu which is displayed when a new tag is created. The menu display220is displayed, for example, by a right click of the mouse. The menu display220includes an arithmetic operation tag icon221, a mathematical expression tag icon222, a graph tag icon223, a numerical table tag icon224, a geometry tag icon225, and a memo tag icon226.

The arithmetic operation tag icon221is an icon which is selected at a time of creating an arithmetic operation tag. An equation is input to the arithmetic operation tag, and a solution calculated by the server10, based on the equation, is displayed on the arithmetic operation tag. The mathematical expression tag icon222is an icon which is selected at a time of creating a mathematical expression tag. The mathematical expression tag is a tag to which a mathematical expression relating to a graph, which is to be displayed on the graph tag, is input. The graph tag icon223is an icon which is selected at a time of creating a graph tag on which a graph is drawn. The numerical table tag icon224is an icon which is selected at a time of creating a numerical table tag that is used for an input of a numerical table. The geometry tag icon225is an icon which is selected at a time of creating a geometry tag that is used when a figure, etc. are drawn. The memo tag icon226is an icon which is selected at a time of creating a memo tag to which text is input.

In step S101, the terminal20determines whether the mathematical expression tag icon222was selected or not. When the mathematical expression tag icon222is not selected, the process advances to step S102. In step S102, the terminal20executes other processes than the process relating to the graph, which is described here. The other processes include not only processes executed by the terminal20alone, but also processes executed in cooperation with the server10. When no process needs to be executed, no process may be executed. Thereafter, the process advances to step S104.

When it is determined in step S101that the mathematical expression tag icon222is selected, the process advances to step S103. In step S103, the terminal20causes the display device26to display the screen201including an empty mathematical expression tag300. The empty mathematical expression tag300(not shown) is the mathematical expression tag300in a state in which none of a character, numeral, mathematical expression, etc. is displayed. However, depending on states, a cursor may be displayed.

In step S104, the terminal20determines whether an input to the mathematical expression tag300is executed or not. When no input is executed, the process advances to step S106. When an input is executed, the process advances to step S105. For example, when the first input area312of the mathematical expression tag300is selected, the process advances to step S105. At this time, the status display portion318of the mathematical expression tag300indicates the status in which the mathematical expression tag300is selected. In step S105, the terminal20causes the screen to display a software keyboard.FIG.4Aillustrates an example of a software keyboard240which is displayed on the screen201, and a state before an equation “y=ax2−1”, which is being input to the first input area312of the mathematical expression tag300, is finally determined. A cursor315is displayed immediately after the equation “y=ax2−1” in the first input area312of the mathematical expression tag300, and it is indicated that the equation which is being input has not yet been finally determined. The software keyboard240includes key displays necessary for inputting a mathematical expression, such as numerical values and mathematical signs. The user performs an input by using the software keyboard240. The terminal20acquires the input to the software keyboard240. Such a configuration may be adopted that the user can perform an input by using the keyboard of the input device25. The terminal20updates an internal state relating to the mathematical expression tag, such as by updating data in accordance with an input. The terminal20updates the display of the mathematical expression tag300of the screen201. Thereafter, the process advances to step S106.

In step S106, the terminal20determines whether an instruction relating to graph drawing was input or not. For example, when an EXE key241included in the software keyboard240is selected in the state in which the mathematical expression tag300is selected, it is determined that the instruction relating to graph drawing was input. When the instruction for graph drawing is not input, the process advances to step S110. When the instruction for graph drawing was input, the process advances to step S107.

In step S107, the terminal20specifies necessary information, such as the mathematical expression input to the mathematical expression tag300, and the information of the drawing range of the graph. The terminal20transmits the specified information to the server10.

In step S108, the server10receives the information which was transmitted from the terminal20, and calculates, based on the received information, necessary data for graph drawing, such as coordinates of points which constitute the graph. The server10transmits the arithmetic operation result to the terminal20. The server10may store, in a database, necessary part of the acquired information and arithmetic operation result.

In step S109, the terminal20creates and displays a graph tag, receives the arithmetic operation result from the server10, and draws a graph on the graph tag. For example, the terminal20displays a graph by connecting the received coordinates of points by a line. In addition, when a character coefficient is included in the mathematical expression input to the mathematical expression tag300, the slider tag500relating to this character coefficient is also created and displayed. The server10can judge whether a character coefficient is included in the mathematical expression or not. The terminal20receives the judgment result of the server10, and can judge, based on this result, whether the slider tag500is necessary or not. Thereafter, the process advances to step S110.

As a result of the above process, a screen202as illustrated inFIG.4Bis displayed. The screen202includes, in addition to the mathematical expression tag300, the graph tag400which is associated with the mathematical expression tag300by the string611. The graph tag400includes the first graph display area411. The first graph display area411displays the axes419, on which the set coordinate ranges are displayed, and the first graph412corresponding to the mathematical expression input to the first mathematical expression tag310. In addition, since a character coefficient is included in the mathematical expression input to the mathematical expression tag300, the screen202includes the slider tag500. As described above, the slider tag500includes the slider511and the value display area516which indicates the value of the character coefficient. The slider511is configured such that the marker513moves along the axis512. The value of the character coefficient displayed on the value display area516varies in accordance with the position of the marker513.

As described above, in response to one or more input operations accepted via the input device25, the CPU21of the terminal20causes the display device26to display one mathematical expression tag300including one first mathematical expression “y=ax2−1”; one graph tag400associated with the one mathematical expression tag300, the one graph tag400including one first graph412representing the mathematical expression “y=ax2−1”; and one slider tag500associated with the one graph tag400, the one slider tag500including one slider511for changing the numerical value of one character coefficient “a” included in the one mathematical expression “y=ax2−1”.

The input of the mathematical expression to the mathematical expression tag300and the drawing of the graph in the graph tag400in step S104to step S109may repeatedly be executed. In the example illustrated inFIG.4B, the mathematical expression tag300is selected, as indicated in the status display portion318of the mathematical expression tag300. When the mathematical expression tag300is selected, a mathematical expression tag icon316and a numerical table tag icon317are displayed on the mathematical expression tag300, as illustrated inFIG.4B. The numerical table tag icon317is an icon which is selected at a time of creating a numerical table relating to the mathematical expression input to the mathematical expression tag300. The mathematical expression tag icon316is an icon for adding another mathematical expression to the mathematical expression tag300.

When the mathematical expression tag icon316was selected, the process advances from step S101to step S103. As a result, as illustrated inFIG.5A, in the mathematical expression tag300, the second mathematical expression tag320is added under the first mathematical expression tag310.

Note that, as illustrated inFIG.5A, also when the mathematical expression tag icon442, which is displayed in the state in which the graph tag400is selected, is selected, the second mathematical expression tag320is similarly added under the first mathematical expression tag310.

When an input to the second mathematical expression tag320is executed, the process advances from step S104to step S105. As a result, as illustrated inFIG.5A, a mathematical expression is input to the second input area322of the second mathematical expression tag320.

When the drawing of the graph is instructed based on this mathematical expression, the process advances from step S106to step S107through step S109. As a result, as illustrated inFIG.5A, the second graph422corresponding to the mathematical expression input to the second mathematical expression tag320is displayed on the first graph display area411of the graph tag400.

Here, since the second mathematical expression tag320is displayed in juxtaposition with the first mathematical expression tag310, the second graph422is displayed together with the first graph412on the first graph display area411.

InFIG.5A, the color of the first tab311of the first mathematical expression tag310is the same as the color of the first tab414of the graph tag400. The color of the second tab321of the second mathematical expression tag320is the same as the color of the second tab424of the graph tag400. It is preferable that the color of the first tab414of the graph tag400is the same as the color of the first graph412. It is preferable that the color of the second tab424of the graph tag400is the same as the color of the second graph422.

As described above, the mathematical expression tag and graph can be added in accordance with the user's operation.

In the mathematical expression tag300illustrated inFIG.5A, the first mathematical expression tag310and second mathematical expression tag320are displayed such that the first mathematical expression tag310and second mathematical expression tag320are coupled to each other or neighbor each other. In the present embodiment, the first mathematical expression tag310and second mathematical expression tag320may be displayed such that the first mathematical expression tag310and second mathematical expression tag320are separated or spaced apart from each other. In step S110, the terminal20determines whether an instruction relating to separation or coupling of tags was input or not. As illustrated inFIG.5A, when the user selects the second tab321of the mathematical expression tag300by a pointer701and drags the second tab321as indicated by an arrow721, it is determined that an instruction to separate tags was input. When the instruction relating to the separation or coupling of tags is not input, the process advances to step S112. When the instruction relating to the separation or coupling of tags was input, the process advances to step S111. In step S111, the terminal20executes a separation/coupling process. The separation/coupling process will be described with reference to a flowchart ofFIG.3.

In step S201, the terminal20determines whether an operation for separation of tags was executed or not. At this time, the tag that is a target of the operation may be either the mathematical expression tag300or graph tag400, as will be described later. When the operation for separation is not executed, the process advances to step S205. When the operation for separation was executed, the process advances to step S202.

In step S202, the terminal20determines whether a character coefficient is included in the mathematical expression associated with the tag that is to be separated. The mathematical expression associated with tag that is to be separated is the mathematical expression that is input to the mathematical expression tag of the target of separation, or the mathematical expression that is input to the mathematical expression tag associated with the graph tag of the target of separation. When the character coefficient is included, the process advances to step S203. In step S203, the terminal20executes a process of separating the mathematical expression tag, graph tag, and slider tag.

For example, in the example ofFIG.5A, when the second tab321of the mathematical expression tag300in the screen203is dragged and the second mathematical expression tag320is separated from the first mathematical expression tag310, the screen changes to a screen204as illustrated inFIG.5B. Since the second mathematical expression tag320is separated from an original mathematical expression tag301, only the first mathematical expression tag310remains in the original mathematical expression tag301. Accordingly, the second graph422is deleted from the first graph display area411of the first graph tag401which is associated with the original mathematical expression tag301by the string611. Only the first graph412remains in the first graph display area411. In addition, the second tab424associated with the second graph422is also deleted from the first graph tag401. Since the character coefficient is included in the equation input to the first input area312of the first mathematical expression tag310included in the original mathematical expression tag301, a first slider tag501, which is associated with the original mathematical expression tag301by the string612, remains as such.

On the other hand, a new mathematical expression tag302including the second mathematical expression tag320, which was separated from the original mathematical expression tag301, is created and additionally displayed. A second graph tag402, which is associated with the new mathematical expression tag302by a string621, is created and additionally displayed. The second graph tag includes a second graph display area421. In the second graph display area421, the second graph422corresponding to the mathematical expression input to the second input area322of the second mathematical expression tag320is drawn. The second graph tag402includes the second tab424, the color of which is preferably the same as the color of the second graph422.

Since the character coefficient is included in the equation input to the second input area, a second slider tag502, which is associated with the new mathematical expression tag302by a string622, is created. The second slider tag502, like the first slider tag501, includes a value display area526which indicates the value of the character coefficient, and a slider521including a marker523which moves along an axis522.

In the example illustrated inFIG.5B, the common character coefficient “a” is included in the equation input to the first mathematical expression tag310and the equation input to the second mathematical expression tag320. Thus, the first slider tag501and second slider tag502have the same display content. When a character coefficient is included in only one of the equation input to the first mathematical expression tag310and the equation input to the second mathematical expression tag320, a slider tag, which is associated by a string, is displayed with respect to only one of the first mathematical expression tag310and second mathematical expression tag320, which includes the character coefficient.

As described above, the CPU21of the terminal20determines whether one or more operations for first separation for mutually separating and displaying one mathematical expression “y=ax2−1” and one mathematical expression “y=ax” included in one mathematical expression tag300, or one or more operations for second separation for mutually separating and displaying one first graph412and one second graph422included in the one mathematical expression tag300, are accepted or not. When it is determined that the one or more operations for the first separation, or the one or more operations for the second separation, are accepted, the CPU21of the terminal20causes the display device26to display one first mathematical expression tag310including the one mathematical expression “y=ax2−1”; one first graph tag401associated with the one first mathematical expression tag310, the one first graph tag401including one first graph412; one first slider tag501associated with the one first graph tag401; one second mathematical expression tag320including the one mathematical expression “y=ax”; one second graph tag402associated with the one second mathematical expression tag320, the one second graph tag402including one second graph422; and one second slider tag502associated with the one second graph tag402.

As described above, in response to one or more input operations accepted via the input device, the CPU21of the terminal20causes the display device26to display one first mathematical expression tag310including one first mathematical expression “y=ax2−1”; one first graph tag401associated with the one first mathematical expression tag310, the one first graph tag401including one first graph412representing the mathematical expression “y=ax2−1”; one first slider tag501associated with the one first graph tag401, the one first slider tag501including one slider511for changing the numerical value of one character coefficient “a” included in the one mathematical expression “y=ax2−1”, the one slider511corresponding to the character coefficient “a”; one second mathematical expression tag320including one second mathematical expression “y=ax”; one second graph tag402associated with the one second mathematical expression tag320, the one second graph tag402including one second graph422representing the mathematical expression “y=ax”; and one second slider tag502associated with the one second graph tag402, the one second slider tag502including one slider521for changing the numerical value of one character coefficient “a” included in the one mathematical expression “y=ax”, the one slider521corresponding to the character coefficient “a”. Here, the one second slider tag502includes one slider521for changing the numerical value of the character coefficient “a” which is of an identical kind to the kind of a character coefficient included in at least the one mathematical expression “y=ax”.

Consideration is now given to the case in which, as illustrated in a screen208ofFIG.6A, different character coefficients “a” and “b” are included in the mathematical expression “y=ax2−1” input to the first mathematical expression tag310and a mathematical expression “y=bx” input to the second mathematical expression tag320. In this case, the slider tag500includes a first slider tag510and a second slider tag520. The mathematical expression input to the first mathematical expression tag310includes the character coefficient “a”. Thus, the first slider tag510includes the slider511relating to “a” indicated in the value display area516. In addition, the mathematical expression input to the second mathematical expression tag320includes the character coefficient “b”. Thus, the second slider tag520includes the slider521relating to “b” indicated in the value display area526. The first slider tag510and second slider tag520are displayed in juxtaposition.

The separation of tags in the case where two slider tags are included as in the screen208ofFIG.6Ais as follows. As illustrated inFIG.6A, the user selects the second tab321of the second mathematical expression tag320by the pointer701and drags the second tag as indicated by an arrow731. Thereby, the second mathematical expression tag320is separated from the first mathematical expression tag310. As a result, the screen changes to a screen209as illustrated inFIG.6B. Specifically, the second mathematical expression tag320is deleted from the original mathematical expression tag301, and the original mathematical expression tag301includes only the first mathematical expression tag310to which the mathematical expression “y=ax2−1” is input. Accordingly, the first graph tag401associated with the first mathematical expression tag310displays only the first graph412which represents “y=ax2−1.” In addition, the first slider501associated with the first mathematical expression tag310, to which the mathematical expression “y=ax2−1” is input, includes the slider511relating to “a”.

A new mathematical expression tag302including the separated second mathematical expression tag320, to which the mathematical expression “y=bx” is input, is created and additionally displayed. A second graph tag402associated with the second mathematical expression tag320is created and additionally displayed. The second graph tag402displays a second graph422which represents “y=bx.” In addition, the second slider tag502associated with the second mathematical expression tag320, to which the mathematical expression “y =bx” is input, includes the slider521relating to “b”.

As described above, the CPU21of the terminal20determines whether one or more operations for first separation for mutually separating and displaying one mathematical expression “y=ax2−1” and one mathematical expression “y=bx” included in one mathematical expression tag300, or one or more operations for second separation for mutually separating and displaying one first graph412and one second graph422included in the one mathematical expression tag300, are accepted or not. When it is determined that the one or more operations for the first separation, or the one or more operations for the second separation, are accepted, the CPU21of the terminal20causes the display device26to display one first mathematical expression tag310including the one mathematical expression “y=ax2−1”; one first graph tag401associated with the one first mathematical expression tag310, the one first graph tag401including one first graph412; one first slider tag501associated with the one first graph tag401; one second mathematical expression tag320including the one mathematical expression “y=bx”; one second graph tag402associated with the one second mathematical expression tag320, the one second graph tag402including one second graph422; and one second slider tag502associated with the one second graph tag402.

FIG.5AandFIG.6Aillustrate the example in which the second tab321of the second mathematical expression tag320is selected and the second mathematical expression tag320is dragged. The same applies to the case in which the first tab311of the first mathematical expression tag310is selected and dragged. In this case, the first mathematical expression tag310is deleted from the original mathematical expression tag300, the second mathematical expression tag320is left, and the first mathematical expression tag310is included in the new mathematical expression tag. At this time, the first graph412is deleted from the original graph tag400, and the second graph422is left. The first graph412is drawn on the new graph tag which is created in association with the first mathematical expression tag310of the new mathematical expression tag.

Besides, the separation operation is not limited to the above-described operation of selecting and dragging the first tab311of the first mathematical expression tag310or the second tab321of the second mathematical expression tag320. The separation operation may also be implemented by selecting and dragging the first tab414or second tab424of the graph tag400. In the state ofFIG.5A, the user selects the second tab424of the graph tag400by the pointer701, and drags the second tab424as indicated by an arrow722. In this case, too, the screen changes to the screen204as illustrated inFIG.5B. Specifically, the graph tag is separated into two tags. The first graph412is left in the original graph tag, and the second graph422is drawn in the new graph tag. Accordingly, the mathematical expression tag is separated into two tags. The first mathematical expression tag310is left in the original mathematical expression tag, and the second mathematical expression tag320is included in the new mathematical expression tag. The slider tag is copied and is associated with each of the first mathematical expression tag310and second mathematical expression tag320.

As described above, in the terminal20of the present embodiment, responding to the execution of one or more operations for separating various kinds of tags which are mutually coupled, a mathematical expression tag is newly created, and the display device26is caused to display two mathematical expression tags301and302. In addition, a graph tag is newly created, and the display device26is caused to display two graph tags401and402in association with the two mathematical expression tags301and302. A slider tag corresponding to the character coefficient of the identical kind is newly created, and the display device26is caused to display two slider tags501and502in association with the two mathematical expression tags301and302.

Thereby, one mathematical expression tag300can be separated into two mathematical expression tags301and302. Moreover, even after the separation of the mathematical expression tag, it is possible to visually easily grasp the correlation between the mathematical expression tags301and302, the graph tags401and402, and the slider tags501and502.

Referring back toFIG.3, a further description will be given. In step S202, when it is determined that no character coefficient is present, the process advances to step S204. In step S204, the terminal20separates each of the mathematical expression tag and the graph tag. The separation of the mathematical expression tag and graph tag is as described above with reference toFIG.5B. Since there is no character coefficient, the slider tag is absent. Accordingly, in this case, the process relating to the slider tag is not included. After step S204, the process advances to step S205.

In step S205, the terminal20determines whether an operation for coupling of tags was executed or not. At this time, the tag that is the target of the operation may be either the mathematical expression tag or graph tag, as will be described below. When the operation for coupling is not executed, the separation/coupling process is terminated. When the operation for coupling was executed, the process advances to step S206.

In step S206, the terminal20determines whether a character coefficient is included in the mathematical expression associated with the tag that is to be coupled. The mathematical expression associated with tag that is to be coupled is the mathematical expression that is input to the mathematical expression tag of the target of coupling, or the mathematical expression that is input to the mathematical expression tag associated with the graph tag of the target of coupling. When the character coefficient is included, the process advances to step S207. In step S207, the terminal20determines whether the character coefficients included in the mathematical expressions associated with the tags to be coupled are the same character coefficient or not. When the character coefficients are the same character coefficient, the process advances to step S208.

In step S208, the terminal20aligns the mathematical expression tags, integrates the graph tags, and integrates the slider tags. By the above, the separation/coupling process is terminated.

For example, in a screen205ofFIG.5C, when the user selects the second tab321of the second mathematical expression tag320by the pointer701, drags the second mathematical expression tag320as indicated by an arrow723, and performs the operation of overlapping the second mathematical expression tag320with the first mathematical expression tag310, it is determined that the operation for coupling tags was executed. At this time, as in a screen206ofFIG.5D, the first mathematical expression tag310and second mathematical expression tag320are aligned into a single mathematical expression tag300. In addition, the first graph tag401shown inFIG.5C, which displays the first graph412, and the second graph tag402, which displays the second graph422, are integrated into a single graph tag400. As a result, as illustrated inFIG.5D, the second graph tag402is deleted, and the first graph412and second graph422are displayed on the single graph tag400. In addition, as illustrated inFIG.5C, since the first slider tag501and second slider tag502are identical, these tags are integrated into one slider tag500, as illustrated inFIG.5D.

As described above, the CPU21of the terminal20determines whether one or more operations for first coupling for coupling one first mathematical expression tag310and one second mathematical expression tag320, or one or more operations for second coupling for coupling one first graph tag401and one second graph tag402, are accepted or not. When it is determined that the one or more operations for the first coupling, or the one or more operations for the second coupling, are accepted, the CPU21of the terminal20causes the display device26to display one mathematical expression tag300including one mathematical expression “y=ax2−1” and one mathematical expression “y=ax”; one graph tag400associated with the one mathematical expression tag300, the one graph tag400including one first graph412and one second graph422; and one slider tag500associated with the one graph tag400, the one slider tag500including one slider511for changing the numerical value of one kind of character coefficient “a” included in the one mathematical expression “y=ax2−1” and the one mathematical expression “y=ax”, the one slider511corresponding to the character coefficient “a”.

In step S207, when it is determined that the character coefficients included in the mathematical expressions associated with the tags to be coupled are not the same character coefficient, the process advances to step S209. In step S209, the terminal20aligns and displays the mathematical expression tags such that the mathematical expression tags neighbor each other, integrates the graph tags, and aligns and displays the slider tags such that the slider tags neighbor each other. By the above, the separation/coupling process is terminated.

For example, in a screen210ofFIG.6C, when the user selects the second tab321of the second mathematical expression tag320by the pointer701, drags the second mathematical expression tag320as indicated by an arrow733, and performs the operation of overlapping the second mathematical expression tag320with the first mathematical expression tag310, it is determined that the operation for coupling tags was executed. In addition, as illustrated inFIG.6C, also when the second tab424of the second graph tag402is selected by the pointer701and the second graph tag402is dragged onto the first graph tag401as indicated by an arrow734, it is determined that the operation for coupling tags was executed.

At this time, as in a screen211ofFIG.6D, the first mathematical expression tag310and second mathematical expression tag320are aligned into a single mathematical expression tag300. In addition, the first graph tag401shown inFIG.6C, which displays the first graph412, and the second graph tag402, which displays the second graph422, are integrated into a single graph tag400. As a result, as illustrated inFIG.6D, the second graph tag402is deleted, and the first graph412and second graph422are displayed on the single graph tag400. In addition, since the first slider tag501and second slider tag502are different, as illustrated inFIG.6C, these tags are aligned into one slider tag500, as illustrated inFIG.6D.

As described above, the CPU21of the terminal20determines whether one or more operations for first coupling for coupling one first mathematical expression tag310and one second mathematical expression tag320, or one or more operations for second coupling for coupling one first graph tag401and one second graph tag402, are accepted or not. When it is determined that the one or more operations for the first coupling, or the one or more operations for the second coupling, are accepted, the CPU21of the terminal20causes the display device26to display one mathematical expression tag300including one mathematical expression “y=ax2−1” and one mathematical expression “y=bx”; one graph tag400associated with the one mathematical expression tag300, the one graph tag400including one first graph412and one second graph422; and one slider tag500associated with the one graph tag400, the one slider tag500including two sliders511and521for changing the numerical values of two kinds of character coefficients “a” and “b” included in the one mathematical expression “y=ax2−1” and the one mathematical expression “y=bx”, the two sliders511and521corresponding to the character coefficient “a” and “b”.

As described above, in the terminal20of the present embodiment, responding to the execution of one or more operations for coupling various kinds of tags which are mutually separated, one of two mathematical expression tags301and302is set in the non-display state, and the display device26is caused to display one mathematical expression tag300. In addition, one of two graph tags401and402is set in the non-display state, and the display device26is caused to display one graph tag400in association with the one mathematical expression tag300. One of two slider tags501and502is set in the non-display state, and the display device26is caused to display one slider tag500, which corresponds to the identical kind of character coefficient, in association with the one mathematical expression tag300.

Thereby, the two mathematical expression tags301and302can be mutually coupled as the one mathematical expression tag300. Moreover, even after the coupling of the mathematical expression tags, it is possible to visually easily grasp the correlation between the one mathematical expression tag300, the one graph tag400, and the one slider tag500.

In step S206, when it is determined that no character coefficient is present, the process advances to step S210. In step S210, the terminal20aligns and displays the mathematical expression tags such that the mathematical expression tags neighbor each other, and integrates the graph tags. Since there is no character coefficient, the slider tag is absent. Accordingly, in this case, the process relating to the slider tag is not included. By the above, the separation/coupling process is terminated.

Referring back toFIG.2A, a further description will be given. After the separation/coupling process, the process advances to step S112. In step S112, the terminal20determines whether an operation of the slider was executed or not. When the operation of the slider is not executed, the process advances to step S118. When the operation of the slider was executed, the process advances to step S113.

In step S113, the terminal20determines whether a plurality of identical character coefficients are present. When identical character coefficients are not present, the process advances to step S115. When identical character coefficients are present, the process advances to step S114. In step S114, the terminal20executes an interlock process. The interlock process means a process in which when the slider was operated and the value of a character coefficient was changed, the values of identical character coefficients are changed batchwise.

For example, as illustrated inFIG.5C, when there are the first slider tag501and second slider tag502which are two slider tags relating to the identical character coefficient “a”, the interlock process is executed. For example, a transition fromFIG.5BtoFIG.5Cis now considered. At this time, it is assumed that, as indicated by a status display portion528, the second slider tag502was selected, the marker523of the second slider tag502was designated by the pointer701, and the operation of dragging the marker523was executed as indicated by an arrow724. By this drag operation, the marker523of the second slider tag502moves. In accordance with the movement of the marker523, the value of the character coefficient “a” is changed as indicated in the value display area526of the second slider tag502. In conjunction with this, as indicated by an arrow725, the position of the marker513of the first slider tag501changes, and the value of the character coefficient “a” in the value display area516of the first slider tag501is also changed.

In step S115, the terminal20specifies the character coefficient which was changed by the operation of the slider, specifies the changed value of the character coefficient and the mathematical expression including this character coefficient, and transmits the information thereof to the server10. In step S116, the server10receives the information of the mathematical expression, character coefficient, etc., and calculates values for drawing a graph. The server10transmits the arithmetic operation result to the terminal20. In step S117, the terminal20receives the arithmetic operation result from the server10, and executes re-drawing of the graph, based on the arithmetic operation result. Thereafter, the process advances to step S118.

For example, like a transition fromFIG.5BtoFIG.5C, when the value of the character coefficient “a” was changed from “1” to “2” by using one of the separated slider tags, the first graph412in the first graph tag401and the second graph422in the second graph tag402are re-drawn in accordance with the change of the value that is substituted for the character coefficient.

As described above, the CPU21of the terminal20determines whether one or more operations for a numerical value change for changing the numerical value of the character coefficient “a” of the identical kind are accepted or not. When it is determined that the one or more operations for the numerical value change are accepted, the CPU21of the terminal20moves, in an interlock manner, in response to the one or more operations for the numerical value change, one slider511included in one first slider tag501and configured to change the numerical value of the character coefficient “a” of the identical kind, and at least one slider521included in one second slider tag502and configured to change the numerical value of the character coefficient “a” of the identical kind, and displays one first graph412included in one first graph tag401and one second graph422included in one second graph tag402, by changing shapes of the one first graph412and the one second graph422in accordance with the one or more operations for the numerical value change.

As described above, in the terminal20of the present embodiment, responding to the execution of the one or more operations for changing the numerical value of the character coefficient “a” when the character coefficient “a” of the identical kind is displayed in the mutually separated two slider tags501and502, the display device26is caused to display the two graphs412and422, which are displayed in the two graph tags401and402associated with the two slider tags501and502, by changing shapes of the two graphs412and422in accordance with the one or more operations for the numerical value change.

Thereby, even when the two graphs412and422are separately displayed in the two graph tags401and402, if only one slider of any one of the two slider tags501and502is simply operated, the shapes of the two graphs412and422can be changed in accordance with this operation.

For example, a transition from the screen206ofFIG.5Dto the screen207ofFIG.5Eis now considered. At this time, it is assumed that the integrated slider tag500was selected as indicated by the status display portion518, and the value of the character coefficient was changed by using the slider tag500. Specifically, it is assumed that the user selected the marker513by the pointer701and dragged the marker513as indicated by an arrow726. In this case, the first graph412corresponding to the mathematical expression input to the first mathematical expression tag310and the second graph422corresponding to the mathematical expression input to the second mathematical expression tag320are changed at the same time.

As in the example of the screen209illustrated inFIG.6B, when identical character coefficients are not present, the interlock process is not executed. As illustrated inFIG.6B, when the value of the character coefficient “b” was changed by the operation of the second slider tag502, i.e. by selecting the marker523by the pointer701and dragging the marker523as indicated by an arrow732, this operation affects only the character coefficient “b”. Only the second graph422of the second graph tag402corresponding to the mathematical expression, which includes the character coefficient “b” and is input to the second mathematical expression tag320, is re-calculated and re-drawn. Similarly, when the tags are coupled as illustrated inFIG.6D, the character coefficients “a” and “b” are independent from each other, and the first graph412and second graph422of the graph tag400are individually re-drawn in association with the character coefficients “a” and “b”.

Referring back toFIG.2B, a further description will be given. In step S118, the terminal20determines whether the present process is terminated or not. When it is determined that the process is not terminated, the process returns to step S101, and the above-described process is repeated. When it is determined that the process is terminated, the process ends.

According to the present embodiment, the user can perform such an intuitive operation as changing a character coefficient by using the slider tag. In the operation using the slider tag, it is judged whether a common character coefficient is used or not. When a common character coefficient is used, a plurality of tags are changed in an interlock manner with respect to the common character coefficient. In addition, in the separation or coupling of tags, a display matching with the user's intuition is executed based on whether the common character coefficient is used or not, in such a manner that a copy of a slider tag is created, a slider tag is separated, slider tags are integrated into one slider tag, or slider tags are displayed in juxtaposition. A series of images as described above are projected by a projector, for example, in a classroom, and are shown to students, for example. Thereby, it is expected that the understanding of mathematics by the students is deepened.

In the above-described embodiment, the system1was described as operating by the server10and terminal20which are connected by the network50. The sharing of processing between the server10and terminal20is not limited to the above-described one, and may be changed as needed. Besides, the application software, which executes the above-described functions, may be installed in a terminal such as a PC or a tablet-type information processing apparatus, and the functions may be executed by only the terminal, without intervention of the server10. Specifically, each element of the above-described functions is realized by the server10and/or the computer including the terminal20.

In the above-described embodiment, the application for education of mathematics was illustrated by way of example, but the embodiment is not limited to this. The above-described technology is applicable to various applications for education. Furthermore, the above-described technology is applicable not only to applications for education, but also to other various kinds of applications such as applications for analysis. In particular, the above technology is applicable to applications in the fields of science, such as mathematics, physics, chemistry, etc., or to applications in the field of engineering.

The present invention is not limited to the above-described embodiments, and can be variously modified without departing from the scope of the present invention in practical stages. The embodiments may be appropriately combined as much as possible and practiced and, in this case, the combined advantageous effects can be obtained. Furthermore, the above-described embodiments incorporate inventions of various stages, and various inventions can be extracted by combinations of constituent elements selected from the disclosed constituent elements. For example, even if some constituent elements are omitted from all the constituent elements disclosed in the embodiments, a configuration from which some constituent elements are omitted can be extracted as an invention if the problem is solved and the advantageous effects can be obtained.