Buscar

Biblioteca 1094428

Prévia do material em texto

LISTA DE EXERCÍCIOS 04
TEÓRICOS
1) Ano: 2010 / Banca: FCC / Órgão: TRE-AM / Prova: Técnico Judiciário - Programação de
Sistemas
Na linguagem C++, considere: 
I. O endereço armazenado em um ponteiro deve ser do mesmo tipo que o
ponteiro (ex. um ponteiro para um int não pode armazenar o endereço de um
float). 
II. Exceção à regra apontada em (I) é o ponteiro void. 
III. Não é possível chamar uma função segundo seu endereço, ainda que por
meio de um ponteiro que armazena o endereço de início dessa função. 
Está correto o que se afirma em
a) I, apenas.
b) II, apenas.
c) I e II, apenas.
d) II e III, apenas.
e) I, II e III.
2) Ano: 2004Banca: CESPEÓrgão: TRE-ALProva: Analista Judiciário - Tecnologia da
Informação
A atividade de programação requer conhecimento técnico de diversas formas de
algoritmos e estruturas de controle e de dados. Acerca dos elementos técnicos da
atividade de programação, julgue os itens a seguir.
Um ponteiro definido como um dos elementos de um tipo estruturado de dados pode
apontar para uma instância de dados desse mesmo tipo.
( ) Certo ( ) Errado
3) Ano: 2009 / Banca: CESPE / Órgão: TRE-GO / Prova: Técnico Judiciário - Programação de
Sistemas
Considerando as definições em linguagem C mostradas acima, assinale a opção
correta.
a) A utilização de (char*) é um cast, que converte um tipo de dados em outro.
b) As variáveis px e pc apontam para posições de memória diferentes.
c) É correto afirmar que px + 1 e (*pc) + 1 apontam para as mesmas posições de
memória.
d) Se px é um ponteiro para a variável x de tipo float, a expressão px + 1 se
refere ao byte seguinte na memória, a partir do endereço de x.
4) Ano: 2010 / Banca: CESGRANRIO / Órgão: IBGE / Prova: Analista de Sistemas
Para os recursos presentes na linguagem de programação C, são feitas as afirmativas
abaixo. 
I - Permite acesso de baixo nível através da introdução de código Assembly no
programa C. 
II - A passagem de parâmetros por referência para funções pode ser simulada
através da utilização de ponteiros. 
III - O tipo de dados typedef são estruturas variáveis que permitem que dados
relacionados sejam combinados e manipulados como um todo. 
Está(ão) correta(s) a(s) afirmativa(s)
a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) I, II e III.
5) Ano: 2014 / Banca: UNIRIO / Órgão: UNIRIO / Prova: Analista Tecnologia da Informação -
Desenvolvimento de Sistemas
Sobre as funções, é CORRETO afirmar que
a) na passagem por valor, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste
parâmetro também altera a variável correspondente.
b) na passagem por referência, o parâmetro que vai ser passado na chamada da
função deve ser uma variável, de tal forma que uma alteração de valor neste
parâmetro também altera a variável correspondente.
c) uma variável é dita global quando a sua passagem no momento da chamada
de uma função se dá tanto por valor quanto por referência, enquanto que uma
variável é dita local quando esta passagem se dá, apenas, por valor.
d) na passagem por valor, o parâmetro passado na chamada da função é o
ponteiro para a variável que contém o valor desejado.
6) Ano: 2008 / Banca: ESAF / Órgão: Prefeitura de Natal - RN / Prova: Auditor do Tesouro
Municipal - Tecnologia da Informação
Analise as seguintes afirmações relacionadas a conceitos básicos sobre Programação:
I. Um procedimento é um conjunto de comandos para uma tarefa específica
referenciada por um nome no algoritmo principal, retornando um determinado
valor no seu próprio nome. 
II. Podem-se inserir módulos em um algoritmo. Para isso, pode-se utilizar
"Procedimentos" ou "Funções". As ações das "Funções" e dos "Procedimentos"
são hierarquicamente subordinadas a um módulo principal.
III. Cada "Função" ou "Procedimento" pode utilizar constantes ou variáveis do
módulo principal ou definir suas próprias constantes ou variáveis. 
IV. Uma variável global indica o endereço onde um valor é armazenado na
memória do computador enquanto um ponteiro representa um valor numérico
real.
Indique a opção que contenha todas as afirmações verdadeiras.
a) I e II.
b) II e III.
c) III e IV.
d) I e III.
e) II e IV.
7) Ano: 2006 / Banca: ESAF / Órgão: CGU / Prova: Analista de Finanças e Controle -
Tecnologia da Informação
Analise as seguintes afirmações relacionadas a conceitos básicos de Programação de
Computadores.
I. O escopo de uma variável de programa é a faixa de instruções na qual a
variável é visível. Uma variável é visível em uma instrução se puder ser
referenciada nessa instrução.
II. Um registro é um agregado, possivelmente heterogêneo de elementos, cujos
elementos individuais são identificados por nomes.
III. Um array é um agregado heterogêneo de elementos de dados, cujo elemento
individual é identificado por sua posição em relação ao primeiro.
IV. Um tipo Ponteiro é aquele em que as variáveis têm uma faixa de valores que
consiste em uma string ou coleção de caracteres e um valor especial
denominado Null.
Indique a opção que contenha todas as afirmações verdadeiras.
a) I e II
b) II e III
c) III e IV
d) I e III
e) II e IV
PRÁTICOS
1) Execute o programa abaixo passo a passo no compilador e registre em papel os
endereços alocados para cada variável (inclusive os ponteiros). Observe o que
acontece no decorrer do programa e no final. Tente entender o que o programa faz e
explique porque acontece o erro de execução ao final. 
# include <stdio.h> 
int main () 
{ 
int x, *p, *q, i, k=0; 
q = p = &x; 
for (i=1; i <= 3; i++) 
{ 
scanf ("%d", p); 
p++; 
} 
p--; 
while (p >= q) 
{ 
k = k + *p; 
p--; 
} 
printf ("%d", k); 
} 
Inverta a ordem de declaração das variáveis e observe o que acontece.
2) Uma das utilidades de um ponteiro é de permitir a uma subrotina retornar mais de um
valor para suas computações (se comunicando com variáveis externas a subrotina).
Codifique uma subrotina que receba um número inteiro representando um total de
segundos e o endereço para duas variáveis (também inteiras) para guardar a quantida
de minutos e de horas. A subrotina deve decompor o número de segundos recebidos
em um total de horas e um total de minutos, retornando estes valores através dos
endereços de variáveis recebidos como parâmetro. Codifique também uma função
main que use a subrotina de conversão.
3) Codifique uma subrotina que receba um vetor de inteiros e o endereço de duas
variáveis (também inteiras). O objetivo da subrotina é procurar neste vetor o menor e
maior valor e armazená-los nas variáveis apontadas pelos endereços de memória
recebidos.

Continue navegando

Outros materiais