sexta-feira, 29 de dezembro de 2017

Problema das operações sobre um vetor de structs


Neste programa em C abaixo, o objetivo é implementar funções de um programa que gerencia uma base de dados com registros acadêmicos de alunos contendo as seguintes informações para cada aluno:  RA, nome do aluno e telefone.

As operações que poderão ser realizadas sobre a base de dados são i) adição/edição de um aluno; ii) busca de um aluno; iii) remoção de um aluno; e iv) impressão de um registro. As funções para estas operações estão em um arquivo separado da função main. Neste laboratório, não há a necessidade de se preocupar com a entrada, apenas com a manipulação do vetor passado por parâmetro.

quinta-feira, 28 de dezembro de 2017

Problema da alocação dinâmica de memória com operações sobre conjuntos


Neste laboratório você deve implementar funções que realizam operações sobre conjuntos com tamanho máximo indeterminado.

Como o tamanho máximo dos conjuntos são indeterminados, usaremos alocação dinâmica para alterar o tamanho dos conjuntos em tempo de execução. Os conjuntos serão representados por um vetor e dois inteiros, tamanho e capacidade. O tamanho indica a quantidade de elementos que o conjunto contém e capacidade indica o tamanho do vetor alocado para o conjunto. Desta forma o conjunto consegue armazenar até capacidade elementos. Se o vetor ficar cheio e novos elementos precisarem ser inseridos no conjunto, temos que realocá-lo para um vetor maior. De forma similar, se muitos elementos forem removidos de um conjunto, o vetor alocado deverá ser diminído para ocupar menos espaço em memória.

quarta-feira, 27 de dezembro de 2017

Problema do Rational Tangle Dance - ocorrência de padrões


O objetivo deste laboratório é usar funções para manipular strings por meio de um programa que consiga prever o estado final de duas cordas (separadas ou emaranhadas) após a execução de uma sequência de movimentos '+', '-' e '*'.

terça-feira, 26 de dezembro de 2017

Problema da ordenação, busca, remoção e inserção de elementos de um vetor


O objetivo deste programa em C abaixo é: dada uma lista inicial de RAs de alunos matriculados em uma turma, realizar as seguintes operações: p - Imprimir; c - Ordenar crescentemente; d - Ordenar decrescentemente; b - Realizar uma busca binária; i - Inserir; e r - Remover.

segunda-feira, 25 de dezembro de 2017

Problema de operações sobre conjuntos


O objetivo do programa em C abaixo é, dada uma entrada que consiste de operações a serem realizadas sobre dois conjuntos nomeados de A e B, executar essas operações.

Os conjuntos iniciam vazios e cada linha da entrada descreve uma operação a ser realizada sobre um ou entre os dois conjuntos. Cada operação deve ser realizada através de uma função chamada pela main, que se encontra em um arquivo separado; deste modo, funções em outro arquivo deverão ser criadas e deverão ser capazes de realizar operações referentes a: pertence, contido, adição, subtração, união, interseção, diferença e complemento, todas obedecendo a descrição referente dada no comentário que a antecede.

sexta-feira, 22 de dezembro de 2017

Canais, playlists e vídeos do YouTube e apostilas para estudar para o ENEM e vestibulares


A seguir você encontra uma seleção de canais e playlists do YouTube para estudar para o ENEM e vestibulares. Usei a maioria deles como parte dos meus estudos. A sequência está dividida em matérias, e você pode ir direto a cada uma delas também clicando nos links abaixo.

Problema de apagar, inverter e substituir palavras em um texto


O objetivo deste programa programa em C é realizar operações com palavras a fim de editar um texto (string ou array) a partir de comandos que podem ser: D - Apagar; I - Inverter (a ordem dos caracteres); R - Substituir; e Q - Sair do programa. Sendo, estas (D, I, R), operações com palavras. As palavras têm caracteres maiúsculos e minúsculos considerados iguais (ou seja, o programa é case insensitive).

A entrada consiste em um texto de até 1000 caracteres, e para cada operação o texto alterado deve ser exibido na tela como saída, e, antes de todas as outras saídas, também o texto original deve ser mostrado.

quinta-feira, 21 de dezembro de 2017

Alterar CSS com JavaScript


No meu blog, recentemente implementei a troca da fonte para aquelas pessoas que possuem algum grau de dislexia. Com a nova ação, basta o usuário clicar no link e a fonte do blog muda para outra que eu havia instalado, a fonte aberta "OpenDyslexic". Anteriormente, eu já havia implementado a função de aumentar e diminuir a fonte com duas imagens de lupa, como você pode ver em algum canto da tela ou do artigo.

Buscando trabalhos já feitos, pensei se nada melhor também seria compartilhar este, afinal tive de fazer algumas pesquisas para conseguir essas funcionalidades, e como o código abaixo reúne vários métodos diferentes, cada um apropriado a um cenário, é fácil ele ser útil a outras pessoas.

quarta-feira, 20 de dezembro de 2017

William Edward Deming - Breve história e Ciclo PDCA


William Edward Deming, um dos maiores gerenciadores de qualidade da história que gostava de ser chamado de consultor em estudos estatísticos.

Deming, com a sua formação como estatístico, ficou reconhecido durante a segunda guerra mundial por ajudar os Estados Unidos na melhoria dos seus materiais bélicos, mas ficou sendo mais reconhecido ainda após a segunda grande guerra pelo seu trabalho no Japão, a partir de 1950. Lá, para ajudar a indústria japonesa, ele ensinou altos executivos como melhorar projeto, qualidade de produto, teste e vendas (este último por meio dos mercados globais) através de várias meios, como a aplicação de métodos estatísticos como a análise de variantes e teste de hipóteses.

