Usuários online

sexta-feira, 2 de março de 2018

Ciência da Computação - Algoritmos e Estruturas de Dados III - Aula 02/03/2018

Ordenação Buble Sort


Segue o algoritmo que usamos na aula:

#include <iostream>
#include <ctime>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

const int MAX = 10;

int aleatorio(int menor, int maior) {
    return rand() % (maior - menor + 1) + menor;
}

void printV(int V[], int n) {
printf("\nVetor: ");
for(int i = 0; i < n; i++)
printf("%3d ", V[i]);
printf("\n");
}

int bubleSort(int V[], int n) {
int i, j;
int aux, ncomp = 0, ntrocas = 0;

printV(V, MAX);

for(i = 0; i < n - 1; i++)
for(j = i + 1; j < n; j++) {
ncomp++; /* Calcula numero de comparacoes */
if(V[i] > V[j]) {
aux = V[i];
V[i] = V[j];
V[j] = aux;
ntrocas++; /* Calcula numero de trocas efetuadas */
printV(V, MAX);
}
}

printV(V, MAX);
printf("Comparacoes: %d, Trocas: %d\n\n", ncomp, ntrocas);
}

void inicializa(int V[], int n) {
srand((unsigned)time(0)); //para gerar números aleatórios reais.
for(int i = 0; i < n; i++)
V[i] = aleatorio(100, 500);
}

int main(int argc, char** argv) {
int vetor[MAX];

inicializa(vetor, MAX);
//printV(vetor, MAX);
bubleSort(vetor, MAX);
//printV(vetor, MAX);

return 0;
}

O algoritmo foi desenvolvido usando o compilador Dev-C++ configurado para C++.

sexta-feira, 31 de março de 2017

Ciência da Computação - POSCOMP - Aula 29/03/2017

Soluções Comentadas de Algumas Questões do POSCOMP 2014, 2015 e 2016

Em uma aula especial hoje, comentei algumas questões de lógica e matemática discreta e também questões de autômatos finitos.

O conteúdo da aula pode ser baixado aqui.


quinta-feira, 23 de março de 2017

Ciência da Computação - Matemática Discreta - Aula 22/03/2017

1º TVC

Hoje tivemos nosso primeiro Teste de Verificação de Conhecimentos.

Infelizmente alguns alunos sequer tentaram responder algumas questões.

Este teste valeu 25 pontos.

Semana que vem já teremos os resultados.

LinkWithin

Related Posts Plugin for WordPress, Blogger...

NOSSO OBJETIVO

OBJETIVO

Este blog será usado para divulgação de minhas ideias, notícias sobre tecnologia, disponibilização de links para download de materiais diversos (incluindo materiais didáticos -- que poderão ser usados em minhas aulas e/ou cursos). Gostaria de DEIXAR BEM CLARO que quaisquer materiais disponibilizados através deste blog são, tão somente, para acompanhamento de aulas e/ou cursos, e não constituem de modo algum, aulas na modalidade "ensino à distância" (EAD). Alunos têm total acesso aos materiais disponíveis, mas somente como tutoriais passo a passo. Apostilas disponibilizadas através deste blog não são materiais obrigatórios em disciplinas cursadas ou cursos ministrados.

RESPONSABILIDADE

O autor deste blog não é responsável pelo mau uso, intencional ou não, de qualquer código de programa disponibilizado aqui. Os códigos de programas disponíveis neste blog para download é e serão sempre, e tão somente, para uso didático durante o aprendizado. Seja bem-vindo.