Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculasQuantidade de visualizações: 9342 vezes |
|
A linguagem C padrão não possui uma função para transformar todas as letras de uma palavra, frase ou texto em maiúsculas, embora alguns compiladores a forneça. O que temos em C padrão é a função: int toupper(int c); maiúsculo. Podemos tirar vantagem disso e escrever uma função strtoupper(). Veja a listagem logo abaixo (uma boa oportunidade para praticar ponteiros em C):
#include <stdio.h>
#include <stdlib.h>
void strtoupper(char *string){
while(*string){
*string = toupper(*string);
string++;
}
}
int main(int argc, char *argv[])
{
char frase[] = "Programando em C";
printf("Frase normal: %s\n", frase);
strtoupper(frase);
printf("Em letras maiusculas: %s\n\n", frase);
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Frase normal: Programando em C Em letras maiusculas: PROGRAMANDO EM C |
Portugol ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesianoQuantidade de visualizações: 750 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Portugol que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
// Calcular o coeficiente angular de uma reta em Portugol
programa {
// vamos incluir a biblioteca Matematica
inclua biblioteca Matematica --> mat
funcao inicio() {
// coordenadas dos dois pontos
real x1, y1, x2, y2
// guarda o coeficiente angular
real m
// x e y do primeiro ponto
escreva("Coordenada x do primeiro ponto: ")
leia(x1)
escreva("Coordenada y do primeiro ponto: ")
leia(y1)
// x e y do segundo ponto
escreva("Coordenada x do segundo ponto: ")
leia(x2)
escreva("Coordenada y do segundo ponto: ")
leia(y2)
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1)
// mostramos o resultado
escreva("O coeficiente angular é: ", m)
}
}
Ao executar este código Portugol Webstudio nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.6666666666666666 No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem CQuantidade de visualizações: 13527 vezes |
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 49 caracteres
// copia a primeira frase para a segunda
frase2 = frase1;
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida: incompatible types in assignment of `char[13]` to `char[50]` Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade: char *strcpy(char *destino, const char *origem); Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 50 caracteres
// copia a primeira frase para a segunda
strcpy(frase2, frase1);
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
|
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etcQuantidade de visualizações: 12304 vezes |
|
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários. Veja a página HTML completa para o exemplo:
<!doctype html>
<html>
<head>
<title>Data e hora em JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos criar um array com os dias da semana
var dias_semana = new Array("Domingo", "Segunda-feira",
"Terça-feira", "Quarta-feira", "Quinta-feira",
"Sexta-feira", "Sábado");
// agora vamos obter a data de hoje
var data = new Date();
// agora vamos obter o número do dia da semana
// começando em 0 para o domingo
var dia_semana = data.getDay();
// e finalmente mostramos o resultado
document.write("Dia da semana: " + dias_semana[dia_semana]);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Dia da semana: Segunda-feira |
Java ::: Dicas & Truques ::: Recursão (Recursividade) |
Java Avançado - Como listar o conteúdo de um diretório recursivamenteQuantidade de visualizações: 4 vezes |
|
Nesta dica mostrarei como podemos usar recursividade (recursão) para listar todo o conteúdo de um diretório. Este é um exercício para melhorar o seu entendimento de funções recursivas em Java. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.io.*;
import java.util.*;
public class Estudos {
static int indentLevel = -1;
public static void main(String[] args) {
listPath(new File("c:\\estudos_c"));
}
static void listPath(File path) {
File files[];
indentLevel++;
files = path.listFiles();
Arrays.sort(files);
for (int i = 0, n = files.length; i < n; i++) {
for (int indent = 0; indent < indentLevel; indent++) {
System.out.print(" ");
}
System.out.println(files[i].getName());
if(files[i].isDirectory()) {
listPath(files[i]);
}
}
indentLevel--;
}
}
Ao executar este código nós teremos o seguinte resultado:
DICA.txt
estudos
.vs
estudos
v16
.suo
Browse.VC.db
ipch
AutoPCH
1dcb307edee5acf8
ORIGEM.ipch
Debug
estudos.exe
estudos.exe.recipe
estudos.ilk
estudos.log
estudos.pdb
estudos.tlog
CL.command.1.tlog
CL.read.1.tlog
CL.write.1.tlog
estudos.lastbuildstate
link.command.1.tlog
link.read.1.tlog
link.write.1.tlog
estudos.vcxproj.FileListAbsolute.txt
Origem.obj
vc142.idb
vc142.pdb
estudos.sln
estudos.vcxproj
estudos.vcxproj.filters
estudos.vcxproj.user
Origem.cpp
Estudos_C.dev
Estudos_C.exe
Estudos_C.layout
main.c
main.o
Makefile.win
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
JavaScript - Como usar objetos Set em seus códigos JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






