/**
* Verifica se a origem foi feita no mesmo subdominio
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function inExceptArray($request)
{
$dominio = explode(".", $request->getHttpHost());
$dominio = (array_key_exists(count($dominio) - 2, $dominio) ? $dominio[count($dominio) - 2] : "").".".$dominio[count($dominio) - 1];
if($dominio == ESOCIAL_ROOT_DOMAIN){
return true;
}
return false;
}
Diário sobre as diversas coisas de Tecnologia, esportes, educação física e guia para estudos
terça-feira, 5 de novembro de 2019
Remover verificação do csrf token no mesmo subdomínio no laravel via Middleware
segunda-feira, 24 de outubro de 2011
Vetores em C
/* Fazer um programa para contar o número de espaços em brancos de uma string. */#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){char s[20];int i, quant;quant = 0;
printf("Digite uma string: ");scanf("%[^\n]",s);printf("String digitada: %s\n",s);for (i=0; s[i] != '\0' ;i++){
char ch;ch = s[i];
if (ch == ' '){
quant += 1;
}
}
printf("Quantidade de espacos digitados: %d",quant);return 0;}
/* Refaça o programa anterior criando uma função que receberá como parâmetro a string eretornará o número de espaços em branco que a string contem. */#include <stdio.h>
#include <stdlib.h>
#include <string.h>int emBranco (char s[]) {
int i = 0, quant = 0;for (i=0; s[i] != '\0' ;i++){
char ch;ch = s[i];
if (ch == ' '){
quant += 1;
}
}
printf("Quantidade de espacos digitados: %d",quant);return 0;}
int main(){char s[25];int i, quant;quant = 0;
printf("Digite uma string: ");scanf("%[^\n]",s);printf("String digitada: %s\n",s);emBranco(s);
return 0;}
/* Fazer um programa para contar o número de vogais numa cadeia de caractere. */#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){char s[40];int numVogais, i;char *vogais;printf("Digite uma string: ");scanf("%[^\n]",s);vogais = "aeiouAEIOU";numVogais = 0;
for (i = 0; s[i] != '\0'; i++) {
char ch;int j;ch = s[i];
for (j = 0; vogais[j] != '\0'; j++) {
if (vogais[j] == ch) {numVogais += 1;
break;}
}
}
printf("Quantidade de vogais digitados: %d",numVogais);return 0;}
/* Refaça o programa anterior criando uma função que receberá como parâmetro a string eretornará o número de vogais que a string contem. */#include <stdio.h>
#include <stdlib.h>
#include <string.h>int countVogais (char s[]) {
char *vogais;int numVogais, i;vogais = "aeiouAEIOU";numVogais = 0;
for (i = 0; s[i] != '\0'; i++) {
char ch;int j;ch = s[i];
for (j = 0; vogais[j] != '\0'; j++) {
if (vogais[j] == ch) {numVogais += 1;
break;}
}
}
return numVogais;}
int main(){char s[40];int valor;printf("Digite uma string: ");scanf("%[^\n]",s);valor=countVogais(s);
printf("Quantidade de vogais digitados: %d",valor);return 0;}
/*Escrever um programa para ler uma string (com mais de uma palavra) e faça com que aprimeira letra de cada palavra fique em maiúscula. Para isso, basta subtrair 32 do elementoque deseja alterar para maiúsculo. chrNome[0] = chrNome[0] – 32;Exemplo:Entrada: lab. de linguagem de programacaoSaída: Lab. De Linguagem De Programacao */#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(){char s[40];int i;printf("Digite uma string: ");scanf("%[^\n]",s);printf("String digitada: %s\n",s);for (i=0; s[i] != '\0' ;i++){
char ch;ch = s[i];
if (ch == s[0]){s[i] = s[i] - 32;
}
if (ch == ' '){
s[i+1] = s[i+1] - 32;
}
}
printf("String digitada concertada: %s",s);return 0;}
Vetores númericos
/*Dada um tabela contendo a idade de 10 alunos, faça um algoritmo que calcule o número dealunos com idade superior a média.*/#include <stdio.h>
#include <stdlib.h>
int main(){int v[10];int i, soma, count;float media;soma = 0;
count = 0;
for (i=0; i < 10; i++){printf("Digite a nota %d\n",i+1);scanf("%d", &v[i]);soma = soma + v[i];
}
media = ((float)soma)/ 10.0;for (i=0; i < 10; i++){if (media < ((float)v[i])){
count = count + 1;
}
}
printf("Media: %f\n", media);printf("Quantidade de Alunos com nota maior que a media: %d\n", count);return 0;}
/*Dada um tabela contendo a idade de 10 alunos, faça um algoritmo que calcule o número dealunos com idade superior a média.*/#include <stdio.h>
#include <stdlib.h>
int main(){int v1[10], v2[10];int i, soma1, soma2;soma1 = 0;
soma2 = 0;
for (i=0; i < 10; i++){printf("Digite o valor do vetor1 na posicao %d\n",i+1);scanf("%d", &v1[i]);soma1 = soma1 + v1[i];
}
printf("A Soma dos valores do primeiro vetor e: %d\n\n", soma1);for (i=0; i < 10; i++){printf("Digite o valor do vetor2 na posicao %d\n",i+1);scanf("%d", &v2[i]);soma2 = soma2 + v2[i];
}
printf("A Soma dos valores do primeiro vetor e: %d\n\n", soma2);printf("A Soma Total e: %d\n", soma1+soma2);return 0;}
segunda-feira, 10 de outubro de 2011
Exercicios de funções parte II
/*5. Faça uma função que receba a idade de uma pessoa em anos, meses e dias e retorna essaidade expressa em dias. */#include <stdio.h>
#include <stdlib.h>
int convertedias(int anos, int meses, int dias){
int dias2;dias2 = (anos * 365) + (meses * 30) + dias;
printf("Sua idade em dias e %d\n", dias2);}
int main(){int anos, meses, dias;printf("Informe a idade em anos, meses e dias\n");scanf("%d %d %d", &anos, &meses, &dias);convertedias(anos, meses, dias);
return 0;}
/*6. Faça uma função que recebe a média final de um aluno por parâmetro e retorna o seuconceito, conforme a tabela a seguir:Nota ConceitoDe 0 a 49 DDe 50 a 69 CDe 70 a 89 BDe 90 a 100 A */#include <stdio.h>
#include <stdlib.h>
int conceito (int media){
if (media >= 0 && media <= 49)printf("Conceito D");else if (media <= 69)
printf("Conceito C");else if (media <= 89)
printf("Conceito B");else if (media <= 100)
printf("Conceito A");elseprintf("Valor de entrada incorreto");}
int main(){int media;printf("Entre com a media\n");scanf("%d", &media);conceito(media);
return 0;}
/*7. Escrever uma função int contaimpar (int n1, int n2) que retorna o número deinteiros impares que existem entre n1 e n2 (inclusive ambos, se for o caso). A função devefuncionar inclusive se o valor de n2 for menor que n1. */#include <stdio.h>
#include <stdlib.h>
int contaimpar (int n1, int n2){
int i, asw;asw = 0;
int vect[0];if (n1 <= n2){for (i=n1; i<=n2; i++){if (i%2 != 0){asw++;}
}}
else{for (i=n1; i>=n2; i--){if (i%2 != 0){asw++;}
}}
printf ("Quantida de impares e %d",asw);}
int main(){int n1, n2;printf("Entre com os valores\n");scanf("%d %d", &n1, &n2);contaimpar(n1,n2);
return 0;}
/* 8. Escrever uma função int divisão (int dividendo, int divisor, int * resto), queretorna a divisão inteira (sem casas decimais) de dividendo por divisor e armazena noparâmetro resto, passado por referência, o resto da divisão.int r, d;d = divisao(5, 2, &r);printf("Resultado:%d Resto:%d", d, r); Resultado:2 Resto:1 */#include <stdio.h>
#include <stdlib.h>
int divisao(int dividendo, int divisor, int *resto){
*resto = dividendo%divisor;
return dividendo/divisor;}
int main(){int r, d, divisor, dividendo;printf("Entre com o Dividendo e o Divisor\n");scanf("%d %d", ÷ndo, &divisor);d = divisao(dividendo, divisor, &r);
printf("Resultado:%d Resto:%d", d, r);}
terça-feira, 27 de setembro de 2011
Exemplo Procedimentos e Funções
imprima o intervalo fechado entre eles, do menor para o maior.
Por exemplo: se n1 = 2 e n2 = 5, o procedimento irá imprimir 2, 3, 4, 5.
#include <stdio.h>
#include <stdlib.h>
void completa(int n1, int n2){
int i;if (n1<=n2)for (i=n1; i<=n2; i++)printf("%d", i);elsefor (i=n2; i<=n1; i++)printf("%d", i);}
int main(){int n1, n2;printf("Entre com dois valores\n");scanf("%d %d",&n1, &n2);completa(n1,n2);
return 0;}
Faça um procedimento que receba a idade de uma pessoa em dias e retorna essa idade
expressa em anos, meses e dias.
#include <stdio.h>
#include <stdlib.h>
void transforma(int dias){
int meses, anos;anos = dias / 365;
meses = dias / 30;
if (dias >= 365)dias = dias % 365;
meses = meses % 12;
if (dias >= 30)dias = dias % 30;
printf("A idade e %d anos, %d meses e %d dias", anos, meses, dias);}
int main(){int dias;printf("Entre com a quantidade de dias\n");scanf("%d",&dias);transforma(dias);
return 0;}
Faça um procedimento que receba por parâmetro o tempo de duração de um experimento
expresso em segundos e imprima na tela esse mesmo tempo em horas, minutos e
segundos.
#include <stdio.h>
#include <stdlib.h>
void converte(int seg){
int horas, minutos;minutos = seg / 60;
horas = seg / 3600;
if (seg >= 3600)seg = seg % 3600;
minutos = minutos % 60;
if (seg >= 60)seg = seg % 60;
printf("O tempo do experimento e %d horas, %d minutos e %d segundos", horas, minutos, seg);}
int main(){int seg;printf("Entre com o tempo do experimento em segundos\n");scanf("%d",&seg);converte(seg);
return 0;}
Faça uma função que receba por parâmetro o raio de uma esfera e calcula o seu volume: V = (4 * PI * R3) /3.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int volume(raio){float pi, vol, r3;r3=pow((float)raio,3);pi = 3.14159265;
vol = ((4.0 * pi * r3)/3.0);
printf("Volume da esfera de raio %d e %f", raio, vol);}
int main(){int raio;printf("Entre com o raio da esfera\n");scanf("%d",&raio);volume(raio);
return 0;}
quinta-feira, 8 de setembro de 2011
Exercicios de C, Laços de Repetição
1: //1. Fazer um algoritmo que imprima todos os números pares no intervalo 1-100.
2: #include <stdio.h> 3: #include <stdlib.h> 4: 5: int main()
6: {7: int i;
8: for(i=2; i<=100; i=i+2)
9: {10: printf("%d\n",i);
11: }12: return 0;
13: }1: //2. Fazer um algoritmo que imprima todos os números de 100 até 1.
2: #include <stdio.h> 3: #include <stdlib.h> 4: 5: int main()
6: {7: int i;
8: for(i=100; i>=1; i--)
9: {10: printf("%d\n",i);
11: }12: return 0;
13: }1: // Dada uma dívida de 10000 reais que cresce a juros de 2,5% ao mês e uma aplicação de
2: //1500 reais com rendimento de 4% ao mês, escrever um algoritmo que determina o número
3: //de meses necessários para pagar a dívida.
4: #include <stdio.h> 5: #include <stdlib.h> 6: 7: int main()
8: {9: float divida, juros, aplicacao, rendimento;
10: int meses;
11: meses = 0; 12: divida = 10000; 13: juros = 0.025; 14: aplicacao = 1500; 15: rendimento = 0.04; 16: 17: while (divida > aplicacao) {
18: divida = (divida * juros) + divida; 19: aplicacao = (aplicacao * rendimento) + aplicacao; 20: meses ++; 21: }22: printf("Quantidade de meses para liquidar a divida e %d\n",meses);
23: printf("Sua divida esta em %f\n",divida);
24: printf("Sua aplicacao esta em %f\n", aplicacao);
25: return 0;
26: }1: /* Fazer um programa para calcular e mostrar os N primeiros termos da série de Fibonacci. O
2: número N é fornecido pelo usuário. A série de Fibonacci é gerada da seguinte forma:
3: f1 = f2 = 1;
4: f3 = f1 + f2 = 2;
5: f4 = f2 + f3 = 3;....
6: O primeiro e segundo termos valem 1 e os seguintes são calculados somando os dois termos
7: anteriores.*/
8: #include <stdio.h> 9: #include <stdlib.h> 10: 11: int main()
12: {13: int fibo,conta=0,a=0,b=1,i;
14: printf("Entre com a quantidade de numeros de fibonacci que deseja criar\n");
15: scanf("%d",&fibo);
16: 17: for(i = 0; i < fibo; i++)
18: { 19: conta = (a + b);20: printf("%d\n",conta);
21: a = b; 22: b = conta; 23: }24: return 0;
25: }sexta-feira, 26 de agosto de 2011
Standard ML
Estou aprendendo SML na aula de Linguagens de Programação, intao vou postando algumas coisas e exercicios sobre a linguagem
Página do projeto SML NJ (o copilador mais utilizado)
Wikipédia
Standard ML (SML) é uma linguagem de programação funcional de propósito geral modular com verificação e inferência de tipos em tempo de compilação. É popular entre pesquisadores de linguagem de programação e compiladores.
SML é um descendente moderno da ML (linguagem de programação) utilizado em lógica de funções computáveis (LCF). Distingue-se entre as linguagens utiliada devido sua característica funcional e devido sua especificação formal, dado como escrever regras e semântica operacional na definição da Standard ML
A Página do meu Professor Fernando (muito bom) tem mais informações sobre a materia e sobre o SML
http://homepages.dcc.ufmg.br/~fpereira/classes/dcc024/ementa/
Outros links em inglês
http://u.cs.biu.ac.il/~89-310/
alguns exercicios de SML
Escreva uma função cube, de tipo int -> int que retorne o cubo do seu parametro
fun cube x = x*x*x;
Escreva uma função cuber, de tipo real -> real que retorne o cubo de seu parametro.
fun cuber x:real = x*x*x;
Escreva a funcao fourth, de tipo 'a list -> 'a que retorne o quarto elemento da
lista passada como parametro. Nao se preocupe com a condicao de contorno em que a
lista de entrada possui menos que quatro elementos.
fun fourth a = hd(tl(tl(tl(a) )))