Buscar

N2-Tecnicas_de_Programacao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1) Linguagens estruturadas permitem que informações sejam armazenadas e recuperadas de memórias não voláteis. Porém, elas são dependentes de funções e estruturas exportadas pelo sistema operacional. Dadas as afirmativas a seguir, classifique-as V para verdadeiro e F para falso.
( ) Ponteiros de arquivos (“ FILE *”) devem ser alocados dinamicamente através do uso “ malloc()” antes de serem utilizados.
( ) Ponteiros de arquivos referenciam uma posição de memória mantida pelo sistema operacional que armazena atributos e status dos arquivos manipulados.
( ) Para a manipulação da posição corrente do arquivo podemos usar as funções “ ftell()” e “ fseek()” que devolvem e setam a posição corrente do arquivo, respectivamente.
( ) A função “fread ()” retorna EOF quando chegar ao final do arquivo.
Assinale a alternativa que você julgue ter a sequência correta.
2) Em C standard, uma das funções usadas para a impressão de conteúdo na tela é o printf. Tal comando permite adequar a impressão ao tipo e ao formato da informação a ser exibida. Suponha que o usuário deseja realizar uma impressão no seguinte formato:
 
“Valor da média = 3.21 - valor do caracter 'A' na tabela ASCII = 65 (hexa= 41)”
Supondo que existam as seguintes variáveis instanciadas:
float media=3.21043891;
carac = 'A';
Preencha os espaços do comando com os formatos corretos:
printf(“Valor da média = __ - valor do caracter '__' na tabela ASCII = __ (hexa= __)”,media,carac,carac,carac);
Agora assinale a alternativa que contenha as marcações corretas.
3) Quando construimos aplicações para que sejam executadas a partir do comando de linha (prompt ou console), temos a possibilidade de passarmos informações ao programa. Para tanto, usamos os parâmetros comumente identificados por “argc” e “argv”. Considerando o trecho:
 
 int main(int argc, char *argv[])
 
Analise as afirmativas a seguir, marcando com “V” a(s) verdadeira(s) e, com “F” a(s) falsa(s):
 
( ) caso colocarmos, em nosso código “printf(“%s”,argv[0])”, será impresso o nome do próprio programa.
( ) caso não passemos nenhum parâmetro ao programa, “argv” assumirá o valor 0.
( ) o parâmetro “argv” é uma lista de strings.
( ) o parâmetro “argc” sempre será positivo e maior ou igual a 1.
 
Marque a opção que tiver a sequência que você julgue ser a correta:
4) Um programa consiste em criar uma sequência lógica de instruções de modo que possam ser manipuladas informações representadas na forma de variáveis. Em linguagens tipadas, como é o caso de C/C++, toda variável deve ser declarada associando à um tipo de dados.
Dadas as declarações abaixo em C/C++, assinale com “C” a(s) que você julgue estar corretamente declarada(s) e, com “E” a(s) errada(s):
( ) int a; b;
( ) unsigned char x, y[10];
( ) int a, char b;
( ) int [10] x;
( ) float a; int b;
Assinale a alternativa que contenha a ordem correspondente à sua marcação.
5) A utilização do mecanismo de alocação dinâmica de memória torna o programa escalável pelo fato de que ele pode ser adequar à uma nova realidade da quantidade de informações a serem processadas sem a necessidade de alterações e recompilações de seu código. Para essa questão, suponha o seguinte cenário: Um profissional de desenvolvimento recebeu para implementar, um projeto que envolve notas de alunos de uma faculdade. Porém, cada turma tem um número variável de alunos e cada professor tem o seu próprio método de avaliação, alterando a quantidade de atividades e os pesos relacionados a elas. Sendo assim, qual a melhor forma de implementação para esse problema? Assinale a melhor alternativa dentre as apresentadas a seguir para garantir a escalabilidade do programa.
6) Quando se manipula um arquivo, às vezes temos a necessidade de alterar informações ou incluir novas. Para tanto, funções “ fseek()”, “ fgets()”, “ fputs()”, “ fgetc()” e “ fgets()” podem ser utilizadas. Dentre as alternativas a seguir, assinale V para verdadeiro e F para falso.
( ) a função “ fseek()“ não admite valores negativos para o seu deslocamento mesmo quando utilizada com o parâmetro “SEEK_CUR”;
( ) no caso de gravarmos uma informação no meio do arquivo, a informação será sobrescrita;
( ) no caso de gravarmos uma informação no meio do arquivo, toda a informação abaixo do ponto a receber a nova informação será deslocada;
( ) a função “ fseek()“ admite três pontos de referência para o seu deslocamento: a partir do início do arquivo (SEEK_SET), a partir da posição corrente (SEEK_CUR) e a partir do fim do arquivo (SEEK_END).
Assinale a alternativa que você julgue ter a sequência correta.
7) Em algumas situações, surge a necessidade de agrupar informações para melhor representar uma entidade ou algo da vida real que esteja sendo manipulado pelo programa. Para tanto, pode-se utilizar estruturas de dados heterogêneos, denominadas, em C/C++, como “struct”.
Suponha que se deseja representar uma pessoa cuja data de nascimento é quebrada em outra “struct” (separando dia, mês e ano). Em relação à criação da “struct”, considere o seguinte trecho de código:
 
