Apendice - 1

În funcție de intervalul [A, B] și valoarea funcției F (x), este posibil ca această sau acea axă (sau ambele) să nu fie vizibile.

Funcția este încărcată din fișierul funct.pas, care este scris pe disc în directorul de lucru (actual) - directiva.







Numele programului este Work5, numele fișierului înregistrării este Work5.pas.

v După cuvântul rezervat utilizat, se scrie numele modulului standard de mediu Turbo Pascal, CRT.

v Este apoi descrisă constanta H = 79 (numărul maxim de poziții pentru plotarea graficului orizontal).

v Următoarele descriu tipurile de date:

Ø Poziție - descrie numărul de elemente pentru plotare.

ArrayA Array descrie un vector de simbol pentru plotarea unui grafic pe ecranul de afișare a caracterelor.

Ø Func - o funcție specifică F (x).

v Câmpul de descriere a Var descrie variabilele cerute.

v Următoarea descriere a procedurilor Grafic și MinMax.

v Apoi trebuie să încărcați o funcție specifică F (x) dintr-un alt fișier funct.pas -.

v Programul principal este înregistrat. care solicită procedurile și funcțiile necesare, în conformitate cu algoritmul de rezolvare a problemei.

Algoritmul de executare a procedurii Grafic

Ø În ciclul lui i, valoarea elementului matricei A [i] este afișată ca simbol pe ecran.

Ø Se afișează o linie goală - treceți la linia următoare a graficului.

MinMax algoritm de execuție a procedurii

Ø Valorile inițiale ale variabilelor sunt setate: x, Ymin, Ymax, F1x.

Ø În buclă În timp<=B производятся следующие действия:

1) Valoarea curentă a x: = x + dx este calculată.

2) Se calculează valoarea anterioară a funcției F1X și valoarea FX ulterioară.

3) Dacă produsul din valoarea precedentă a funcției schimbă semnul la următoarea, atunci graficul funcției F (x) intersectează axa x. valoarea rădăcină este afișată pe ecran, egală cu: x -dx / 2;

4) Valorile minime și maxime ale funcției sunt definite: Ymax, Ymin.

Algoritmul principal de execuție a programului

Ø În buclă pe j, matricea Ar [j] este șters.







Ø Se introduc numărul de puncte M ale graficului de funcții F (x) și intervalul [A.B]. pe care se investighează schimbarea acestei funcții.

Ø Determinați incrementul (discret) în X. egal cu dx: = (B-A) / (M-1).

Ø Valorile minime și maxime ale funcției F (x) sunt găsite, iar rădăcinile din intervalul [A.B] sunt accesate la procedura MinMax.

Ø După ieșirea rădăcinilor, dacă acestea se află la intervalul specificat, apăsați tasta Enter;

Ø Factorul de scalare My: = 75 / (Ymax-Ymin) este definit.

Далее Numărul de poziție Y0 este apoi determinat. prin care trece axa X:

Notă. My și Y0 sunt determinate din sistemul de ecuații:

unde 77 și 2 sunt numărul oricărei poziții maxime și minime orizontale (pentru a evita afișarea simbolului din spatele ecranului la calcularea discrepanțelor ecranului, luând în considerare erorile de rotunjire și tăiere).

Ø Se calculează valoarea inițială a lui x: = A.

Ø Apoi în buclă În timp ce x<=B производятся следующие действия:

1) se calculează valoarea funcției la punctul X;

2) se verifică dacă este necesar să se deseneze axa X (numărul de poziție Y0 este inclus în numărul setat de poziții 1..H);

3) dacă da, atunci arrayul Ar [y0] în această poziție este egal cu "I" (desenarea unei linii verticale);

4) numărul poziției ecranului N este definit ca rotund (My * y) + Y0;

5) se calculează numărul de simboluri k afișate;

6) dacă X = 0. atunci se formează axa Y;

7) în poziția simbolului grafic N ieșire, elementul matricei Ar [N] are atribuită valoarea simbolului de ieșire "@";

8) se afișează linia graficului - acces la funcția Grafic (Ar, k);

9) după aceea, matricea Ar [j] este eliminată într-un ciclu cu j;

10) valoarea lui X este mărită de incrementul dx, adică x: = x + dx și controlul este trecut la începutul buclă.

Ø Apoi se verifică dacă să se deseneze axa X (numărul de poziție Y0 intră în numărul specificat de poziții), dacă da, forma finală a axei X se termină: valoarea Ar [y0] în această poziție este "V". și A [y0 + 1] = 'X' și este afișată ultima linie a graficului - acces la funcția Grafic (Ar, Y 0 + 1).

Ø După afișarea rezultatului, pe ecran apare mesajul "Din nou?". (y / n). Variabiei ch este atribuită valoarea unei taste presetate (operatorul ReadKey citește un caracter de la tastatură - N sau Y). Dacă ați apăsat tasta N, programul se termină când tasta Y (sau orice altă tastă) este apăsată - controlul este transferat la începutul buclă și puteți repeta calculul cu noile valori ale variabilelor M, A și B.

În această implementare, nu se iau în considerare următoarele cazuri speciale:

Ø nu este controlată corectitudinea utilizatorului care intră în intervalul respectiv, respectiv A

Este posibil ca funcția să nu fie definită pretutindeni. De exemplu, funcția F (x) = 3 * x - 4 * ln x - 5 (a se vedea 12) este definită doar pentru x> 0;

Ø Din cauza erorilor de rotunjire, axa Y nu este întotdeauna trasă pe ecran.

Aceste și alte situații posibile în fiecare caz particular trebuie văzute și rezolvate de către student.







Articole similare

Trimiteți-le prietenilor: