-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.rb
238 lines (203 loc) · 3.9 KB
/
main.rb
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
nome = "Cleiton"
idade = 20
sexo = "m"
peso = 70.5
ativo = true
val1, val2, soma, subtracao, multiplicacao, divisao, modulo = 0, 0, 0, 0, 0, 0, 0
idadeTernario = 0
idadeIF = 0
dia = 0
a = 0
b = 0
c = 0
m = 0
n = 0
# Constante
PI = 3.14159265
# Comentário de uma linha
=begin
Comentário
de varias linhas
=end
# ESCREVER NA TELA
puts "### ESCREVER NA TELA ###"
puts "Olá Mundo"
puts
# VARIÁVEIS
puts "### VARIÁVEIS E TIPOS BÁSICOS ###"
puts "Nome: #{nome}"
puts "Idade: #{idade}"
puts "Sexo: #{sexo}"
puts "Peso: #{peso}"
puts "Ativo: #{ativo}"
puts
# CONSTANTE
puts "### CONSTANTE ###"
puts "PI: #{PI}"
puts
# OPERACOES
puts "#### OPERACOES ####"
print "Informe o valor 1: "
val1 = gets.chomp.to_i
print "Informe o valor 2: "
val2 = gets.chomp.to_i
soma = val1 + val2 # Pode usar: (+, -, *, /, %)
subtracao = val1 - val2
multiplicacao = val1 * val2
divisao = val1 / val2
modulo = val1 % val2
puts "Soma: #{soma}"
puts "Subtracao: #{subtracao}"
puts "Multiplicacao: #{multiplicacao}"
puts "Divisao: #{divisao}"
puts "Modulo: #{modulo}"
puts
# TERNARIO
puts "### TERNARIO"
print "Digite um número: "
idadeTernario = gets.chomp.to_i
mensagem = idadeTernario >= 18 ? "Maior de idade" : "Menor de idade"
puts mensagem
puts
# IF ELSE IF ELSE
puts "### IF ELSE IF ELSE"
print "Informe a idade: "
idadeIF = gets.chomp.to_i
if idadeIF < 12 then
puts "CRIANCA"
elsif idadeIF >= 12 and idadeIF < 18 then
puts "ADOLESCENTE"
else
puts "ADULTO"
end
puts
# CASE
puts "### SWITCH CASE ###"
print "Informe um numero 1 - 7 para semana: "
dia = gets.chomp.to_i
puts
case dia
when 1
puts "Domingo"
when 2
puts "Segunda"
when 3
puts "Terça"
when 4
puts "Quarta"
when 5
puts "Quinta"
when 6
puts "Sexta"
when 7
puts "Sabado"
else
puts "Valor nao existente"
end
puts
puts
# REPEAT
puts "### REPEAT ###"
puts "Não tem REPEAT"
puts
# DO WHILE
puts "### DO WHILE ###"
puts "Não tem DO WHILE"
puts
# WHILE
puts "### WHILE ###"
while b < 10 do
puts b
b = b + 1;
end
puts
# FOR
puts "### FOR ###"
for c in 0..10
puts c
end
puts
# ARRAY
puts "### ARRAY ###"
numbers = [10, 20, 30, 40]
numbers.each do |number|
puts number
end
puts
# MATRIZ
puts "### MATRIZ ###"
matriz = Array.new(3) { Array.new(3, 0) } # Declaração de uma matriz 3x3 de inteiros
# Inicialização da matriz
(0..2).each do |i|
(0..2).each do |j|
matriz[i][j] = i * 3 + j + 1
end
end
# Acesso aos elementos da matriz
puts "Elementos da matriz:"
matriz.each do |row|
puts row.join(' ')
end
puts
# FUNÇÃO
puts "### FUNCAO ###"
print "Digite o valor 1: "
m = gets.chomp.to_i
puts
print "Digite o valor 2: "
n = gets.chomp.to_i
def funcaoSoma(m,n)
m+n;
end
puts "Soma: #{funcaoSoma(m,n)}"
puts
# PROCEDURE
puts "### PROCEDURE ###\n"
puts "Não tem PROCEDURE\n\n"
# PONTEIRO
puts "### PONTEIRO ###\n";
puts "Não tem PONTEIRO \n";
puts " Não é necessário liberar memória manualmente, como em C ou C++. A variável será automaticamente coletada pelo coletor de lixo quando não estiver mais em uso. \n";
puts "\n";
# TRY
puts "### TRY ###\n";
print "Digite o valor 1 para o dividendo: "
numero1 = gets.chomp.to_i
puts
print "Digite o valor 2 para o divisor: "
numero2 = gets.chomp.to_i
begin
if numero2 == 0
raise 'Divisão por zero não é permitida!'
end
res = numero1 / numero2
puts "Resultado da divisão: #{res}"
rescue => e
puts "Ocorreu uma exceção: #{e.message}"
end
puts "\n";
# ENUM
puts "### ENUM ###\n";
module Cor
Vermelho = :vermelho
Verde = :verde
Azul = :azul
Amarelo = :amarelo
Laranja = :laranja
end
minha_cor = Cor::Azul
case minha_cor
when Cor::Vermelho
puts "Minha cor favorita é vermelho."
when Cor::Verde
puts "Minha cor favorita é verde."
when Cor::Azul
puts "Minha cor favorita é azul."
when Cor::Amarelo
puts "Minha cor favorita é amarelo."
when Cor::Laranja
puts "Minha cor favorita é laranja."
else
puts "Eu não tenho uma cor favorita."
end
puts "\n";