Postagens

Mostrando postagens de 2017

União de dois vetores e intermediários de um vetor

Em Programação de Computadores foi pedido * que se fizesse duas aplicações, ambas utilizando alocação dinâmica de memória em uma função. Para a primeira foi necessário que a partir de um vetor de inteiros fossem separados em um outro vetor (esse alocado dinamicamente) os valores entre um minimo e máximo vindo do usuário. Após a alocação de memória e o seu preenchimento o programa exibe na tela o conteúdo desse vetor. Já na segunda aplicação era necessário apenas a união de dois vetores. Os códigos do primeiro e segundo programas podem ser vistos abaixo : *Esses exercícios foram requisitados para a formulação da N2 da disciplina e foi entregue à professora em 11/2017

Alocação dinâmica de memória em matrizes em C

Uma matriz de tamanho dinâmico em C é implantada a partir de vetores contidos em vetores. Exemplificando, uma matriz 2x3 teria em cada uma das duas linhas, um vetor de 3 posições formando assim três colunas. Sendo declarada como um ponteiro de ponteiro (por exemplo, int **matriz ), para a sua alocação é necessário a alocação de um vetor comum e com o auxílio de uma função de repetição, como o for , criar um novo vetor dentro do primeiro. Como se pode ver no código abaixo: ... //matriz é alocada como vetor tendo um tamanho m matriz = ( int *) malloc(m * sizeof ( int* ));                 for (i = 0;i < m;i++){ /*Nesta etapa é alocado outro vetor dentro da posição i,fazendo desta maneira n colunas*/                matriz[i] = ( int *) malloc (n* sizeof ( int *)); …           A utilização de um dado dessa matriz seria por matriz[i][j].          m e n são números inteiros que indicarão – quando multiplicados nesse caso pelo tamanho de um int –  quantos

LPT - A polêmica entorno do que é arte nas paredes.

