Usuários online

Mostrando postagens com marcador Ciência da Computação. Mostrar todas as postagens
Mostrando postagens com marcador Ciência da Computação. Mostrar todas as postagens

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.


segunda-feira, 6 de março de 2017

Ciência da Computação - Algoritmos e Estruturas de Dados II - Aula 22/02/2017

LISTAS

Listas lineares sequenciais, Alocação sequencial e Alocação encadeada

O material com o conteúdo da aula está aqui. (Se você baixou esse material antes de 11/03/2017, baixe novamente, pois foi atualizado.)


1ª Avaliação

Nossa avaliação consiste no desenvolvimento de um aplicativo em C/C++ (Pode escolher outra linguagem, como Java, mas avise antes ao professor). A descrição da avaliação, bem como data de entrega está aqui. Este mesmo arquivo também está no SAAC.

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

Métodos de Prova

O material com o conteúdo da aula está aqui.

terça-feira, 21 de fevereiro de 2017

Ciência da Computação - Algoritmos e Estruturas de Dados II - Aula 17/02/2017

Tipos Estruturados de Dados (TAD)

O material com o conteúdo da aula está aqui. Tentem implementar o TAD matriz exemplificado no material e testá-lo. Tente entender como a matriz foi implementada fisicamente como vetor.

domingo, 19 de fevereiro de 2017

Ponteiros em C++

Ponteiros em C++

Alguns alunos têm me procurado para sanar a lacuna dos ponteiros em C/C++. Apesar de já terem feito AEDS I e outras disciplinas que envolvem o uso de ponteiros, eles simplesmente se esqueceram como usá-los ou simplesmente ficou vago quando foram apresentados à eles.

Deem uma olhada nesta página e nos links ao final dela. Acho que não restarão dúvidas quanto ao uso de ponteiros.

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.