Deming realizou contribuições significativas para o Japão, fazendo com que este país fosse altamente reconhecido pela fabricação de produtos inovadores e de alta qualidade. É considerado o estrangeiro que gerou maior impacto sobre a indústria japonesa no século XX.

Problema de encontrar palavras-chave num texto ou string


O objetivo deste programa em C abaixo é decodificar o significado de um texto secreto que é mandado pela equipe que fornece informações de ataque para a base, que controla os canhões.

Dado um texto (uma string), deve-se percorrê-lo para encontrar quais palavras-chave estão presentes e informar a direção e elevação, de acordo com seus significados, para que o canhão da base seja direcionado. Pode-se haver mais de um par de dados, porém sempre estando na ordem: uma direção seguida de uma elevação.

Observações:
O programa deve ser case insensitive, ou seja, deve entender a letra maíuscula como igual à sua correspondente minúscula.

Palavras-chaves:
Direção
mercurio = N
venus = NE
terra = L
marte = SE
jupiter = S
saturno = SO
urano = O
netuno = NO

Elevação do canhão
verde = 30
amarelo = 45
vermelho = 60

Problema da soma e subtração com números gigantes - overflow


O objetivo deste programa em C abaixo é fazer as operações de soma e subtração entre dois inteiros positivos grandes, dando como resultado da operação outro inteiro com até 30 dígitos.

O programa ainda possui um controle de erro para verificar se o valor do resultado tem mais de 30 dígitos, além do possível sinal de negativo ('-').

A entrada deve ser, por exemplo:
81
-
132

E a saída, nesse caso, deve ser:
000000000000000000000000000081
000000000000000000000000000132
-51

Problema de desenhar quadrado, triângulo e losango na tela a partir da altura


O objetivo deste programa em C abaixo é obter um valor para a altura de três possíveis formas geométricas e desenhar a forma escolhida na tela dentro de uma moldura.

As formas geométricas possíveis são: quadrado, triângulo e losango. Como diz o enunciado, a entrada consiste (1) num inteiro que será a altura da forma geométrica e (2) seu tipo, e a saída deve ser um desenho dessa forma, dando atenção a uma moldura que deverá ser criada entorno do objeto.

terça-feira, 19 de dezembro de 2017

Problema dos ternos possíveis


O objetivo do programa em C abaixo é calcular todos os ternos possíveis dado um valor a, que refere-se ao valor de um dos catetos do triângulo retângulo. A ideia é utilizar laços encaixados.

Problema de realizar a dobra com sua espaçonave


Neste problema em C abaixo não só devemos calcular a possibilidade de realizar uma dobra da nossa espaçonave, verificando antes se temos tempo e combustível necessários, mas também considerar que nossa nave está perdendo combustível incessantemente e atualmente está vazia, porém sendo reabastecida em movimento; logo ela deve realizar a dobra assim que seu tanque tiver o necessário de combustível antes que o tempo acabe.

A entrada consiste no tempo disponível e na quantidade de combustível necessária para realizar a dobra. Em seguida temos uma série de valores de entrada, um valor para cada unidade de tempo, que significa o fluxo de combustível no tanque.

Na saída deve-se dizer se a dobra foi realizada ou não e em que tempo.

Problema do mínimo, máximo e média na entrada dos dados


O objetivo do programa em C abaixo é ler uma lista de números (quantidade definida pelo usuário) e desta lista mostrar no final do programa o menor valor, o maior valor e a média aritmética dos valores. Tudo isso usando o for e sendo realizado durante a inserção dos valores.

Problema do balanceamento da carga


O objetivo do programa em C abaixo é conferir se dados quatro valores é possível agrapá-los em dois grupos de igual valor. Sendo eles os valores/pesos de 4 containers, determinar se é possível estabelecer um balanceamento da carga perfeito, ou seja, se é possível dividir a carga na parte traseira e dianteira da espaçonave de tal forma que o peso na parte traseira seja igual ao peso na parte dianteira.

Problema do caminhão de reabastecimento


O objetivo deste programa em C abaixo é verificar se o combustível existente no cilindro (de diâmetro d e comprimento h) do caminhão de João é capaz de suprir as demandas dos postos A, B e C; estes recebendo combustível se sua demanda for menor ou igual ao que há no caminhão.

Neste problema, João passa do posto A para o posto B e depois para o posto C, sempre nesta sequência.

Problema do tempo para ativar o micro explosivo


O objetivo do programa em C abaixo é calcular quanto tempo esperar para ativar o micro explosivo de tal forma que a força de empuxo resultante desvie a bomba para atingir a base de reabastecimento do Império.
Entrada: altura; velocidade de queda da bomba; distância da base rebelde até a base do Império; força de empuxo do micro explosivo.

Saída: tempo, em segundos, para acionar o micro explosivo (três casas decimais).

Problema da distância percorrida pelo taxista


O objetivo do programa em C abaixo é calcular quanto um passageiro terá que pagar para uma determinada viagem a um taxista em um mapa em que os quarteirões possuem as mesmas medidas e as ruas são paralelas e perpendiculares uma as outras.

Entrada: valor do pagamento inicial; as coordenadas de origem e de destino do passageiro; a taxa por cada unidade de distância percorrida.

Saída: valor a ser pago pelo passageiro através da fórmula vi + d*t.