Imagem
(Esse texto foi originalmente escrito para a disciplina Leitura e Produção de Textos do meu curso de Engenharia de Computação (pois é, parece que não é só de derivadas que vive um engenheiro ... :v ) A polêmica entorno do que é arte nas paredes. Por João Marcos Santos Nos últimos tempos com a eleição de João Dória como prefeito da cidade de São Paulo, vem se repercutindo sobre grafites em espaços urbanos principalmente com o projeto "Cidade linda" da prefeitura onde se ficou marcado por cobrir com tinta cinza, grafites de locais públicos. Como de acordo com as legislações brasileiras, concordo que pichações (rabiscos, protestos ou insultos) em propriedades privadas e públicas se entendam por crime, uma vez que danificam esteticamente essas propriedades e também por não transmitirem, como muito se vê, algo positivo. Contudo, vejo o grafite como uma bela forma de aliviar o estresse vindo de paisagens urbanas, já que quebra o padrão mórbido e acinzentado das cidades.

Meus mangas e livros físicos (updated on Oct/2017)

Desde que comprei meu Kindle minha coleção se manteve assim :/ 😅 Começar a ler eBook acabou com o crescimento de minha coleção física 😅 #manga #books #bookstagram #shingekinokyojin #blueexorcist #tsuru #fordummies #another #onepunchman #thewalkingdead #twd #japan #nippon #guerracivil #civilwar #jbc #panini #paninicomics #residentevil #java #l4l #f4f #comics Uma publicação compartilhada por João Marcos (@iojoaomarcos) em Out 14, 2017 às 11:45 PDT

Teoria dos conjuntos (Projeto Interdisciplinar)

O primeiro projeto interdisciplinar deste semestre (2º), foi um programa em C  que classificava conjuntos entre simétrica, assimétrica, transitiva, reflexiva, de ordem e/ou de equivalência. Abaixo está o executável (arquivo .exe para Windows) e o código fonte.

Deu Ruim.exe

Imagem
Imagino que erros em programação ocorrem sempre. Um ponto e vírgula aqui, esquecer de um parentese ou chave lá... Pois bem. Pequenos erros que sempre ocorrem mas que são de rápida solução. MAS é claro que existem erros maiores e o que eu gostaria de compartilhar é o clássico loop infinito . Ontem (19/10) na aula de Programação de Computadores meu colega tinha entrado em um loop que ficava exibindo um printf  eterno na tela. Normalmente ajudá-lo a resolver o problema seria logo o que deveria fazer, correto? Mas propus a ele: "Que tal "otimizar" esse bug?" Partindo do principio de que tudo pode piorar, dentro do for  que se foi usado, usei o comando system("color \\") onde cada barra era uma letra ou número que faz referência a alguma cor. O comando color  na verdade faz parte do Prompt de Comandos do Windows, assim "invoquei" o cmd pela função system  e toda a mágica ocorreu como se pode ver no vídeo abaixo: Depois de ver aquilo qu

Aplicativo de Conversão de Temperatura (Android)

Imagem
Para composição da segunda nota de Algoritmos Computacionais e Física Fundamental (1º Semestre), seguindo o mesmo assunto da primeira nota, foi criado um aplicativo Android com curiosidades, conversão de temperatura e inclusive um pequeno Quiz sobre o tema. O processo de criação (e inclusive a correção de bugs  ;) foram descritas e postadas no blog Engenharia Compartilhada²  para fazer o download do aplicativo basta clicar no link abaixo: http://bit.ly/temperaturausf

Projeto Temperatura no Scratch

Imagem
Semestre passado como Projeto Interdisciplinar para composição da primeira nota, foi proposto pela professora de Algoritmos Computacionais que eu e meu grupo criássemos um projeto usando o Scratch (como eu já escrevi  aqui ). Curioso em rever o projeto, fiz login e acessei minha conta no Scratch e notei que havia uma opção de nova para "embedar" o projeto. Aí lembrei também do JStudium :v Abaixo você encontra o projeto que criamos, para visualizá-lo o Flash  deve estar habilitado.

BOAS PRÁTICAS DE PROGRAMAÇÃO

Imagem
Na criação de projetos grandes e em equipe, e até em simples projetos, boas práticas de programação se tornam indispensáveis para o desenvolvimento e também para a manutenção do software. Abaixo estão alguns dos mais imprescindíveis pontos para a criação de um bom código: Uso de comentários Principalmente em partes mais complexas, comentários ajudam a terceiros compreenderem o que aquele trecho de código faz. Pode ser útil inclusive para o criador quando em grandes projetos para relembrar da lógica utilizada. É recomendado também, fazer comentários para a explicação de funções e variáveis. Evitar comentários desnecessários Existem diversos “comandos óbvios”, que não precisam ser comentados, tais como um i++. Nomes de variáveis É útil nomear variáveis com a sua real função para maior clareza do código, evitando assim, usar variáveis genéricas como “a” ou “z”, na qual não dizem muito sobre o que armazenam. Endentação e espaçamento Um código endentado coopera para uma ma

Vogal ou Consoante com Switch-Case em C

Depois de algum tempo sem postar aqui no JStudium resolvi voltar postando alguns programas que criei semestre passado (meu primeiro semestre na faculdade :v). Abaixo está um programa bem simples que usa o comando condicional switch-case para verificar se a letra inserida pelo usuário é uma vogal ou consoante. #include <stdio.h> #include <stdlib.h> int main() { /* Alunos: Joao Marcos Santos; ---> Eng. de Computacao Lucas Lima Queiroz; ---> Eng. Eletrica @ Universidade Sao Francisco */ char letra; printf("Digite uma letra (em forma minuscula) para saber se ela e uma vogal ou uma consoante: "); scanf("%c", &letra); switch (letra) { /* Caso a letra inserida for a, e, i, o ou u, sera informado que a letra e uma vogal caso nao for uma dessas letras, sera informado que e uma consoante */ case 'a': printf("\n A letra

Engenharia Compartilhada²

Já se passou um mês que estou estudando na Universidade São Francisco  e assim como eu esperava, tenho vários exercícios e projetos para execução. Um destes projetos é o Engenharia Compartilhada² (o "ao quadrado" é um diferencial :v), um blog onde estarei postando, junto com meu grupo, o caminhar de um outro projeto (o.O): o desenvolvimento de uma "meio animação, meio software" feita a partir do Scratch - software desenvolvido pelo M.I.T. para que "laicos" em programação criem animações, jogos e alguns outros tipos de softwares (aqui vale da criatividade). Prevejo que seu desenvolvimento será fácil (modéstia a parte), uma vez que já tenho experiencias com blogs e afins, e programar no Scratch é bem (mas muito, muito mesmo) fácil: a programação não é feita por linhas de código, mas sim a partir de junção de blocos de ação :v Terminando essa postagem, gostaria que você, que leu até aqui, desse uma passada pelo "EC²" clicando no link ab