Você está na página 1de 3

FACULDADE BRASILEIRA

Recredenciada pela Portaria/MEC No 783 de 07.08.2015 – D.O.U. de 10.08.2015

ALGORITMOS II

Ementa: Programação de computadores, Dados, Variáveis, Expressões Lógicas, Expressões


condicionais. Tipos de dados. Estrutura de Controle de Fluxo de Programação. Algoritmos.
Estruturas de dados homogêneas e registros. Estudo da linguagem C.

Bibliografia básica:
1. ASCENCIO, Ana Fernanda G.; CAMPOS, Edilene A.V. Fundamentos da programação de computadores:
algoritmos, Pascal, c e c++. São Paulo: Prentice Hall. 2003.
2. SALVETTI, Dirceu Douglas; BARBOSA, LisbeteMadsen. Algoritmos, São Paulo: Pearson Makron Books, 1998.
3. FARRER, Harry. Algoritmos estruturados. 3ª ed. Rio de Janeiro: LTC, 1999.

Bibliografia complementar:
1. PEREIRA, Silvio do Lago. Estruturas de dados fundamentais – conceitos e aplicações. 12ª ed. Rio de Janeiro:
Érica, 2008.
2. TANENBAUM, Aaron M, LANGSAM Y. e AUGESTEIN, M. J. Estruturas de dados usando C, Makron Books,
Brasil, 1995.
3. LANGSAM, Y; AUGESTEIN, M. J. Estruturas de dados usando C. São Paulo: Makron Books, 2004.
4. PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estruturas de dados. 1ª ed. Pearson Brasil, 2004.
5. FEDELI, Ricardo D.; POLLONI, Enrico G. f.; Fernando E. Introdução à ciência da computação. Ed. Thompson,
2003.

A atividade avaliativa será contemplada na resolução dos exercícios abaixo


Questão 1 – Um programa pode ter várias funções com nomes distintos, onde cada função possui inúmeros
parâmetros de entrada. No entanto, o retorno de uma função (ou o seu valor de saída) deve ser único. Com base
nessa afirmação:
a) Cite 4 tipos possíveis de saída para uma função desenvolvida na linguagem C.
b) Como se pode desenvolver um programa que tenha 4 variáveis de saída? Cite duas formas.

Questão 2 – Escreva uma função em C (apenas a função) que receba como parâmetro de entrada um vetor de
inteiros com 10 elementos e retorne a média dos valores do vetor.

Questão 3– Considere o código a seguir. Esse código apresenta, pelo menos, 5 erros. Identifique-os explicando
detalhadamente cada erro. Corrija o código e explique cada linha, detalhadamente.

Questão 4 – A Funcao_A descrita na Figura 1 é chamada na rotina principal da seguinte forma:


FACULDADE BRASILEIRA
Recredenciada pela Portaria/MEC No 783 de 07.08.2015 – D.O.U. de 10.08.2015

Funcao_A(Vetor,10);

Onde Vetor = {20, 40, 2, 7, 10, 15, 3, 1, 0, 9};

O que a Funcao_A faz? Como fica o formato de Vetor após fazer:


Funcao_A(Vetor,10); ?

Figura 1

Questão 5 – Escreva uma função recursiva que calcule a soma dos dígitos de um inteiro estritamente
positivo n. A soma dos dígitos de 132, por exemplo, é 6.

Questão 6 - Escreva uma função que receba um número inteiro que representa um intervalo de tempo
medido em segundos e devolva o correspondente número de horas e minutos (por exemplo, converte 3660
segundos em 1 hora e 1 minuto). Use uma struct como a seguinte:
struct hm {
int horas;
int minutos;
};
Questão 7 – Qual o valor armazenado na variável “ c “ ao fim da execução dos seguintes comandos? (O
que o programa imprime no terminal)
int *p;

int *q;

int a = 1;

int b = 2;

int c = 3;

p = &a;

q = &b;

c = *p + *q;
FACULDADE BRASILEIRA
Recredenciada pela Portaria/MEC No 783 de 07.08.2015 – D.O.U. de 10.08.2015

printf(“%d”,c);

Questão 8 – Crie uma função recursiva que receba um número inteiro e retorne o seguinte cálculo:
1 * 2 * 3 * .. * N

Questão 9 – Faça uma função que receba por parâmetro um arquivo texto e mostre na tela quantas
linhas pares possui a letra E esse arquivo possui.

Questão 10 – Descreva o funcionamento do algoritmo InsertionSort

Questão 11 – Para um algoritmo cuja T(n) = 2n2 + 5n + 10n3, defina o limite superior (O(f(n))) deste
algoritmo

Questão 12 – Escreva um algoritmo capaz de realizar uma ordenação em O(n).

Você também pode gostar