Î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.