-
Notifications
You must be signed in to change notification settings - Fork 0
/
bhaskara.rkt
75 lines (63 loc) · 1.42 KB
/
bhaskara.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#lang racket
(printf"Calculo de bhaskara, digite os valores:\n")
(printf "A=")
(define a(read))
(printf "B=")
(define b(read))
(printf "C=")
(define c(read))
(printf "\n\n")
;calcula o delta
(define delta
(+ (expt b 2)(* -4 a c))
)
;valor do x1
(define x1
(/ (+(- b) (sqrt delta)) (* 2 a))
)
;valor do x2
(define x2
(/(-(- b)(sqrt delta))(* 2 a))
)
;valor do Vx
(define Vx
(/(- b)(* 2 a))
)
;valor do Vy
(define Vy
(/(* delta -1)(* 4 a))
)
;chama todos os métodos e imprime os resultados
(printf(~a "A= " a))
(printf "\n")
(printf(~a "B= " b))
(printf "\n")
(printf(~a "C= " c))
(printf "\n")
(printf(~a "delta= " delta))
(printf "\n")
(printf(~a "x1= " x1))
(printf "\n")
(printf(~a "x2= " x2))
(printf "\n")
(printf(~a "Vx= " Vx))
(printf "\n")
(printf(~a "Vy= " Vy))
(printf "\n\n")
;adiciona os resultados em um arquivo txt
(require 2htdp/batch-io)
(write-file "bhaskara.txt" (format"Resultados da conta de Bhaskara:\n\nA: ~a\nB: ~a\nC: ~a\ndelta: ~a\nx1: ~a\nx2: ~a\nVx: ~a\nVy: ~a" a b c delta x1 x2 Vx Vy))
;Adiciona os resultados no banco de dados SQLite
(require db)
(define SQLite
(sqlite3-connect #:database "db/bhaskara.db"
#:mode 'create) ;;permite escrita/leitura do banco
)
;inserção
(query-exec SQLite
"INSERT INTO valores (a, b, c, delta, x1, x2, Vx, Vy) VALUES (?, ?, ?, ?, ?, ?, ?, ?);" a b c delta x1 x2 Vx Vy
)
;impressão
(query SQLite
"SELECT * FROM valores;"
)