console.log('Oi mundo.');
console.log('A Matemática é o alfabeto com o qual Deus escreveu o Universo.');
console.log('A Matemática é a única linguagem que temos em comum com a natureza.');
console.log('A física é a poesia da natureza. A matemática, o idioma.');
console.log('A ciência atual troca a realidade pela matemática.');
Saída
Comentando o próprio código-fonte
Entrada
//arquivo: comentarios.mjs
//objetivo: exemplificar utilização de comentários.
//comentário de fim de linha
/* comentário de
múltiplas linhas
mais uma linha
outra linha
*/
console.log('apenas código fora de comentários são interpretados pelo nodejs.');
//arquivo: saidaFormatada1.mjs
//objetivo: exemplificar saídas comuns formatadas.
console.log('algum texto\ntexto na próxima linha\n\nmais texto.');
console.log('comprei '+2+'frutas' + ' + '+0.5 +'gramas de hortaliças.');
console.log(`alguns fatos:
- Os únicos números primos terminados em ${2} e ${5} são justamente ${2} e ${5};
- qualquer número na base decimal por maior que seja sempre será representado pelos algarismos {${0},${1},${2},${3},${4},${5},${6},${7},${8},${9}};
- a metade de ${1} é ${0.5}.
`);
Saída
Variáveis
Entrada
//arquivo: variaveis.mjs
//objetivo: exemplificar o uso de variáveis.
const nome = 'Ana';
let idade = 12;
let precoUnitarioLaranja = 12;
let idadeIrma = idade/2;
console.log(`${nome} possui ${idade} anos.`);
console.log(`${nome} possuirá ${idade + 1} anos no ano que vem.`);
console.log(`${nome} daqui a quinze anos terá ${idade + 15} anos.`);
console.log(`se a irmã de ${nome} possui metade da idade de ${nome} quantos anos ela possui? A resposta é: ${idadeIrma} anos.`);
console.log(`qual o resultado da soma das idades das irmãs? Resposta: ${idade/2+idade}`);
console.log(`se o preço unitário da laranja é ${precoUnitarioLaranja} calcule:`);
console.log(`o preço de três laranjas. Resposta: ${precoUnitarioLaranja * 3}`);
console.log(`o preço de cinco laranjas. Resposta: ${precoUnitarioLaranja * 5}`);
precoUnitarioLaranja = 20;
console.log(`se o preço unitário da laranja for ${precoUnitarioLaranja} o preço de cinco laranjas será? Resposta: ${precoUnitarioLaranja * 5}`);
Saída
Entrada
//arquivo: erroConst.mjs
//objetivo: demonstrar erro quando tentamos modificar variáveis constantes.
const valor = 10;
valor = 15;
Funções - parte 1
Entrada
//arquivo: funcoes1.mjs
//objetivo: exemplificar o uso de funções.
function soma1(numero1, numero2){
return numero1 + numero2;
}
function soma2(numero1, numero2){
numero1 + numero2;
}
function enviarParaSaida(algumaCoisa){
console.log(algumaCoisa);
}
function enviarParaSaidaMensagemConstante1(){
console.log('mensagem sempre igual');
}
const meuNumeroPreferido = 10;
const total1 = soma1(1,2);
const total2 = total1 + soma1(3,8);
const soma3 = (numero1, numero2) => numero1+numero2;
const soma4 = function (numero1, numero2) {
return numero1 + numero2;
}
const enviarParaSaidaMensagemConstante2 = _=> 'mensagem sempre igual 2';
enviarParaSaidaMensagemConstante1();
enviarParaSaidaMensagemConstante2();
enviarParaSaida("este texto");
enviarParaSaida(meuNumeroPreferido);
enviarParaSaidaMensagemConstante1();
console.log(soma1(7,-3));
enviarParaSaida(soma1(7,-3))
enviarParaSaida(total1);
enviarParaSaida(total2);
console.log(soma2(7,-3));
enviarParaSaida(soma3(7,-3));
console.log(soma3(7,-3));
console.log(soma4(7,-3));
console.log(meuNumeroPreferido, total1, total2);
console.log(soma1(1,5), soma3(8,8));
Saída
Tipos de dados e o operador typedef
Entrada
//arquivo: tipos.mjs
//objetivo: demonstrar os principais tipos de dados em javascript.
const a = 'Oi mundo!!!';
const b = -1;
const c = true;
const d = 3.1;
const e = a + b + d;
const f = b + d + a;
let g;
let h = g;
let i = a;
let j = i === a;
let k = a === b;
let funcao1 = (a,b,c) => a*b*c;
let funcao2 = function(a,b,c){
return a*b*c;
}
function funcao3 (a,b,c){
return a*b*c;
}
console.log(typeof a, a);
console.log(typeof b, b);
console.log(typeof c, c);
console.log(typeof d, d);
console.log(typeof e, e);
console.log(typeof f, f);
console.log(typeof g, g);
console.log(typeof h, h);
console.log(typeof i, i);
console.log(typeof j, j);
k = 10;
console.log(typeof k, k);
console.log(typeof funcao1, funcao1(1,2,3));
console.log(typeof funcao2, funcao2(1,2,3));
console.log(typeof funcao3, funcao3(1,2,3));
funcao1 = a => a**2;
funcao2 = function (a){
return a**3;
};
funcao3 = a => a**4;
console.log(typeof funcao1, funcao1(3));
console.log(typeof funcao2, funcao2(3));
console.log(typeof funcao3, funcao3(3));
Saída
Objetos - parte 1
Entrada
//arquivo: objetos1.mjs
//objetivo: demonstrar o conceito de objeto em javascript como um local para agrupar dados.
const casa = {'moradores':4,'metragem':400,'banheiros':3, 'estimarValor': function (valorPorMetro){return valorPorMetro*this.metragem;}};
const carro = {'portas':4, 'manual':true,'motor':2.2,'ano':2023};
const aluno = {'nome':'Artur','idade':15,'altura':180};
console.log(typeof casa, casa);
console.log(typeof carro, carro);
console.log(aluno);
console.log(casa.moradores);
console.log(casa['moradores']);
console.log(casa.banheiros);
console.log(carro.manual);
console.log(carro.motor);
console.log(carro['motor']);
console.log(aluno.nome);
console.log(casa.estimarValor(1000));
Saída
Array (lista de dados) - parte 1
Entrada
//arquivo: array1.mjs
//objetivo: exemplificar o uso de arrays.
const minhaListaDeCoisas = [1,2,3,'algumTexto',[99,98,97],'outroTexto',{'atributoObjeto':'valor','outroAtributo':10}, 1,55,102];
const temperaturasDia = [15,15,15,15,15,16,16,16,17,17,18,18,18,19,19,20,19,17,17,15,15,15,15,15];
console.log(minhaListaDeCoisas);
console.log(temperaturasDia.length);
console.log(minhaListaDeCoisas[2]);
console.log(minhaListaDeCoisas[3]);
console.log(minhaListaDeCoisas[6].outroAtributo);
minhaListaDeCoisas[8] = 'novo valor';
console.log(minhaListaDeCoisas[8]);
//arquivo: ifElse2.js
//objetivo: classificar as temperaturas em adequadas (menores que 85ºC) ou altas (iguais ou maiores que 85ºC) ou críticas (iguais ou maiores que 105ºC).
const linhas = require('fs').readFileSync('/dev/stdin','utf8').split('\n');
const t0 = parseInt(linhas[0]);
const t1 = parseInt(linhas[1]);
const t2 = parseInt(linhas[2]);
const t3 = parseInt(linhas[3]);
const t4 = parseInt(linhas[4]);
const t5 = parseInt(linhas[5]);
const t6 = parseInt(linhas[6]);
const t7 = parseInt(linhas[7]);
if (t0 < 85) {
console.log('temperatura adequada');
} else if (t0 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t1 < 85) {
console.log('temperatura adequada');
} else if (t1 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t2 < 85) {
console.log('temperatura adequada');
} else if (t2 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t3 < 85) {
console.log('temperatura adequada');
} else if (t3 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t4 < 85) {
console.log('temperatura adequada');
} else if (t4 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t5 < 85) {
console.log('temperatura adequada');
} else if (t5 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t6 < 85) {
console.log('temperatura adequada');
} else if (t6 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
if (t7 < 85) {
console.log('temperatura adequada');
} else if (t7 < 105) {
console.log('temperatura alta');
} else {
console.log('temperatura crítica');
}
Saída
Repetição controlada por sentinela e repetição controlada por contador
Instrução de repetição while
Entrada
//arquivo: while.js
//entrada: fluxo de inteiros representando temperaturas em graus Celsius.
//objetivo: utilizar repetição controlada por sentinela para classificar um fluxo de temperaturas que termina ao ler a temperatura do zero absoluto aproximada aqui para 273 ºC.
//saída: classificação das temperaturas em: adequadas (menores que 85ºC) ou altas (iguais ou maiores que 85ºC) ou críticas (iguais ou maiores que 105ºC).
const linhas = require('fs').readFileSync('/dev/stdin','utf8').split('\n');
let temperatura = parseInt(linhas.shift());
while(temperatura !== 273){
if(temperatura < 85)
console.log('temperatura adequada');
else if(temperatura < 105)
console.log('temperatura alta');
else
console.log('temperatura crítica');
temperatura = parseInt(linhas.shift());
}
Saída
Instrução de repetição for
Entrada
//arquivo: for1.js
//entrada: fluxo de inteiros representando temperaturas em graus Celsius.
//objetivo: utilizar repetição controlada por contador para classificar um fluxo de temperaturas.
//saída: classificação das temperaturas em: adequadas (menores que 85ºC) ou altas (iguais ou maiores que 85ºC) ou críticas (iguais ou maiores que 105ºC).
const linhas = require('fs').readFileSync('/dev/stdin','utf8').split('\n');
for(let i = 0; i < linhas.length; i++){
const temperatura = parseInt(linhas[i]);
if(temperatura < 85)
console.log('temperatura adequada');
else if(temperatura < 105)
console.log('temperatura alta');
else
console.log('temperatura crítica');
}
Saída
Instrução de repetição do ... while
Entrada
//arquivo: doWhile.js
//entrada: fluxo de inteiros representando temperaturas em graus Celsius.
//objetivo: utilizar repetição controlada por sentinela para classificar um fluxo de temperaturas cujo último valor válido é o zero absoluto aproximado aqui para 273 ºC.
//saída: classificação das temperaturas em: adequadas (menores que 85ºC) ou altas (iguais ou maiores que 85ºC) ou críticas (iguais ou maiores que 105ºC).
const linhas = require('fs').readFileSync('/dev/stdin','utf8').split('\n');
let temperatura = parseInt(linhas.shift());
do{
if(temperatura < 85)
console.log('temperatura adequada');
else if(temperatura < 105)
console.log('temperatura alta');
else
console.log('temperatura crítica');
temperatura = parseInt(linhas.shift());
}while(temperatura !== 273);
//arquivo: switch.js
//entrada: uma lista de gêneros de livros.
//saída: para cada gênero da entrada fornecer sugestões de livros.
//objetivo: usando a instrução de seleção múltipla switch sugerir uma lista de livros conforme gênero da entrada se não tiver nenhuma correspondência sugerir lista genérica de livros.
const linhas = require('fs').readFileSync('/dev/stdin','utf8').split('\n');
while(linhas.length){
switch(linhas.shift()){
case 'ficção científica':
console.log('Poeira Lunar(Arthur C. Clarke), Memória Falsa(Dan Krokos), Os Arquivos Perdidos: a Traição do Número Cinco(Pittacus Lore)');
break;
case 'infanto e juvenil':
console.log('Os Contos de Beedle, O Bardo(J.K. Rowling), Um de Nós está de Volta (Karen M. McManus), Anjo Sombrio(Kim Richardson)');
break;
case 'policial e mistério':
console.log('Blaze(Stephen King), Depois Daquela Noite(Karin Slaughter), Diorama(Carol Bensimon)');
break;
case 'história':
console.log('O Lado Sombrio dos Contos de Fadas(Karin Hueck), Roma Antiga: de Rômulo a Justiniano(Thomas R. Martin), A Historia Começa na Sumeria(Samuel Noah Kramer)');
break;
default:
console.log('O Poder do Pensamento Matemático(Jordan Ellenberg), Tempo De Vida(David A. Sinclair), Alimentos Funcionais e Compostos Bioativos(Carolina Vieira Pimente)');
}
}