. . .
typedef struct
{
char nome[30];
struct
{
unsigned char dia, mes;
unsigned int ano;
} nascimento;
} TPessoa;
. . .
TPessoa tp;
. . .
 
Para essa questão, considere as afirmações a seguir:
 
I - não é possível inserir uma estrutura dentro da outra;
II - para se instaciar o dia, deve-se fazer: “tp.nascimento.dia=20; ”;
III - existe um erro de sintaxe pois está faltando o “typedef” antes da segunda ocorrência da palavra “struct”;
IV - para se instanciar o mês, deve-se fazer: “tp.mes=3;”.
 
Assinale a alternativa que contenha a(s) afirmação(ões) que você julgue correta(s).
8) Um programa é constituído por uma sequência de instruções que poderão ser dentre outras, condicionais. Instruções condicionais do tipo “if” envolve uma expressão a ser validada de forma a se proceder a escolha da sequência a ser processada. Para essa questão, suponha a existência de uma variável “med” e outra “freq”. A partir do código abaixo, complete os espaços de forma a seguir a regra de aprovação do aluno, considerando que a nota para a aprovação é 06.0 e a frequência mínima é de 75%.
if((med __ 6) __ (freq __ __)) printf(“Aprovado”);
else printf(“Reprovado”);
Agora assinale a alternativa correta:
9) Uma das manipulações recorrentes sobre vetores ou outras estruturas para o armazenamento de informações na forma de registros é representada pela ordenação. Ordenar significa organizar as informações de acordo com algum critério, como por exemplo, em ordem alfabética ou ordem numérica crescente. Para essa questão, considere o trecho de código abaixo:
#include <stdio.h>
#include <string.h>
int main()
{
char vet[11]="hiedagfbjc",aux;
int i,j;
for(i=0; i<strlen(vet)-1;i++)
for( ___ ; ___ ; ___ )
if(vet[i]>vet[j])
{
aux = ___;
vet[i]=___;
vet[j]=aux;
}
printf("Vetor ordenado: %s",vet);
return 0;
}
Escolha a alternativa que represente a ordem correta dos itens para completar as lacunas do código apresentado.
10) Na linguagem C, encontramos dois tipos de arquivos: os arquivos textuais e os arquivos binários. Nos arquivos textuais, as informações são gravadas como strings, independentes de seu tipo; porém, para tal, devemos usar algumas funções específicas. Para os comandos abaixo, assinale com (T) aquele(s) que serve(m) unicamente para arquivos textuais, com (B) para arquivos binários e, com (A) aquele(s) que serve(m) para ambos.
( ) fwrite()
( ) fputs()
( ) fputc()
( ) fread()
( ) fopen()
Assinale a alternativa cuja ordem você julgue ser correta.

Continue navegando