SóProvas



Questões de Conceitos básicos de programação


ID
8197
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Programação
Assuntos


Analise as seguintes afirmações relacionadas a noções básicas de programação:

I. O interpretador lê o programa e executa comando após comando, até que encontre um erro, após o qual pára, mostrando a linha onde o erro foi encontrado. É possível ver parte do programa funcionando e mostrando resultados, mesmo sem estar completo.

II. A programação estruturada é uma técnica de programação que permite estabelecer uma correspondência

perfeita entre o algoritmo, o diagrama de programação (fluxograma) e a listagem de um programa.

III. Em programação orientada a objetos, diz-se que uma classe em particular de um dado objeto é uma instância desse objeto.

IV. O processo de compilação não gera novo código e o próprio programa escrito em linguagem de alto nível é colocado em execução. Durante a execução, o compilador converte cada instrução para linguagem de máquina e a executa.

Indique a opção que contenha todas as afi rmações verdadeiras.

Alternativas
Comentários
  • I. O interpretador lê o programa e executa comando após comando, até que encontre um erro, após o qual pára, mostrando a linha onde o erro foi encontrado. É possível ver parte do programa funcionando e mostrando resultados, mesmo sem estar completo.
    CORRETO

    II. A programação estruturada é uma técnica de programação que permite estabelecer uma correspondência perfeita entre o algoritmo, o diagrama de programação (fluxograma) e a listagem de um programa.
    CORRETO

    III. Em programação orientada a objetos, diz-se que uma classe um objeto em particular de um dado objeto uma classe é uma instância desse objeto dessa classe.
    ERRADO

    IV. O processo de compilação não gera novo código e o próprio programa escrito em linguagem de alto nível é colocado em execução. Durante a execução, o compilador converte cada instrução para linguagem de máquina e a executa as executa de uma só vez.
    ERRADO
  • III --> Objeto é uma instância de uma classe;

    IV --> Compilação gera um arquivo executável em código binário.


ID
10453
Banca
ESAF
Órgão
CGU
Ano
2006
Provas
Disciplina
Programação
Assuntos

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 identifi cados por nomes.

III. Um array é um agregado heterogêneo de elementos de dados, cujo elemento individual é identifi cado 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.

Alternativas
Comentários
  • Item correto Letra A

    item III - errado - Um array é um agregado homogêneo e não heterogêneo de elementos de dados cujo elemento individual é identificado por sua posição no agregado em relação ao primeiro.
  • Acho que as carinhas Questão fácil Questão difícil Questão médioque ficam do lado do "Imprimir" deveriam ser invertidas, quanto mais dificil a questão, mais feliz ela ficaria se você acertasse, e não o contrário...

ID
10456
Banca
ESAF
Órgão
CGU
Ano
2006
Provas
Disciplina
Programação
Assuntos

Analise as seguintes afirmações relacionadas a conceitos básicos de Programação de Computadores.

I. Uma instrução iterativa faz com que uma instrução ou uma coleção de instruções seja executada zero, uma ou mais vezes.

II. Cada subprograma tem um único ponto de entrada e o controle sempre retorna ao chamador quando a execução do subprograma é concluída.

III. Quando um parâmetro é passado por referência, o valor do parâmetro real é usado para inicializar o parâmetro formal correspondente, que, então, age como uma variável local no subprograma.

IV. O encapsulamento é uma estrutura de dados que consiste em um número inteiro e uma fila que armazena descritores de tarefas. O conceito de encapsulamento consiste na colocação de proteções em torno do código que acessa a estrutura para oferecer acesso limitado a uma estrutura de dados.

Indique a opção que contenha todas as afirmações verdadeiras.

Alternativas
Comentários
  • III --> O valor do parâmetro é do endereço e não do valor;

    IV --> encapsulamento é um conceito da Programação O.O para proteger o acesso as variáveis de uma classe. Assim, as variáveis da classe só podem ser acessadas por seus métodos e não diretamente pelos atributos.

  • ლ(ಠಠლ) 


ID
16858
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Programação
Assuntos

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.

Alternativas
Comentários
  • Pode ser utilizado esse mecanismo para implementar filas encadeadas, em que cada elemento da fila possui um ponteiro para o próximo.
  • Gabarito Certo

    Em programação, um ponteiro ou apontador é um tipo de dado de uma linguagem de programação cujo valor se refere diretamente a um outro valor alocado em outra área da memória, através de seu endereço. Um ponteiro é uma simples implementação do tipo referência da Ciência da computação.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
17914
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Programação
Assuntos

Em relação a métodos de chamada de sub-rotinas, pode-se afirmar que chamadas por

Alternativas
Comentários
  • Na chamada por valor, a expressao passada como argumento e avaliada, e o valor resultante e amarrado a variavel correspondente na fucao (frequentemente pela copia do valor para uma nova posicao de memoria). Se a funcao ou procedimento e capaz de assinalar valores a seus parametros, somente a copia local e assinalada – ou seja, qualquer coisa passada para uma chamada de funcao nao e alterada no escopo do chamador quando a funcao retorna. Na chamada por referencia, a funcao recebe uma referencia implicita ao argumento, em vez de uma copia de seu valor. Isso tipicamente significa que uma funcao pode modificar o argumento – algo que vai ser vista pelo chamador. Dessa forma, a chamada por referencia tem a vantagem de uma maior eficiencia de trempo e espaco (os argumentos nesse caso nao precisam ser copiados), assim como um potencial de maior comunicacao entrea funcao e o chamador (desde que a funcao retorna a informacao usando os argumentos de referencia), mas a desvantagem e que a funcao deve frequentemente tomar passos adicionais para “proteger” os valores que precisa passar para outras funcoes.
  • Só complementando o comentário do colega...

    Passagem por Referência

    Sempre que possível é recomendável utilizar a forma de passagem por valor, para evitar "efeitos colaterais", mas há situações onde esses efeitos são desejáveis, por exemplo, quando desejamos criar uma função que retorne mais de um valor. As funções que vimos até agora, seno, cosseno, potencia, fatorial, etc, só devolvem um valor, mas que outras funções, que trabalhem com números imaginários por exemplo, precisam retornar 2 valores. Por exemplo, tente escrever uma função que retorne o quadrado de um número imaginário.

    Poderíamos fazer uma função para retornar apenas a parte real, e outra para retornar apenas a parte imaginária. Mas o C permite criar uma função que retorne os dois valores simultaneamente. Observe a seguinte função:

    void complexo2 (float *r, float *t){   float real;   real = (*r * *r) - (*t * *t);   *t = 2 * *r * *t;   *r = real;}

    Funções do tipo void como definidas acima correspondem a funções que não retornam um valor. No entanto, o símbolo '*' na definição dos parâmetros real e imaginário da função complexo2 indicam que esses parâmetros PODEM ser modificados dentro da função, ou seja, alterações que esses parâmetros sofrerem serão sentidas FORA da função, que correspondem aos efeitos colaterais que NÃOO OCORREM quando os parâmetros são passados por valor (sem o uso do caractere '*').

    Fonte: http://www.ime.usp.br/~elo/IntroducaoComputacao/Funcoes%20passagem%20de%20parametros.htm

    O caractere "*" é definido na linguagem C como sendo ponteiro. Ele é responsável pela passagem por referência, ou seja, irá apontar para o endereço de memória que a variável encontra-se. Qualquer alteração surtirá efeito diretamente neste endereço.


ID
27466
Banca
FCC
Órgão
TRE-SE
Ano
2004
Provas
Disciplina
Programação
Assuntos

Considere:

I. scripts são pequenos programas criados para serem executados em um interpretador e, geralmente, não precisam ser convertidos em um arquivo binário antes de serem executados.
II. No arquivo de lote, os dados de entrada são coletados em grupos, ou lotes, e processados em seqüência por um ou mais jobs.
III. Comparado ao processamento online, o processamento batch costuma se mostrar mais eficiente nos casos de operações rotineiras de baixo volume.
IV. Script é uma descrição geral de qualquer programa escrito em linguagem compilada.

É correto o que se afirma APENAS em

Alternativas
Comentários
  • Gabarito A

    Processamento batch, no contexto de sistemas operacionais, é um termo referente a um processamento de dados que ocorre através de um lote de tarefas enfileiradas, de modo que o sistema operacional só processa a próxima tarefa após o término completo da tarefa anterior.

     

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • a-

    scripts sao interpretados e nao compilados. Batch surgiu na 2° geração, na qual os compuatoadores tinham alto custo; a fim de dirimir esse obstaculo, foi necessario implementar processamento em lotes - batch.

  • Item 1 - correto

    Item 2 - correto

    Item 3: Errado

    SISTEMAS “BATCH”, TAMBÉM CONHECIDOS COMO SISTEMAS “EM LOTE”.

    Foram os primeiros sistemas multiprogramáveis a serem implementados, onde os dados de entrada são cole-

    tados em grupos, ou lotes, também conhecidos por “Jobs” (tarefas) e periodicamente processados em seqüência. A 

    principal vantagem do processamento batch, é que este costuma se mostrar mais eficiente nos casos de operações 

    rotineiras de alto volume de dados

    Item 4: errado

    Próprio item 1 responde.

    Linguagens de script são frequentemente interpretadas (ao invés de compiladas)


ID
81553
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em subprogramação,

Alternativas
Comentários
  • "Chamada por valorChamada por valor é uma das estratégias de avaliação mais comuns, usada em linguagens como C e Scheme. Na chamada por valor, o argumento é avaliado e o valor de resultado é vinculado à variável correspondente na função, copiando o valor em uma nova região de memória. Se a função ou procedimento é capaz de atribuir valores a seus parâmetros, apenas a cópia local é atribuída, ou seja, nada que for passado como argumento de uma chamada de função é modificado, após o valor de retorno da função.Chamada por valor não é uma simples estratégia de avaliação, mas sim uma familia de estratégias de avaliação onde o argumento de uma função é avaliado antes se ser passado para a função.[editar] Chamada por referênciaNa avaliação de chamada por referência, uma função recebe uma referência implícita como argumento, em vez de uma cópia do seu valor. Isto significa que a função pode modificar o argumento. A chamada por referência tem a vantagem de ter um maior espaço de tempo e de eficiência, bem como o potencial de maior comunicação entre a função e quem a executou. Apesar disto, a desvantagem da chamada por referência é que a função necessita de passos especiais para proteger os valores que pretende passar a outras funções."Fonte: http://pt.wikipedia.org/wiki/Estratégia_de_avaliaçãoAchei que a resposta seria e). Alguém sabe por que não?
  • Concordo com o Francisco, acho que a resposta deveria ser letra E.Passagem por valor é o envio do conteúdo para o procedimento e não o endereço, ou seja, a referência ao objeto ou variável.Na opcão B coloca que a existência de parâmetros no procedimento é essencial, coisa que não é verdade em procedimentos de ação para processamento sem parâmetros.
  • Acho que alternativa E é incorreta, pois na passagem por valor não existe relação, pois uma cópia do parâmetro é feita.Com relação a alternativa B, ela também se aplica em métodos sem parâmetro pois uma lista pode ser vazia.
  • a) na modularização de um programa, as partes que o compõe podem ser desenvolvidas por diferentes equipes, sem necessidade de estabelecimento prévio de padrões de programação.ERRADO. A primeira parte está certa, a segunda está incorreta. É necessário estabelecer padrões.b) um identificador, uma lista de parâmetros para possibilitar a comunicação com outros procedimentos e as ações que nele serão executadas constituem a essência da criação de um procedimento.CORRETO. Ele parece tentar definir uma assinatura de método ainda que de forma tosca.c) um objeto é dito global quando sua definição estiver dentro de um procedimento ou quando for declarado como parâmetro formal do procedimento.ERRADO. Um objeto é dito global quando sua visibilidade e escopo alcançam todos os métodos do programa.d) na passagem de parâmetros por referência, o parâmetro real é passado para o parâmetro formal, fazendo com que todas as ações do procedimento manipulem somente as referências, evitando a alteração do valor original.ERRADO. Quando ocorre a passagem por referência a um método o método altera diretamente o que está armazenado no endreço de memória e com isso o valor original é alterado.e) na passagem de parâmetros por valor, a relação existente entre os parâmetros formal e real está no conteúdo dos parâmetros e não em seu endereço.CORRETA. Ao passar por valor o que ocorre é uma `cópia` da variável original de forma a que suas operações são apenas sentidas dentro do método. O endereço original daquela variável passada por valor não se altera. O que pode causar celeuma nessa questão é a palavra relação, já que não há relação em nível de programação entre eles, o que existe é uma tentativa de comparação na explicação.
  • Creio que a resposta é a letra 'E', pois a letra 'B' afirma que parâmetros são a essência de um procedimento, informação que não condiz, pois podemos ter procedimentos que não recebem parâmetros, ou seja, não é originário de um procedimento a passagem de parâmetro. Sendo assim, a letra 'E' referência perfeitamente o que seria a passagem de parâmetro por valor, onde há a cópia de um conteúdo para o parâmetro, por isso, mesmo que esse valor passado ao parâmetro seja alterado dentro da função ou procedimento, o valor originário não será alterado, a menos que o retorno da função seja atribuído a este.

ID
118627
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Na subprogramação, sobre objetos locais, considere:

I. Um objeto é dito local quando sua definição estiver dentro de um procedimento, ou quando for declarado como parâmetro formal do procedimento.

II. Um objeto local só é visível dentro da unidade onde foi declarado.

III. Objetos locais são aqueles declarados em unidades mais externas, podendo ser referenciados em unidades mais internas.

Está correto o que se afirma APENAS em

Alternativas
Comentários
  • parametro formal IN e OUT

  • Analise da questão

    1) Um objeto é dito local quando sua definição estiver dentro de um procedimento, ou quando for declarado como parâmetro formal do procedimento. (Correto).

    II. Um objeto local só é visível dentro da unidade onde foi declarado. (Correto)

    III. Objetos locais são aqueles declarados em unidades mais externas, podendo ser referenciados em unidades mais internas. (Errado - Objetos Globais são aqueles declarados em unidades mais externas, podendo ser referenciados em unidades mais internas)


ID
118660
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Permitem escrever trechos de código da linguagem usada na página:

Alternativas
Comentários
  • Na tecnologia JavaServer Pages (JSP), um scriptlet (que vem da palavra em inglês script, que significa "roteiro" ou tecnicamente falando, um pedaço de código em linguagem scrip) é um pedaço de código Java embutido em um código JSP.

  • Questão sem o mínimo de contextualização.

    :/

  • sem lógica


ID
118810
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2010
Provas
Disciplina
Programação
Assuntos

No contexto de subprogramação, é correto afirmar sobre a recursividade e a passagem de parâmetros:

Alternativas
Comentários
  • A resposta certa não seria a letra E?

    A letra A está errada quando afirma precisar declarar os parâmetros para se criar um procedimento.
  • Olá pessoal,

    Alguém poderia por favor explicar as alternativas desta questão, também fiquei em dúvida a respeito da lista de parâmetros da letra "A".

    Obrigado
  • Acredito que o erro da E é que não é uma característica típica da recursão..

  • Meu entendimento é que a letra A é realmente a correta, pois mesmo que presuma a obrigação de uma lista de parâmetros, não  necessariamente está obrigando a lista ter algum elemento, podendo não haver parâmetros, que encaixa com a ideia de um procedimento sem parâmetros.

    Sobre a letra E , o que me fez a encarar como errada foi inferir a possibilidade de ser algo determinístico e quantificado, quando na verdade não é. Por isso que em algumas linguagens ocorre o stackoverflow quando uma recursão não é bem programada.

  • Precisa de parâmetro no procedimento porque um procedimento sem parâmetro se torna uma função.

  • Essa questão me pegou devido a alternativa A ter uma lista de parâmetros, algo que não é obrigatório, mas que porém um procedimento pode conter sim uma lista de parâmetros ou não.

    E o que o Diogo Soares citou não trata-se de uma diferença entre um procedimento e função. Uma função e procedimento podem ou não ter parâmetros, agora um procedimento não pode retornar valor caso ele retorne será uma função. Para mais informações: http://www.inf.pucrs.br/~fldotti/lapro1/prfun.htm


ID
119203
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre as linguagens de programação, é correto afirmar:

Alternativas
Comentários
  • A) ERRADA - São os compiladores que convertem para linguagem de máquina, não os interpretadores.

    B) CORRETA

    C) ERRADA - A codificação dos comandos em linguagem de baixo nível são determinados pelo hardware.

    D) ERRADA - Pode-se escrever em qualquer linguagem desde que exista uma maneira de se converter essa linguagem em linguagem que a máquina "compreenda".

    E) ERRADA - A portabilidade depende das arquiteturas envolvidas.
  • Marquei B por falta de opção. Nem toda linguagem alto nível EXIGE um compilador. Temos as interpretadas.

  • Gabarito errado, interpretador também converte para linguagem de máquina senão como é que executa?

  • A alternativa B não está totalmente correta, apesar de ser o gabarito. A conversão para a linguagem de máquina (0 ou 1) é feita pelo montador e não pelo compilador.


ID
120661
Banca
FCC
Órgão
SERGAS
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em relação a noções básicas de programação é correto afirmar:

Alternativas
Comentários
  • C) CORRETOcomentários sobre as assertivas incorretas:A) selection sort é um algoritmo de ordenação, que tem como função passar sempre o menor vetor para a PRIMEIRA POSIÇÃO, de tal forma que o elemento de MENOR valor ocupe a primeira posição;B) é o contrário: um objeto em particular de uma dada CLASSE é uma instância dessa CLASSE. Exemplo: um livro em particular, é uma instância da CLASSE LIVROS;D) durante a compilação, o compilador NÃO executa da cada instrução. A execução das instruções dará-se apenas quando o programa executável for colocado para "rodar"..;E) Encapsulamento vem de encapsular, que em programação orientada a objetos significa separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações.Para exemplificar, podemos pensar em uma pessoa (usuário) utilizando um liquidificador (sistema). O usuário não necessita conhecer detalhes do funcionamento interno do sistema para poder utilizá-lo, precisa apenas conhecer a interface, no caso, os botões que controlam o liquidificador.fonte wikipedia.Para se alcançar o encapsulamento, NÃO necessariamente todos os atributos e métodos serão públicos. Ao contrário, os detalhes do funcionamento interno dos métodos serão protegidos, ou seja, atributos e métodos internos serão do tipo "private"
  • C)Uma árvore binária ou é uma árvore vazia ou tem um elemento distinto, chamado raiz, com dois ponteiros para duas estruturas diferentes, denominadas subárvore esquerda e subárvore direita.

    "com dois ponteiros para duas estruturas diferentes," fica esquisito, pois o nó raiz de uma árvore possui a mesma estrutura de dados de suas subarvores esquerda e direita. Por isso, um nó raiz aponta para duas estruturas iguais ao nó.

ID
126193
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Programação
Assuntos

Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio. Todo procedimento, recursivo ou não, deve possuir pelo menos uma chamada proveniente de um local exterior a ele. Essa chamada é denominada

Alternativas
Comentários
  • Recursividade é um termo usado de maneira mais geral para descrever o processo de repetição de um objeto de um jeito similar ao que já fora mostrado.
    Fonte: Wikipédia

ID
126460
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Programação
Assuntos

Analise as seguintes afi rmações relacionadas a conceitos básicos de programação:

I. Na programação Orientada a Objetos, um método é um modelo usado para defi nir vários objetos com características semelhantes.
II. As pilhas e fi las são conjuntos dinâmicos nos quais o elemento removido do conjunto pela operação de DELETE é especifi cado previamente. Em uma pilha, o elemento eliminado do conjunto é o mais recentemente inserido. De modo semelhante, em uma fi la, o elemento eliminado é sempre o que esteve no conjunto por mais tempo.
III. Na programação Orientada a Objetos, um objeto é criado ao se instanciar uma classe.
IV. Programação estruturada é um estilo de programação que determina que todos os programas possíveis de criação podem ser reduzidos a uma, e somente uma, estrutura denominada "Decisão".

Indique a opção que contenha todas as afi rmações verdadeiras.

Alternativas
Comentários
  • I. Na programação Orientada a Objetos, um método é um modelo usado para defi nir vários objetos com características semelhantes.ERRADO. O que define vários objetos com característica semelhante é a definição de classe e herança.II. As pilhas e filas são conjuntos dinâmicos nos quais o elemento removido do conjunto pela operação de DELETE é especificado previamente. Em uma pilha, o elemento eliminado do conjunto é o mais recentemente inserido. De modo semelhante, em uma fila, o elemento eliminado é sempre o que esteve no conjunto por mais tempo.ERRADO. As operações de pilha são push e pop.III. Na programação Orientada a Objetos, um objeto é criado ao se instanciar uma classe.CORRETO.IV. Programação estruturada é um estilo de programação que determina que todos os programas possíveis de criação podem ser reduzidos a uma, e somente uma, estrutura denominada "Decisão".ERRADO. Na programação estruturada ocorre a redução de todos os programas a 3 estruturas:sequencia, decisão e iteração.Esta questão deveria ter sido anulada, na minha humilde opinião.
  • A alternatica correta é a B.
    Daniel, você não disse o porquê de a II está errada.
    Veja, sempre que surgir este tipo de dúvida procure ver o gabarito oficial.

    Os items errados são I, que descreve uma classe
    e IV, como descreveu o Daniel.
  • Descordo respeitosamente do colega abaixo.O item II está correto.As pilhas e filas são conjuntos dinâmicos nos quais o elemento removido do conjunto pela operação de DELETE é especificado previamente. CORRETO - a operação delete, remove, pop (seja qual for seu nome - não é obrigatório utilizar um nome específico, o que importa é o que a operação faz) é sempre realizado sobre um elemento especificado previamente, não há como, por exemplo, remover um elemento escolhido pelo usuário, como um no meio da fila ou pilha.Em uma pilha, o elemento eliminado do conjunto é o mais recentemente inserido.CORRETO - Definição de pilha: LIFO (Last In, Firt Out - Último a entrar, Primeiro a sair)De modo semelhante, em uma fila, o elemento eliminado é sempre o que esteve no conjunto por mais tempo.CORRETO - Definição de fila: FIFO (First In, First Out - Primeiro a entrar, Primeiro a sair)
  • Hebert,
    o elemento é especificado previamente (como consta em sua justificativa) e não pelo usuário. Essa especificação prévia ocorre na política de remoção da pilha (LIFO) ou da fila (FIFO).

ID
126463
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Programação
Assuntos

Analise as seguintes afirmações relacionadas a Noções de Programação:

I. Em um software com arquitetura em três camadas, a camada de apresentação está relacionada com a interface com o usuário.
II. 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.
III. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo valor.
IV. Considerando-se o escopo das variáveis, é correto afi rmar que 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. Uma variável é dita local quando esta passagem se dá apenas por valor.

Indique a opção que contenha todas as afi rmações verdadeiras.

Alternativas
Comentários
  • III --> recursão é uma função que chama a si mesmo com valores diferentes e no corpo da função existir condições condições de parada/retorno.

    IV --> escopo é a visibilidade de uma variável em relação ao programa e não relacionado à passagem de parâmetro

  •  a)I e II.

    Em 3-tier architecture, a camada de cima é de apresentação, a qual é a interface com usuario. As outras sao a logica & e de dados. 

    Em referencia, o valor da variavel original é alterado. Em c++, declaram-se variaveis com referencia com  ampersand (&).e.g.:

    void duplicar (int& a, int& b){

    a*=2;

    b*=2;

    }

    int main(){ int x= 4, y = 6; duplicar (a,b);

    cout <<"valores de x & y sao" <

    return 0;

    No caso, o output vai ser 8 & 12. Sem a referencia &, o valor mostrado seria o mesmo de quando as var foram declaradas (4 & 6).

    A recursão esta correta, exceto que o argumento nao é sempre o mesmo valor. O valor é como se fosse a variaveld e controle para sair da iteração.A variavel global tem escopo em todos os subalgoritmos, enquanto que a var local é sono algoritmo no qual foi declarada


ID
126469
Banca
ESAF
Órgão
Prefeitura de Natal - RN
Ano
2008
Provas
Disciplina
Programação
Assuntos

Analise as seguintes afi rmações relacionadas a conceitos básicos sobre Programação:

I. Um procedimento é um conjunto de comandos para uma tarefa específi ca 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 defi nir 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 afi rmações verdadeiras.

Alternativas
Comentários
  • 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.ERRADO. Ela retorna um valor como variável de retorno e é referenciada por seu nome e seus parâmetros de entrada.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.CORRETO.III. Cada "Função" ou "Procedimento" pode utilizar constantes ou variáveis do módulo principal ou defi nir suas próprias constantes ou variáveis.CORRETO.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.ERRADO. Uma variável global, na verdade, é um endereço com visibilidade global, por todos os módulos. Pode ser referenciada por um ponteiro também.
  • I. Um procedimento é um conjunto de comandos para uma tarefa específi ca referenciada por um nome no algoritmo principal, retornando um determinado valor no seu próprio nome. (Errado: procedimento nao retorna valor)


    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. (OK)

    III. Cada "Função" ou "Procedimento" pode utilizar constantes ou variáveis do módulo principal ou defi nir suas próprias constantes ou variáveis. (OK)

    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. (Errado: os conceitos estao invertidos aqui)

ID
130048
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às linguagens, julgue os itens a seguir.

As linguagens procedurais, como Cobol, Algol e C, têm como característica serem modulares e permitirem a reutilização de um mesmo código repetidamente em outras partes do programa, sem, necessariamente, copiá-lo.

Alternativas
Comentários
  • Correto.

    A programação procedural é geralmente uma escolha melhor que programação sequencial e não estruturada em muitas situações que envolvem uma complexidade média e requerem facilidade de manutenção. Possíveis benefícios são:

    • A habilidade de reutilizar o mesmo código em diferentes lugares no programa sem copiá-lo
    • Uma forma mais fácil de organizar o fluxo do programa que uma coleção de comandos "goto (programação)" ou "jump" (que podem transformar um programa grande e complicado no assim chamado Código espaguete)
    • A habilidade de ser fortemente modular e estruturado
    http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_procedural
  • Essas linguagens são estruturais e o Cobol, por exemplo, tem um comando procedimental(procedural é uma palavra que não existe no nosso dicionário) que é o GOTO que você pode chamar outra parte do código, que não esteja, necessariamente em sequencia.

    Evita-se usar esses procedimentos, pois são procedimentos que causam o código espaguete, que é de difícil compreensão e isso afeta a manutenção.

    Como não entraram com recurso. Ficou como certa.


ID
136300
Banca
ESAF
Órgão
MPOG
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em relação aos conceitos e características das linguagens de programação, é correto afi rmar que:

Alternativas
Comentários
  • Gabarito C

    Programação Orientada a Objetos (também conhecida pela sua sigla POO) é um modelo de análise, projeto e programação de software baseado na composição e interação entre diversas unidades chamadas de 'objetos'. A POO é um dos 4 principais paradigmas de programação (as outras são programação imperativa, funcional e lógica). Os objetos são operados com o conceito de 'this' (isso) ou 'self' (si), de forma que seus métodos (muitas vezes) modifiquem os dados da própria instância. Os programas são arquitetados através de objetos que interagem entre si. Dentre as várias abordagens da POO, as baseadas em classes são as mais comuns: objetos são instâncias de classes, o que em geral também define o tipo do objeto. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos. A alternativa mais usual ao uso de classes é o uso de protótipos. Neste caso, objetos são copias de outros objetos, não instâncias de classes. Javascript e Lua são exemplos de linguagens cuja POO é realizada por protótipos. A diferença prática mais evidente é que na POO baseada em protótipos apenas a herança simples é implementada pela cópia do objeto. Assim, na POO, implementa-se um conjunto de classes passíveis de serem instanciadas como objetos, e.g. Python e C++ (ou objetos protótipos que são copiados e alterados, e.g. JavaScript e VimL).

    Em alguns contextos, o termo modelagem orientada ao objeto (MOO) é preferível ao termo POO. De fato, o paradigma "orientado ao objeto" tem origem nos estudos da cognição e influenciou a inteligência artificial e a linguística, dada a relevância para a abstração de conceitos do mundo real. A MOO é considerada a melhor estratégia para diminuir o "gap semântico" (o hiato entre o mundo real e a representação dele), e facilita a comunicação das partes interessadas no modelo ou software (e.g. o modelador e o usuário final) na medida em que conceitos, terminologia, símbolos, grafismo e estratégias, são, potencialmente, mais óbvios, intuitivos, naturais e exatos.

    Muitas das linguagens de programação mais utilizadas atualmente (talvez a maioria) são multi-paradigma com suporte à POO. C++, C#, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos. ActionScript, ColdFusion, Javascript, PHP (a partir da versão 4.0), Perl (a partir da versão 5), Visual Basic (a partir da versão 4), VimL (ou Vim script) são exemplos de linguagens de programação com suporte a orientação a objetos. Vivace é um exemplo de linguagem sem suporte à POO.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
140941
Banca
CESPE / CEBRASPE
Órgão
ANTAQ
Ano
2009
Provas
Disciplina
Programação
Assuntos

No que se refere a arquiteturas e tecnologias de sistemas de informação, julgue os itens de 110 a 120.

Metadados são dados estruturados e codificados de modo a descreverem características de entidades para auxiliarem na identificação, na descoberta e no gerenciamento das entidades descritas.

Alternativas
Comentários
  • Os metadados representam informações que caracterizam a informação documentada. Em essência, estes respondem o que, quem, quando, onde, e como sobre cada faceta da informação, auxiliando a organização na sua publicação e suporte.
  • Os metadados representam informações que caracterizam a informação documentada. Em essência, estes respondem o que, quem, quando, onde, e como sobre cada faceta da informação, auxiliando a organização na sua publicação e suporte.
  • Certo???

     

    Metadados são informações que acrescem aos dados e que têm como objectivo informar-nos sobre eles para tornar mais fácil a sua organização.

     

    Os metadados têm tradicionalmente sido vistos como separados do núcleo duro da informação, ou seja a que está relacionada com as transacções de negócio. O que não quer dizer que não sejam importantes. Definições e regras de negócio, detalhes de segurança, informação de domínios, tags XML são metadados.

     

    Os metadados podem ser estruturados ou não estruturados. Exemplo de não estruturados: o índice produzido por um sistema de indexação e pesquisa em texto integral. Estruturados são por exemplo um sistema de classificação de arquivo ou o dicionário de dados de um SGBD. Outro exemplo é a EDI que não poderia funcionar, com uma circulação diária de milhões de documentos entre empresas de todo o mundo se não fossem seguidos standards rigorosos de identificação dos chamados “transaction sets”.

     

    Fonte: http://www.metadados.pt/oquesaometadados

  • putz....são entidades??

    Entidade(dicionário) = ...tudo aquilo que existe ou pode existir; essência.

    cespe é fodaaaa

  • Metadados são dados estruturados que descrevem, identificam, explicam, localizam e, portanto, facilitam a recuperação, uso e gestão de recursos de informação. São os chamados dados sobre dados. Vemos que neste item o examinador utilizou o termo entidade para representar conjunto de dados ou informações descritas em uma estrutura codificada.

    Gabarito: Certo.

    Fonte: Prof. Ramon Souza

  • Metadados são dados estruturados que descrevem, identificam, explicam, localizam e, portanto, facilitam a recuperação, uso e gestão de recursos de informação. São os chamados dados sobre dados. Vemos que neste item o examinador utilizou o termo entidade para representar conjunto de dados ou informações descritas em uma estrutura codificada.

    Gabarito: Certo.


ID
141259
Banca
ESAF
Órgão
ANA
Ano
2009
Provas
Disciplina
Programação
Assuntos

Linguagens orientadas a ações, que efetuam tarefas comuns organizadas em funções, representam o paradigma da programação

Alternativas
Comentários
  • Linguagem procedual conhecida como Linguagem imperatica, onde especifica um conjunto de passos para ser executados. Significa que a segunda linha sera executada quando a execução da primeira estiver terminada.

ID
142276
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Programação
Assuntos

Um profundo conhecedor de linguagens de programação deu um parecer sobre um conceito. Qual das afirmações abaixo expressa, corretamente, esse parecer?

Alternativas
Comentários
  • Olá, pessoal!

    Essa questão foi anulada pela organizadora.


    Justificativa da banca:  Anulada, por não haver resposta inteiramente correta.

    Bons estudos!

ID
143716
Banca
FIP
Órgão
Câmara Municipal de São José dos Campos - SP
Ano
2009
Provas
Disciplina
Programação
Assuntos

Com relação às linguagens de programação, é incorreto afirmar que:

Alternativas
Comentários
  • c-

    herança permite aproveitar atributos e metodos de uma classe (superclass) para os objetos instanciados. a generalização é a classe primaria, da qual outras se originam. a especialização deuma classe se baseia na classe principal para a criacao de uam classe especifica para o dominio do problema. e.g.: classe principal: animal. especializacao: mamifero


ID
144451
Banca
CESPE / CEBRASPE
Órgão
TRE-MA
Ano
2009
Provas
Disciplina
Programação
Assuntos

Acerca de linguagens de programação, julgue os itens a seguir.

I Em qualquer linguagem de programação moderna, uma variável do tipo inteira normalmente utiliza 10 bytes de memória.
II Uma variável booleana pode ter dois valores: verdadeiro ou falso.
III Uma variável do tipo char armazena números reais e ocupa normalmente 5 bytes por variável declarada.
IV O conteúdo de uma variável do tipo real pode ser sobrescrito.
V Uma variável do tipo string pode conter uma sequência de caracteres.

Estão certos apenas os itens

Alternativas
Comentários
  • Justificativa da banca:
    anulada. Não há opção que atenda ao comando da questão, visto que apenas os itens II, IV e V estão corretos.

ID
147631
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Programação
Assuntos

Especificar um valor a ser armazenado na área de memória referenciada por um nome descritivo caracteriza uma

Alternativas
Comentários
  • "Artibuir um valor a uma variável (área de memória referenciada por um nome descritivo)"


ID
149353
Banca
FCC
Órgão
TJ-SE
Ano
2009
Provas
Disciplina
Programação
Assuntos

A instrução em linguagem de máquina é a indicação de uma

Alternativas

ID
150181
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Programação
Assuntos

O desempenho de um programa no computador NÃO depende

Alternativas
Comentários
  • Tem nem o quê comentar ... ¬¬
  •             e) da quantidade de slots da placa-mãe. = Não tem nada haver realmente...as outras fazem com que o desempenho seja bom ou ruím...


     

  • Isso é questão para Analista? Manda mais! :D

  • Alternativa f) da banca que faz uma pergunta dessas.


ID
150349
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Programação
Assuntos

Na especificação de operações de uma classe, o nível de visibilidade indicado pelo símbolo ~ (til) significa

Alternativas
Comentários
  • Os níveis de visibilidade são:

    ( + ) para atributo/método público
    ( - ) para atributo/método privado
    ( # ) para atributo/método protegido
    ( ~ ) para atributo/método visível no pacote
  • Só lembrando que a visibilidade package(~) também pode ser chamada de default ou friendly.E algumas imagens para ajudar na compreensão.
    Níveis de Visibilidade: ordem dos níveis.Bons estudos

ID
151816
Banca
FCC
Órgão
TRE-PI
Ano
2009
Provas
Disciplina
Programação
Assuntos

Em relação à subprogramação, considere:

I. Os critérios para quebrar um programa em subprogramas em geral levam em conta que cada subprograma deve ser funcionalmente independente e que desempenhe uma tarefa específica única.
II. Cada subprograma deve possuir suas próprias variáveis (variáveis locais) e receber e/ou retornar valores do/para seu chamador apenas por meio dos parâmetros; variáveis globais devem ser evitadas.
III. O uso do subprograma torna-se oportuno quando alguma parte do programa desempenha uma tarefa específica e/ou quando algumas linhas de código aparecem repetidas em trechos distintos do programa.
IV. Um subprograma tanto pode estar contido em outro programa, quanto ser ativado até mesmo por outro subprograma.

Está correto o que se afirma em:

Alternativas
Comentários
  • Não devemos nos preocupar com a palavrinha bonitinha e esquisitinha chamada SUBPROGRAMAÇÃO. Apenas devemos pensar que essa palavra nada mais é do que um MÉTODO na programação O.O, ou simplemente uma FUNÇÃO na programação estruturada. Então, um método ou uma função pode tranquilamente exercer todas as quatro funções acima.

    Abraços galera, e bons estudos.
  • I. Conceito da coesão funcional. 
    II. Variável global só no contexto GLOBAL. Se não dá merda! 
    III. Está modularizando e limpando/diminuindo o código 
    IV. Desde que contenha a chamada para ele.


ID
157483
Banca
CESPE / CEBRASPE
Órgão
TRT - 5ª Região (BA)
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com respeito a linguagens de programação e estrutura de dados, julgue os itens a seguir.

Durante a compilação de uma estrutura de dados do tipo loop, o compilador simula um espaço de memória, testa a variável principal do loop e, a seguir, gera o código objeto do loop individualmente.

Alternativas
Comentários
  • Loop não é exemplo de estrutura de dados.
  • Acredito que isso é feito em tempo de execução,

  • Gerar código objeto do loop individualmente? Nunca ouvir falar nisso para compiladores.


ID
157486
Banca
CESPE / CEBRASPE
Órgão
TRT - 5ª Região (BA)
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com respeito a linguagens de programação e estrutura de dados, julgue os itens a seguir.

As definições de variáveis no código de um programa não interferem na geração de um código-objeto porque as variáveis não possuem relação direta com a entrada e a saída de dados em um programa.

Alternativas
Comentários
  • Variáveis são as regiões de memórias definidas pelo programador para receber entrada e saída de dados.

  • ERRADO

    As variáveis são entradas de dados alocadas na memória e que poderão gerar saídas .

    Exemplo :

    alan= 10 ( no python ou no R ) "variável alan recebeu 10 "

    print(alan)

    10---> saída de dados


ID
157981
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Programar o computador significa "dar ordens a ele," as quais são executadas seqüencialmente. Em tal paradigma, "representar" a solução de um problema para ser resolvido pelo computador envolve escrever uma série de ações que, se executadas seqüencialmente, levam à solução. Trata-se do paradigma:

Alternativas
Comentários
  • O paradigma "procedural", é o que mais se aproxima do uso da arquitetura von Neumann como modelo para representação da solução de um problema a ser resolvido pela máquina. Segundo o paradigma procedural, programar o computador significa "dar-lhe ordens" que são executadas sequencialmente. Em tal paradigma, "representar" a solução de um problema para ser resolvido pelo computador envolve escrever uma série de ações (procedimentos) que, se executadas sequencialmente, levam à solução. 


ID
157984
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Os paradigmas das linguagens de programação, interpretados como "meios" onde problemas são resolvidos, apresentam diferentes significados para "programa" e para a "máquina que executa o programa". Nesse sentido, no meio funcional,

Alternativas
Comentários
  • Esta questão é de Ciclo de Vida de Software??? Acho que não hein...

  • Já Notifiquei um erro sobre a classificação da questão.

  • A questão queria saber qual das opções seria uma característica do paradigma funcional de linguagens de programação.

    a) PROCEDURAL - O meio procedural pretende "imitar" a máquina von Neumann; o computador é entendido como uma máquina que obedece ordens e o programa como uma prescrição de solução para o problema.

    b) PROCEDURAL - Nas linguagens procedurais, uma expressão é avaliada e seu resultado, em geral, é armazenado em uma célula de memória representada por uma variável.

    c) PROCEDURAL - Uma linguagem de programação puramente funcional não usa variáveis ou comando de atribuição. A ordem de avaliação de suas expressões de mapeamento é controlada por recursão e expressões condicionais, enquanto que no meio procedural esse controle é feito por sequenciação e iteração.

    d) LÓGICA - ... os programas não estabelecem exatamente "como" um resultado deve ser computado, mas, descrevem fatos e regras que podem levar a máquina à dedução do cálculo do fatorial. O computador assume, portanto, o papel de uma "máquina de inferência", buscando uma prova construtiva para uma meta (pergunta) colocada pelo usuário.

    e) FUNCIONAL - A principal característica do meio funcional é "imitar" o comportamento de funções. Assim, no meio funcional, o computador atua como uma máquina que avalia funções e o programa consiste da definicão e composição de funções.


    http://www.paulotarso.com/Files/PP/maria_cecilia.pdf




ID
158002
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Em linguagem formal, os sufixos da palavra aaba são identificados por

Alternativas
Comentários
  •  Gabarito:E

    Definição 1.4 Prefixo, Sufixo, Subpalavra.
    Um Prefixo (respectivamente, Sufixo) de uma palavra é
    qualquer seqüência inicial (respectivamente, final) de
    símbolos da palavra. Uma Subpalavra de uma palavra é
    qualquer seqüência de símbolos contígüa da palavra.

    Exemplo 1.2 Palavra, Prefixo, Sufixo, Tamanho.
    a) abcb é uma palavra sobre o alfabeto {a, b, c};
    b) Se ∑ = {a, b}, então:
    ∑+ = {a, b, aa, ab, ba, bb, aaa,...}
    ∑* = {ε , a, b, aa, ab, ba, bb, aaa,...}
    c) | abcb | = 4 e | ε | = 0;
    d) Relativamente à palavra abcb, tem-se que:
    ε, a, ab, abc, abcb são os prefixos;
    ε, b, cb, bcb, abcb são os respectivos sufixos.
    e) Qualquer prefixo ou sufixo de uma palavra é uma sub-palavra.

    Fonte: http://www2.dem.inpe.br/ijar/UNIB-2005/Teoria%20da%20Computa%C3%A7%C3%A3o%20-%202005/TeoriaCaomputacao-e-book.pdf

  • A técnica mais prática é fixar a palavra inteira (que tbm é um sufixo da própria palavra) e vem eliminando caracter a caracter:

    aaba
     aba
      ba
       a


  • Nunca tinha visto nada parecido, olhei novamente; estou na categoria pt, será? rsrsrs

    Interessante.
  • Prefixo de aaba: vai inserindo as letras do início para o fim: a, aa, aab, aaba

    Sufixo de aaba: vai inserindo as letras do fim para o início: a, ba, aba, aaba

    Todo prefixo e sufixo é, também, uma subpalavra.


ID
158005
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No âmbito das linguagens formais, no processo de compilação, a fase de análise é composta pelas subfases: Análise Léxica, Análise Sintática e Análise Semântica. Assim, considere:

I. Durante a análise léxica, as palavras ou lexemas são guardados na tabela de símbolos e classificados de acordo com a linguagem, em palavras reservadas, comandos, variáveis e tipos básicos.
II. A Análise Sintática é responsável pela verificação da boa formação dos comandos da linguagem, de acordo com as regras especificadas pela gramática da linguagem, pois sentenças mal formadas, geralmente, interrompem o processo de compilação e são apresentadas como mensagens de erro.
III. No fim da análise sintática, temos a representação do programa original de forma hierárquica, onde o programa é representado por uma árvore sintática.
IV. A análise semântica mais comum consiste na verificação da consistência de tipos dos operandos envolvidos em operações aritméticas ou dos parâmetros passados a procedimentos.

É correto o que consta em

Alternativas
Comentários
  • ô loko, são raras as ocorrências de boas questões teóricas de CC nos concursos, show de bola essa ;)
  • Compiladores são programas que traduzem linguagens, no caso uma linguagem fonte (escrita numa linguagem de programação) para uma linguagem destino (linguagem que o computador realmente entenda). São complexos e o processo de compilação se dá por três fases:

    1 - Análise Léxica -> ler caractere por caracter no código e forma tóken, identificando o tipo (ex: constante, palavra reservada ...) de cada um deles de acordo com a tabela de símbolos. Ex: for i = 0. O compilador irá ler: f,o,r,i,=,0  e dirá 'for' = palavra reservada, i = variável criada, '=' operador de atribuição, 0 = valor literal 

    2 - Análise Sintática -> chamado também de 'parser', verifica se o código possui sentenças válidas, criando uma estrutura de árvore ao final do processo. Ex: a sentença do 'if' deve ser: if () then

    3 - Análise Semântica -> verifica o significado de instruções, realizando análises que não podem ser feitos anteriormente como, por exemplo, escopo de variáveis (uma variável local de uma função não pode ser usada fora dela), atribuição de valores (verificar se os tipos são compatíveis entre o valor e a variável que está recebendo ele).

    GABARITO: E


ID
161515
Banca
FCC
Órgão
MPE-RS
Ano
2008
Provas
Disciplina
Programação
Assuntos

As palavras reservadas estão diretamente associadas ao
conceito de

Alternativas
Comentários
  • Esta questão não faz parte de noções de informática.Refere-se apenas a parte de programação.


ID
162730
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2010
Provas
Disciplina
Programação
Assuntos

Os softwares são projetados por engenharia, não se desgastam e, em sua maioria, são desenvolvidos sob medida, com objetivos específicos, como o desenvolvimento de softwares comerciais de negócios usando linguagens de programação de alto nível, não procedimentais, que permitem ao programados especificar o que deve ser feito visando a um resultado imediato. Entre essas linguagens, incluem-se as linguagens de

Alternativas
Comentários
  • Uma linguagem de programação não-procedimental o usuário deve descrever o que programa executará, mas não como fará isso. Exemplo típico é a linguagem SQL.

    Numa linguagem de programação procedimental o usuário deve descrever, comando a comando, como o programa trabalhará para chegar ao fim desejado. Exemplos típicos são Pascal, Cobol e C.

    Fonte:  http://www.vemconcursos.com/opiniao/index.phtml?page_id=440


ID
178840
Banca
VUNESP
Órgão
CETESB
Ano
2009
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função.

Alternativas

ID
183787
Banca
FCC
Órgão
TRE-RS
Ano
2010
Provas
Disciplina
Programação
Assuntos

São exemplos típicos de linguagem de computador interpretada:

Alternativas
Comentários
  • Letra D

    Apesar do correto ser Perl e não Pearl.
  • Questão 100% anulável. Não existe Pearl com "a".

     

    Quer dizer, pelo menos quando o assunto é linguagem de programação interpretada.

  • Vai ver o QC que errou. Pearl é marca de bateria kkkkkkkkk


ID
183790
Banca
FCC
Órgão
TRE-RS
Ano
2010
Provas
Disciplina
Programação
Assuntos

A linguagem de programação onde o tipo da variável é definido em tempo de compilação, tem sua estrutura de tipos denominada

Alternativas
Comentários
  • Em linguagens que possuem tipagem estática, o tipo da variável é definido em tempo de compilação. Já a tipagem dinâmica, essa definição ocorre em tempo de execução.

    Muitas linguagens que possuem tipagem estática possuem também tipagem forte, ou seja, não existe conversão implícita de tipos, como por exemplo colocar um string onde foi declarado inicialmente como inteiro.

    Já as linguagens que possuem tipagem dinâmica, geralmente permitem conversão implícita de tipos, ou seja, são fracamente tipadas. Se você declara uma variável como um inteiro e depois se atribui um string, a linguagem trata isso implicitamente, mudando o tipo da variável para string.

    Mas isso não é regra. Como exemplo, Python e Ruby apresentam tipagem dinâmica e forte.

    Linguagens que são fortemente e estaticamente tipadas:

    C, C++, Java

    Linguagens que são fracamente e dinamicamente tipadas:

    PHP, VBScript e Perl.
  • Cuidado T. Renegado:

    Adorei a definição do tempo de compilação e tempo de execução, entretanto liguagem fracamente tipada é aquela que não implica erros ao se manipular uma operação matemática com uma variável do tipo string, por exemplo. A linguagem pode ser fortemente tipada e ao mesmo tempo dinâmica.

    "Já as linguagens que possuem tipagem dinâmica, geralmente permitem conversão implícita de tipos, ou seja, são fracamente tipadas. Se você declara uma variável como um inteiro e depois se atribui um string, a linguagem trata isso implicitamente, mudando o tipo da variável para string."

    Veja a questão Q697199

    Abraço,


ID
188782
Banca
FCC
Órgão
TRT - 9ª REGIÃO (PR)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Algumas características de operações, quando definidas para uma determinada classe, constituem o que se denomina assinatura da operação. São elas

Alternativas
Comentários
  • A assinatura oficial da OMG para UML é:

    item 7.3.36 do normative superstructure, pag. 122
    [<visibility>] <name> ‘(‘ [<parameter-list>] ‘)’ [‘:’ [<return-type>] [‘[‘
    <multiplicity> ‘]’] [‘{‘ <oper-property> [‘,’ <oper-property>]* ‘}’]]
  • Essa questão é sobre OO ou UML, porque em OO, tipo de retorno não faz parte da assinatura. O que acham?
  • Você tem referências? Se tiver, poderia entrar com recurso.
  • Para cada método, especifica-se sua assinatura, composta por:

    - nome: um identificador para o método.
    - tipo: quando o método tem um valor de retorno, o tipo desse valor.
    - lista de argumentos: quando o método recebe parâmetros para sua execução, o tipo e um identificador para cada parâmetro.
    - visibilidade: como para atributos, define o quão visível é um método a partir de objetos de outros classes.

    Fonte: http://www.dca.fee.unicamp.br/courses/PooJava/desenvolvimento/umlclass.html
  • Só pra complementar: em java, é apenas nome + lista de argumentos.

    Fonte: https://groups.google.com/forum/#!msg/timasters/40kaRF_YV64/Iwkl0uuWqzIJ


ID
201340
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Considerando os aspectos de linguagem de programação, julgue os itens subsequentes.

A abordagem embasada em objetos preocupa-se primeiro em identificar os objetos contidos no domínio da aplicação e, em seguida, em estabelecer os procedimentos relativos a eles.

Alternativas
Comentários
  • Para mecher com o Fundo $ só o DPG

  • A orientação a objeto identifica as classes e depois os métodos. Não tem como ser os métodos primeiro e depois a classe. Basicamente é isso que a questão quer saber. Portanto, questão correta.


ID
201406
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca de programação de computadores, julgue os itens a seguir.

Um interpretador é um programa que lê um código escrito em uma linguagem e o converte em um código equivalente em outra linguagem. No processo de conversão, o interpretador relata a presença de erros no código original.

Alternativas
Comentários
  • Esse é o compilador. 

  • Errado.
    Quem faz a conversão em um código equivalente é o Compilador.
    O Interpretador converte e executa na mesma fase e NÃO relata a presença de erros no código fonte. Apenas o Compilador faz isto.


ID
201424
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Na definição de funções ou procedimentos, a passagem de parâmetros pode ser feita por valor ou por referência. Na primeira forma, o argumento passado para a função ou o procedimento necessariamente manterá o seu valor depois que essa função (ou esse procedimento) terminarem a execução, enquanto na passagem por referência não existe essa garantia.

Alternativas

ID
204721
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens seguintes, relativos à lógica de programação e
construção de algoritmos.

É possível implementar procedimentos cujos valores gerados podem ser armazenados em variáveis que garantem sua existência mesmo após o término da execução de tais procedimentos.

Alternativas
Comentários
  • Basta armazenar em variáveis globais.

  • O uso de passagem de parametros por referencias para tais procedimentos também pode causar este efeito.

  • Forçando um pouco a interpreação de "existência mesmo após o termino de execução do procedimento"...

    Dependendo da linguagem empregada, não é necessário nem mesmo uma variável global, uma local mesmo resolve.

    Em C, por exemplo, temos o modificador static.

    Variáveis locais static são variáveis cujo valor é mantido de uma chamada da função para a outra.
  • Creio que caberia recurso nesta questão.
    O gabarito de outra questão, que salvo engano também é do CESPE, tem como ponto chave para resolução o fato de que "procedimento" não retorna valor.
    O correto seria mencionar "...implementar FUNÇÕES cujos valores gerados..."

    Apesar de "valores gerados" possivelmente se refira a atribuições dentro do procedimento, ainda assim o texto compromete a interpretação.
  • Sim. Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.

    Resposta: Certo

  • Correta. Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.

  • Cuidado na resposta, podemos sim, ao término de um bloco de execução guardar este valor em uma variável do tipo global, porém, com o fechar do sistema se esta não for armazenada em outro lugar, com certeza o seu valor será perdido.

    Resposta: Certo

  • GABARITO: CORRETO

    Basta armazenar esses valores em variáveis globais, que deverão estar fora de todas as funções ou procedimentos do programa.

  • Pelo que pude entender, esse efeito ("... variáveis que garantem sua existência mesmo após o término da execução de tais procedimentos")

    se consegue pela utilização de variável global

    ou por meio de passagem de parâmetro por referência.

    Neste livro vem com explicação mais detalhada;

    aqui coloquei só resumo meu.

    ==============================

    Variáveis globais são aquelas declaradas

    no início de um algoritmo. Estas variáveis são visíveis (isto é, podem ser

    usadas) no algoritmo principal e por todas as demais sub-rotinas.

    Variáveis locais são aquelas definidas

    dentro de uma sub-rotina e, portanto, somente visíveis (utilizáveis) dentro do

    mesmo. Outras sub-rotinas, ou mesmo o algoritmo principal, não podem

    utilizá-las.

    --------------------------------------------

    O mecanismo de funcionamento de uma

    sub-rotina é iniciado quando se encontra um comando de invocação desta, durante

    a execução do algoritmo principal.

    A partir daí a execução do mesmo é

    interrompida e a seguir, passa-se à execução dos comandos do corpo da

    sub-rotina.

    Ao seu término, retoma-se a execução do

    algoritmo que o chamou (no caso, o algoritmo principal) no ponto onde foi

    interrompida (comando de chamada da sub-rotina) e prossegue-se pela instrução

    imediatamente seguinte.

    ---------------------------

    Essa invocação pode se dar também

    através dos parâmetros que são canais por onde os dados são transferidos pelo

    algoritmo chamador a uma sub-rotina, e vice-versa.

    Para que possa iniciar a execução das

    instruções em seu corpo, uma sub-rotina às vezes precisa receber dados do

    algoritmo que o chamou e, ao terminar sua tarefa, a sub-rotina deve fornecer ao

     algoritmo chamador os resultados da mesma.

    Esta comunicação bidirecional pode ser

    feita de dois modos que são

    por meio de variáveis globais ou

    por meio da passagem de parâmetros.

    -------------------------------

    continua na parte II

  • parte II (continuação)

    Fonte:

    Batista, Rogério da Silva

    Lógica de programação 

    Parâmetros são canais pelos quais se estabelece uma comunicação

    bidirecional entre uma sub-rotina e o algoritmo chamador (o algoritmo principal

    ou outra sub-rotina).

    Dados são passados pelo algoritmo chamador à sub-rotina, ou

    retornados por este ao primeiro por meio de parâmetros.

    OS PARÂMETROS PODEM SER DAFUNÇÃO OU DO PROCEDIMENTO:

    EXEMPLO:

    Função Quad(w : real)

    ESSA FUNÇÃO ELEVA O PARÂMETRO W AO QUADRADO

    (O QUE ESTÁ EMMAIÚSCULO-ITÁLICO É PORQUE É COMENTÁRIO MEU)

    --------------------------------------

    Os Parâmetros formais são os nomes simbólicos introduzidos no

    cabeçalho de sub-rotinas, usados na definição dos parâmetros do mesmo.

    Dentro de uma sub-rotina

    trabalha-se com estes nomes da mesma forma como se trabalha com variáveis

    locais ou globais.

    Já os Parâmetros reais são aqueles que substituem os parâmetros

    formais quando da chamada de uma sub-rotina.

    -------------------------

    Na passagem de parâmetros por valor (ou por

    cópia) o parâmetro real é calculado e uma cópia de seu valor é fornecida ao

    parâmetro formal, no ato da invocação do sub-rotina.

    A execuçãodo sub-rotina prossegue normalmente e todas as modificações feitas no parâmetro

    formal não afetam o parâmetro real.

    -----------------------

    Já no mecanismo de passagem deparâmetros por referência, o espaço de memória ocupado pelos parâmetros

    reais é compartilhado pelos parâmetros formais correspondentes.

    Assim, as eventuais modificações feitas nos parâmetros formais também afetam os parâmetros reais

    correspondentes."

    No capítulo vem mais explicado, com exemplos.

    Fonte:

    Batista, Rogério da Silva


ID
205396
Banca
FEPESE
Órgão
SEFAZ-SC
Ano
2010
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa correta a respeito das variáveis e constantes, utilizadas em diversas linguagens de programação.

Alternativas
Comentários
  • Prezados,

    Não existe nenhuma restrição a quantidade de constantes em relação a quantidade de variáveis.

    Portanto a alternativa correta é a letra D


  • Essa é realmente básica para quem entende um pouco de programação.

    Um programa pode não ter constantes, ou ter várias constantes e não ter variáveis.

    Portanto, o número de constantes independe da quantidade de variáveis.


ID
210181
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca de variáveis de ambiente, julgue os itens seguintes.

A variável PATH indica ao interpretador de comandos em que diretórios se deve procurar os programas cuja execução venha a ser solicitada pelo usuário.

Alternativas
Comentários
  • $PATH: é uma variável do sistema Linux que indica trajetória (tradução do inglês) dos binários (executáveis dos programas), que podem ser executados sem indicar o caminho completo (geralmente ele é muito longo) da onde eles estão.
  • Só complementando a resposta do tiago, a mesma variável de ambiente existe para sistemas Windows.


ID
211147
Banca
FUNIVERSA
Órgão
MPE-GO
Ano
2010
Provas
Disciplina
Programação
Assuntos

A programação de computadores, desde a sua criação, evoluiu das linguagens em código binário até as atuais linguagens de alto nível, orientadas a objetos. Assinale a alternativa que possui, nessa ordem, uma linguagem binária, uma linguagem estruturada e uma linguagem orientada a objetos.

Alternativas
Comentários
  • Assembly ou linguagem de montagem é uma notação legível por humanos para o
    código de máquina que uma arquitetura de computador específica usa.
    A linguagem de máquina, que é um mero padrão de bits,
    torna-se legível pela substituição dos valores em bruto por símbolos chamados mnemónicos

    Pascal  é uma linguagem de programação estruturada, que recebeu este nome em homenagem ao matemático
    Blaise Pascal. Foi criada em 1970 pelo suíço Niklaus Wirth,[2]
    tendo em mente encorajar o uso de código estruturado

    Java é uma linguagem de programação orientada a objeto desenvolvida na década
    de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems.
    Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem
    Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de
    programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem.
  • A única linguagem binária desta lista é o Assembly


ID
215623
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

No que se refere à lógica de programação, julgue o item a seguir.

A instrução x %= y, em que o operador matemático representa uma operação aritmética seguida de uma operação de atribuição, é equivalente a x = x % y, sendo que o operador % somente pode ser utilizado com um operando do tipo inteiro.

Alternativas
Comentários
  • gabarito preliminar: C
    gabarito definitivo: - Deferido com anulação
    justificativa: Não há, no item, informações suficientes para seu correto julgamento, razão pela qual se opta por sua anulação.

    Questão discutida no TIMasters:

    @s.Diego
    Deitel Como Programar JAVA sexta edição página 37:
    ... 7 % 4 produz 3, e 17 % 5 produz 2. Esse operador é mais comumente utilizado com operando inteiros, mas também pode ser utilizado com outros tipos de aritmética.

    @Atomic
    na verdade nao existe uma definiçao absoluta do operador pq ele nao eh um mapeamento direto de uma operaçao matematica - tanto que cada linguagem implementa como quiser. O certo seria anular por nao definir a linguagem.


ID
215629
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

No que se refere à lógica de programação, julgue o item a seguir.

A função predefinida fopen ( ) pode ser utilizada para abrir um arquivo apenas quando esse arquivo já exista no diretório em uso; caso contrário, é necessário inicialmente criar o arquivo por meio da função fcreate ( ).

Alternativas
Comentários
  •  A função fopen() citada na função é utilizada tanto para abrir arquivos como para criar, claro que deve-se respeitar os direitos de permissão de leitura e escrita que estão sobre o diretório no qual se deseja realizar a operação de criação.

    Na função fopen, por exemplo:

    $a = fopen("arq.txt", "w"); // Abre somente para gravação; coloca o ponteiro no começo do arquivo e apaga o conteúdo que já foi escrito. Se o arquivo não existir, tenta criá-lo.

    Fonte: http://codigofonte.uol.com.br/codigo/php/arquivos/criar,-escrever-e-fechar-um-arquivo-de-texto-[txt]

  • O comando da questão não menciona a linguagem PHP, mas somente o termo "lógica de programação". Será que o enunciado desta questão está aparecendo corretamente para mim ou este seria um caso de anulação, já que não está especificado a linguagem a que se refere a função fopen() ?
  • fopen é mais antiga do que eu, vem desde os primórdios de C e do Unix

ID
223963
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Programação
Assuntos

O utilitário responsável por gerar, a partir de um ou mais módulos-objeto, um único programa executável é conhecido como:

Alternativas
Comentários
  • Criação de um programa:
    • Compilação
      • Análise Léxica -> Verifica as caracterisicas da linguagem utilizada
      • Análise Seintática -> Sintáxe do código
      • Análise Semântica -> Se o contexto está certo
      • Código intermediário
      • Otimização
    • Ligação (Linker) -> Integração de várias biblitecas e gera uma grande unidade executável.
    • Carregamento
  • Sequencia:

    Programa fonte -> Pré-processador -> programa fonte -> compilador -> Programa assembly -> montador -> Vários programas objeto -> Link -> Programa binário executavél -> Packet -> Programa binário executável -> Loader -> Execução
  • Montador (assembler): traduz um programa-fonte em linguagem de montagem em um programa-objeto não executável (módulo-objeto)

    Compilador: gera a partir de um programa escrito em uma linguagem de alto nível, um programa de linguagem de máquina não executável.

    Interpretador: é um tradutor que não gera módulo-objeto. A partir de um programa escrito em linguagem de alto nível, o interpretador, durante a execução, traduz cada instrução e a executa imediatamente. Não existe a geração de um código executável.

    Linker: gera a partir de um ou mais módulos-objeto, um único programa executável.

    Loader: carrega na memória principal um programa para ser executado. É classificado como tipo absoluto ou relocável.

    Alternativa: D


ID
223975
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Programação
Assuntos

Em relação às linguagens compiladas, sabese que muitos erros são eliminados durante o processo de compilação. São tipos de erros sintáticos eliminados na compilação os abaixo relacionados, EXCETO:

Alternativas

ID
224542
Banca
FCC
Órgão
METRÔ-SP
Ano
2010
Provas
Disciplina
Programação
Assuntos

Fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Trata-se

Alternativas
Comentários
  • Fonte: http://pt.wikipedia.org/wiki/Paradigma_de_programa%C3%A7%C3%A3o
    Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Por exemplo, em programação orientada a objetos, programadores podem abstrair um programa como uma coleção de objetos que interagem entre si, enquanto em programação funcional os programadores abstraem o programa como uma sequência de funções executadas de modo empilhado.

     


ID
224551
Banca
FCC
Órgão
METRÔ-SP
Ano
2010
Provas
Disciplina
Programação
Assuntos

As linguagens de programação imperativas são caracterizadas por três conceitos:

Alternativas
Comentários
  • Linguagem de programação imperativa ou programação procedural é um paradigma de programação que descreve a programação como ações (comandos) que muda o estado (variavies) de um programa.

ID
235486
Banca
MS CONCURSOS
Órgão
CODENI-RJ
Ano
2010
Provas
Disciplina
Programação
Assuntos

Uma linguagem de programação é uma técnica de notação para programar, com a intenção de servir de transporte para quê?

Alternativas

ID
238264
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca de programas aplicativos e das arquiteturas de
computadores, julgue os próximos itens.

Existem problemas cujo algoritmo de solução pode ser descrito em versões recursivas e iterativas. As recursivas tipicamente consomem mais recursos de memória e tempo de processamento; por isso, recomenda-se o uso das versões iterativas nos casos em que é exigido melhor desempenho no tempo de execução e no uso da memória.

Alternativas
Comentários
  • Todo programa escrito em algoritmo recursivo pode ser reescrito no modo iterativo. O uso de algoritmo recursivo consome mais memória que o iterativo, logo apresenta desempenho menor que o iterativo.
  • Um dia os compiladores serão espertos o suficiente pra tranformarem código recursivo em interativo, e o programador gozará dos benefícios de ambos (simplicidade e velocidade). Amém!
  • Os algortimos recursivos são mais elegantes e simples de serem escritos, e os iterativos são mais eficientes porque usam o mesmo conjunto de variáveis, já os recursivos criam todo um novo conjunto de variáveis a cada recursão do algoritmo, principalmente os algoritmos de recursão em calda. Executar algo é a última coisa que eles fazem.

    == Mais sobre recusrvidade ==

    Recursividade:

    • Toda função recursiva pode ser transformada em uma função iterativa, usando pilha.
    • Toda função iterativa pode ser descrita de forma recursiva sem uso da iteração.
    • Algoritmos recursivos tendem a utilizar mais o espaço de pilha (stack) que o espaço de memória ( Heap)
    • Uma função recursiva em cauda é assim chamada porque a última coisa que a função faz é chamar a si mesmo, como exemplo podemos ter o percurso de pós-ordem em árvores binárias.
    • Em geral, as chamadas recursivas são mais custosas que as iterativas.
    • O código recursivo é mais claro, o iterativo mais eficiente. Um bom compilador pode traduzir código recursivo em iterativo.
    • Na recursão em calda os valores do retorno da chamada não precisam ser armazenados na pilha.
    Função A( ) {
    instrução 1;
    instrução 2;
    A( ) ;
    }
    • Recursões podem ser diretas ou indiretas
      • Diretas: a função chama ela mesma
      • Indiretas: a função A( ) chama B ( ) que chama A( ) novamente, como acontece no reconhecimento de expressões nas linguagens livre de contexto.
    • As recursões são aninhadas quando uma chamada recursiva inclui como parâmetro outra chamada recursiva. (Ou ainda, é um tipo de recursão em que a chamada refere-se a si própria mais de uma vez)
  • Prezados,

    A recursividade é uma rotina que pode invocar a si mesma . Entretanto a recursividade precisa registrar o estado atual do processamento de maneira que ele possa continuar de onde parou após a conclusao de cada nova execução subordinada ao procedimento recursivo, com isso , há um consumo maior de tempo e memória.

    Portanto a questão está correta.


ID
238294
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens a seguir, relativos a conceitos de programação
estruturada e de programação orientada a objetos.

O princípio de abstração possui dois tipos fundamentais: a abstração de processos, que está diretamente ligada à programação orientada a objetos; e a abstração de dados, relacionada à utilização de subprogramas. Um conceito diretamente relacionado a ambos os tipos de abstração é o encapsulamento, que consiste no fornecimento de serviços bem definidos, sem necessariamente esclarecer como esses serviços são executados.

Alternativas
Comentários
  • A definição de abastração de processos e dados está invertida.

  • Mais uma vez o Cespe invertendo os conceitos.
    Afirmação ERRADA.
  • O princípio de abstração possui dois tipos fundamentais:

    A abstração de processos: Relacionada à utilização de subprogramas e

    A abstração de dados: Relacionada à programação orientada a objetos;,

  • Prezados,

    No inicio da questão, o comando inverte os conceitos. A abstração de processos é relacionada a utilização de subprogramas, enquanto a abstração de dados é relacionada a programação orientada a objetos. uanto ao conceito de encapsulamento, 

    Portanto a questão está errada.


ID
238324
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens seguintes, relativos a programação básica.

A passagem de parâmetros por referência é, de fato, uma passagem de parâmetro por valor de um endereço de memória.

Alternativas
Comentários
  • Quando se passa um referência está se passando o endereço da variável na memória. Qualquer alteração do valor passado como referência terá impacto no valor real, fora do procedimentol

    O endereço passado é, por si só, uma cópia (passagem por valor), de um número que será usado no procedimento chamado.

  • Gabarito Certo

    Existem dois métodos de passagem de parâmetros para funções:

    Passagem por valor – permite usar dentro de uma função uma cópia do valor de uma variável, porém não permite alterar o valor da variável original (somente a cópia pode ser alterada).

    Passagem por referência – É passada para a função uma referência da variável, sendo possível alterar o conteúdo da variável original usando-se esta referência.

    Na linguagem C a passagem por referência é implementada com o uso de ponteiros.

    Usando ponteiros (também chamados de apontadores) é possível alterar os valores das variáveis passadas como argumentos para uma função.

    A função utilizada dessa forma é denominada função com passagem por referência. Nesse tipo de função, os argumentos passam os endereços de memória para os parâmetros declarados na função. Sendo assim, os parâmetros que recebem os valores passados obrigatoriamente tem que ser ponteiros já que irão receber um endereço de memória.

    As alterações feitas dentro da função tem efeito direto nas variáveis passadas como argumentos na chamada. Isto proporciona a oportunidade de retornar vários valores em uma única função já que as alterações ocorrem diretamente nas variáveis.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Prezados,

    Existem 2 tipos de passagem de parâmetro, a por valor e por referência. Por valor , o valor em sí é passado por parámetro. Por referência, a referência do objeto ( e não o valor dele ) é passado por parâmetro.

    O que isso muda ?
    Se passarmos um parâmetro por valor , e ele for alterado dentro do metodo , a alteração não será refletida fora do metodo , entretanto , se for passado por referência , e o parâmetro for alterado dentro do mêtodo , ele será alterado fora também pois o parâmetro está apontando para uma variável que está sendo utilizada também fora do mêtodo.

    O que os livros costumam dizer é que na passagem de parâmetro por referência , é passado o valor da referência.

    Portanto a questão está correta.



ID
238327
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens seguintes, relativos a programação básica.

Uma estrutura de seleção é chamada embutida quando realiza uma série de decisões embasadas no valor de uma única variável.

Alternativas
Comentários
  • Estrutura de Seleção: Também chamada de expressão condicional ou ainda construção condicional, a estrutura de seleção realiza diferentes computaçaõ ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa. A condição é uma expressão processada e transformada em um valor booleano.
  • Estrutura de controle SELEÇÃO

    A estrutura de seleção especifica cursos alternativos de fluxo de programas, Criando uma junção em seu programa (como uma bifurcação em uma estrada). Quatro estruturas de seleção disponível no JScript.

    • a estrutura de única seleção ( se )

    • a estrutura de seleção duplo ( if...else)

    • a estrutura de seleção múltipla ( switch)

    • o operador condicional de embutida ?:

  • Pessoal, pesquisando sobre a questão e sobre o que o Botelho levantou, encontrei o seguinte [1]:

    "A estrutura de seleção aninhada normalmente é utilizada quando estivermos fazendo várias comparações (testes) sempre com a mesma variável. Esta estrutura é chamada de aninhada porque na sua representação (tanto em Chapin quanto em Português Estruturado) fica  uma seleção dentro de outra seleção." (Grifei com letras maiúsculas)

    Se a questão estiver realmente falando de estrutura de seleção aninhada, ela deveria estar certa. Talvez o examinador tenha deixado a questão errada por citar embutida, ao invés de aninhada. Bom, vá saber!

    Para finalizarmos, ainda com a referência [1]:

    "A estrutura de seleção concatenada normalmente é utilizada quando estivermos  comparando (testando) variáveis diferentes, ou seja, independentes entre si. Esta estrutura é chamada de concatenada porque na sua representação (tanto em Chapin quanto em Português Estruturado) as seleções ficam separadas uma da outra (não existe o lado "falso" do Chapin, ou o "Senão" do Português)." (Grifei)

    Referência:

    [1] Apostila de Lógica de Programação - Algoritmos: http://fit.faccat.br/~fpereira/apostilas/apostila_algoritmos_mar2007.pdf

  • Na verdade o Edson citou bem o problema, então completando...

    a questão citou o operador condicional de embutida, que é o operador (? :)

    sintaxe:

    <condição> ? <código se condição for true> : <código se condição for false>

    a questão fala que esse operador toma decisões embasadas no valor de uma única variável, o que vimos na sintaxe que não é verdade, a decisão é feita no resultado de uma condição.

    Logo,
    Resposta: Errado
  • O que deixa o item errado é o detalhe que ela diz 'uma série de decisões', pois não é verdade, em uma estrutura 'case' é um valor para uma decisão embasada em uma única variável.
  • Prezados,

    Não é o fato de usar uma única variável ou não que faz a estrutura de seleção ser chamada de embutida , e sim o fato dele usar o operador ternário ?: .

    Portanto a questão está errada.

  • O erro é que não se trata de seleção embutida, e sim seleção encadeada ou aninhada.


ID
238330
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens seguintes, relativos a programação básica.

Na passagem de parâmetros por valor, os parâmetros têm escopo local, sendo acessíveis somente pela função, já que, assim como as variáveis locais, os parâmetros são alocados no espaço de memória da pilha do sistema.

Alternativas

ID
238333
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens seguintes, relativos a programação básica.

As estruturas de controle sequenciais, de seleção (ou de decisão) e de repetição (ou de iteração ou loop) são unidades básicas na escrita de algoritmos. Todas essas estruturas possuem condições a serem testadas; algumas realizam atribuição de variáveis, mas somente uma pode inicializar variáveis.

Alternativas
Comentários
  • As estruturas de controle sequenciais, de seleção (ou de decisão) e de repetição (ou de iteração ou loop) são unidades básicas na escrita de algoritmos.  --> certo

    Todas essas estruturas possuem condições a serem testadas;  (errado). A estrutura de controle sequencial  realiza um conjunto predeterminado de comandos de forma sequencial, na ordem em que foram declarados no código. A cada instrução o contador do programa é incrementado.

    algumas realizam atribuição de variáveis, mas somente uma pode inicializar variáveis.
  • Só para complementar:

    "(...) algumas realizam atribuição de variáveis, mas somente uma pode inicializar variáveis."

    Errado, todas podem inicializar variáveis - sequencial, seleção ou repetição.
    1.  

     

    Um algoritmo pode ser constituído por três tipos de estruturas de controle de fluxo:
    • Estrutura sequencial: é um bloco de comandos onde cada um deles é executado passo a
    passo, um após o outro;
    • Estrutura condicional (ou de seleção ou de decisão): é um bloco de comandos que é
    executado ou não dependendo de uma determinada condição ser verdadeira ou falsa; e
    • Estrutura de repetição (ou de iteração ou de loop): é um bloco de comandos executado repetidas vezes até que uma condição seja alcançada, encerrando-o e então o fluxo de execução dará continuidade ao restante das ações.

    Fonte: http://rogerioaraujo.files.wordpress.com/2011/11/ebo01_logicaprogramacaoestruturadados_capitulo01.pdf
  • Prezados,

    A questão erra ao afirmar que todas essas estruturas possuem condições a serem testadas, e isso está errado pois na estrutura sequencial o bloco de código é executado na sequencia, sem condição de teste. Não obstante , podemos inicializar variáveis em todas estruturas de controle.

    Portanto a questão está errada.



ID
240643
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Na UML 2.0 NÃO se trata de um dos diagramas de interação, o

Alternativas
Comentários
  • Diagramas de Interação (Todos também são diagramas comportamentais)

        * Diagrama de Sequência
        * Diagrama de Interatividade
        * Diagrama de colaboração ou comunicação
        * Diagrama de Tempo

    Fonte: http://pt.wikipedia.org/wiki/UML
  • Deployment (Implantação).

  • Diagramas de Interação = TICS

    Tempo

    Interação Geral

    Comunicação

    Sequencia

  • b-

    Os diagramas estruturais sao relacionados com conceitos de programação: package, classes, objetos, componentes, deploy etc

  • Diagramas de Interação:

    -Diagrama de sequência 

    -Diagrama de temporização ou sincronização 

    -Diagrama de comunicação 

    -Diagrama de visão geral da interação 


ID
245191
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Programação
Assuntos

No que se refere às técnicas de programação utilizando banco de
dados, julgue os itens de 55 a 60.

Um cookie é um pequeno texto que os sítios podem anexar a qualquer conexão e enviar aos navegadores. Nas próximas visitas do usuário ao sítio, o navegador reenvia os dados para o servidor responsável pelo cookie. Assim, um cookie pode capturar o endereço eletrônico ou recolher informações pessoais armazenadas no computador do usuário.

Alternativas
Comentários
  • ERRADO. O Cookie não age de forma ativa coletando informações do computador. Ele apenas armazena as informações relativas ao site e as envia quando solicitado.
  • Sério? Leia o link: http://en.wikipedia.org/wiki/Zombie_cookie

    Não existe mais privacidade com cookies, eles são ótimos mecanismos para as empresas conseguirem obter preferências e hábitos dos usuários.
  • estranho, mas coloquei errado pq os cookies são armazenados nos browsers

  • Errado!

    Os Cookies apenas pegam os dados de navegação.

  • gab e

    o cookie não captura endereço eletronico.

  • O cookie não pega dados pessoais armazenados no computador do usuário, como diz a questão. Por exemplo, o cookie não vai em sua pasta pessoal e pega alguma informação lá. Por isso gab errado.


ID
252094
Banca
CESPE / CEBRASPE
Órgão
STM
Ano
2011
Provas
Disciplina
Programação
Assuntos

Com relação a algoritmos e lógica de programação, julgue os
itens a seguir.

Na passagem de parâmetros por referência, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por valor, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.

Alternativas
Comentários
  • Parâmetros por referência - modifica o parâmetro real.
    Parâmetros por valor - nâo modifica o parâmetro real.
  • Os conceitos estao invertidos.

    Na passagem de parâmetros por referência, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por valor, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.

    o certo seria:

    Na passagem de parâmetros por valor, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por referência, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.
  • Me dá mais R$ 1,00 pelos conceitos invertidos cespe...

  • Inversão de conceitos! “Na passagem de parâmetros por valor, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por referência, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.”.

    Resposta: Errado

  • Errada.  Inversão de conceitos! “Na passagem de parâmetros por valor, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por referência, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.

  • Pessoal, na verdade é ao contrário, por isso o erro na questão.

    Resposta: Errado

  • GABARITO: ERRADO

    Inversão de conceitos! “Na passagem de parâmetros por valor, o valor do parâmetro real é copiado para o parâmetro formal do módulo, preservando, assim, o valor original do parâmetro. Na passagem de parâmetros por referência, toda alteração feita nos parâmetros formais reflete-se nos parâmetros reais.”.

  • Na passagem de parâmetros por valor, a variável passada como parâmetro passa apenas o seu valor para o outro módulo, não sofrendo modificações no seu módulo de origem.

    Na passagem de parâmetros por referênciao parâmetro passado é, na verdade, um ponteiro (endereço de memória) que aponta para a própria variável. Ou seja, caso o parâmetro passado sofra modificações, a variável também muda o seu valor.


ID
260401
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em relação à interpretação e compilação de programas, considere:

I. O programa é executado a partir do arquivo fonte sem que haja a necessidade de gerar um arquivo objeto e muito menos um executável.

II. Tem como resultado um arquivo objeto com códigos em linguagem de máquina.

III. O linkeditor tem como função unir diversos códigos objetos para gerar um arquivo executável.

IV. As instruções (ou blocos de instruções) do código fonte vão sendo executadas na medida em que são traduzidas.


Os itens que se referem, SOMENTE à interpretação de programas são:

Alternativas
Comentários
  • Interpretação: leem o código fonte de uma linguagem de programação, interpreta-a e o converte em código executável.


  • Se o texto do programa é traduzido à medida que vai sendo executado, como em JavaScript, Python ou Perl, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado.
  • Nem todo programa é executado a partir do arquivo fonte sem que haja necessidade de gerar um executável. Java e C possuem compilações diferentes, por exemplo.
    Quando o enunciado fala de interpretação e compilação de programas, há de se entender que as afirmativas julgam uma característica de ambos os eventos. A exemplo do item IV, na execução de um programa compilado, as instruções do código fonte não vão sendo executadas na medida em que são traduzidas, somente na interpretação.
    O enunciado sugere mais de uma interpretação.
    Para que o gabarito fosse mantido, o enunciado poderia estar escrito como: "Em relação à interpretação de programas em tempo de execução, considere:"
    Eu entraria com recurso e pediria a anulação da questão.
  • Para o item IV estar correto, deveria mencionar explicitamente que se refere a interpretação, uma vez que o enunciado diz "Em relação à interpretação e compilação de programas...".

ID
273343
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Programação
Assuntos

A respeito dos princípios de programação, julgue os seguintes itens.

Passagem por valor e passagem por referência são métodos empregados para realizar a passagem de parâmetros entre um programa e um subprograma. Em ambos os casos, a pilha é utilizada para realizar a cópia do valor (passagem por valor) ou do endereço (passagem por referência).

Alternativas

ID
273346
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Programação
Assuntos

A respeito dos princípios de programação, julgue os seguintes itens.

Uma condição de saída é utilizada tanto na iteração como na recursão. Na primeira, para encerrar um laço de repetição e, na segunda, em uma estrutura de condição que encerra o processo de chamadas. Uma estrutura de condição executa mais rápido que um laço de repetição; portanto, um algoritmo que usa recursão é executado em menor tempo que o mesmo algoritmo que usa iteração.

Alternativas
Comentários
  • O erro está na frase "um algoritmo que usa recursão é executado em menor tempo que o mesmo algoritmo que usa iteração", porque a recursividade não é um bloco elementar como a iteração, podendo até conter bloco do tipo sequencial, seleção ou iteração.
  • O desempenho é pior na recursão devido à alocação de memória na pilha de execução. 
  • errado-

    recursividade cria uma copia do estado da função cada vez que ela chama ela mesma. Isso é feito para chamada que esta um nivel acima saber o estado em que parou. Loops permanecem no mesmo estado & nao necessitam se copiar. 


ID
275020
Banca
COMPERVE
Órgão
UFRN
Ano
2010
Provas
Disciplina
Programação
Assuntos

A comunicação entre objetos em Qt é feita usando-se:

Alternativas

ID
277234
Banca
CESPE / CEBRASPE
Órgão
TRE-ES
Ano
2011
Provas
Disciplina
Programação
Assuntos

Julgue os próximos itens, relativos a linguagens de programação,
compilador, interpretador, montador e link-editor.

O link-editor tem a função de vincular os dados de um programa aos programas de sistema e a outros programas de usuário.

Alternativas
Comentários
  • Assertiva CORRETA. 

     

    Achei muito genérica essa afirmação. "Programas de sistema" eu até entendo, pois pode se referir a bibliotecas; mas "programas de usuário" ficou muito vago. Só consigo imaginar uma integração com o .NET Framework a título de exemplo, de resto ficou muito genérico.

     

    De resto, é esta mesma a função do ligador: ligar o programa aos demais componentes que ele precisa para executar. 


ID
278164
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, referentes aos fundamentos das
linguagens de programação.

Em uma função, os parâmetros podem ser passados por meio de valor; isso, no entanto, implica que a mudança do valor do parâmetro dentro da função irá afetar o valor da variável original.

Alternativas
Comentários
  • ERRADO

    Alteraria o valor se a passagem de valor fosse por referência.
  • Na programação a passagem de parâmetros podem ser: por valor e por referência.


    * Passagem de parâmetro por valor 

      A função recebe uma cópia da variável que é fornecida quando é invocada. Todas as alterações feitas dentro da função não vão afetar os valores originais.


    *Passagem de parâmetro por referência

      Neste caso o que é enviado para a função é uma referência às variáveis utilizadas (ou seja, seu endereço de memória ), e não uma simples cópia. Assim, as alterações realizadas dentro da função irão alterar os valores contidos nessas variáveis.


ID
278173
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, referentes aos fundamentos das
linguagens de programação.

Caso seja necessário guardar as notas de vários alunos em diversas disciplinas, deverá ser utilizada uma matriz; para isso, faz-se necessário definir o tipo de matriz que será utilizada e os índices das linhas e das colunas, por meio dos tipos primitivos.

Alternativas
Comentários
  • Certo.

    Seria necessário criar uma matriz de duas colunas e n (alunos) linhas para armazanar os valores de tipos primitivos.
  • Gabarito duvidoso por causa do "deverá ser utilizada uma matriz". Podem ser utilizados vários tipos abstratos de dados, como listas indiretas ou listas de hashing.
  • Questão nojenta.


ID
278176
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, referentes aos fundamentos das
linguagens de programação.

Considere que, em um sistema, seja necessário montar uma lista de opções e criar uma rotina para calcular a média das notas dos alunos. Nessa situação, é correto escolher um procedimento para a primeira ação e uma função para a segunda.

Alternativas
Comentários
  • Procedimentos: Não retorna resultados.

    Funções: Retornam resultados.
  • Certo. Procedimento monta a lista e não retorna nada. Já a função, que calcula a nota, retorna algo sempre. Função retorna SEMPRE algo independente de passagem de parâmetro.


ID
280927
Banca
INSTITUTO CIDADES
Órgão
AGECOM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca do estilo de codificação, assinale a alternativa INCORRETA:

Alternativas

ID
308689
Banca
CESPE / CEBRASPE
Órgão
TJ-ES
Ano
2011
Provas
Disciplina
Programação
Assuntos

Julgue os itens de 29 a 40, relativos a fundamentos de computação
e linguagens de programação e desenvolvimento para a Web.

O operador lógico de disjunção (ou) é útil em tipos de análise para verificar se todos os valores são verdadeiros, o que, consequentemente, acarretará em todos os resultados serem também verdadeiros.

Alternativas
Comentários
  • Para verificar se todos os valores são verdadeiros deveria ser utizada a conjunção "e".
  • O operador de conjunção OU (OR) é utilizado para verificar se algum dos valores é verdadeiro; e, sendo um dos operandos verdadeiro, é a condição necessária para que a expressão resultante também seja considerada verdadeira. Por outro lado, o operador E (AND) apenas resulta em verdadeiro quando ambos os operandos sejam verdadeiros; em caso contrário, resultará em falso, seja ambos forem falsos ou apenas um dos operandos verdadeiro.

  • RLM aplicável em computação.


ID
314611
Banca
FCC
Órgão
TRT - 1ª REGIÃO (RJ)
Ano
2011
Provas
Disciplina
Programação
Assuntos

Considere:

I. Sequência, decisão e iteração são as estruturas necessárias e suficientes para o desenvolvimento da programação de computadores.

II. Uma sequência de passos, incluindo a forma como os dados serão armazenados no computador, permitindo que o problema possa ser resolvido de maneira automática e repetitiva.

III. Cada instrução é traduzida para uma representação interna e interpretada pela simulação de funcionamento do processador, o que torna mais rápido o ciclo escrita-execução-modificação.

IV. A sua aplicação divide e estrutura o algoritmo em partes fechadas e coerentes para evitar a repetição de uma sequência de comandos que é utilizada em várias partes do programa.

Em relação à programação de computadores, as definições contidas nos itens I, II, III e IV correspondem, respectivamente, à programação

Alternativas
Comentários
  • Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequênciadecisão e interação;
    Fonte: 
    http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_estruturada

     


    Modularização em tecnologia da informação é um conceito onde o sistema ou software é divido em parte distinta. Compõe o ferramental necessário para um programa mais legível com uma melhor manutenção e melhor desempenho por meio da programação estruturada.
    Pode se caracterizado da seguinte forma: Elemento separadamente endereçável do sistema, menor parte do sistema que realiza uma função completa independente de outras funções, conjunto de instruções de um programa que pode ser chamado por um nome, sendo ideal que para os outros módulos seja uma caixa preta.
    Fonte: http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_modular
  • Vale ressaltar que apesar de o texto da wikipedia mencionar a palavra INTERAÇÃO, o correto é mesmo ITERAÇÃO (ou seja, repetição), conforme a terminologia original (em ingês): sequence, selection, and repetition.
    (Fonte: 
    http://en.wikipedia.org/wiki/Structured_programming)

  • Programação  procedural  -  A  programação  funcional  é  baseada  em funções  e  tipos,  como  listas  e  árvores.  Baseia-se  no  conceito  de  chamadas  a procedimentos,  em  que  cada  procedimento  contém  um  conjunto  de  passos computacionais  a  serem  executados.  Desde  modo,  o  programa  é  montado  a partir  de  uma  seleção  organizada  de  procedimentos  (funções)  e  variáveis.  A língua ancestral funcional foi LISP, que demonstrou que programas significativos poderiam ser escritos sem recorrer a variáveis e atribuição. 


    Programação estruturada – É uma forma de programação que preconiza que  todos  os  programas  possíveis  podem  ser  reduzidos  a  apenas  três estruturas:  sequência,  decisão  (ou  seleção)  e  repetição  (ou  iteração).  Ainda  é um estilo bastante influente de programar entre as linguagens atuais. 


    Programação lógica – Uma forma de programar fortemente baseada em lógica  de  predicados.  Prolog  é  sua  linguagem  de  origem,  e a  mais  popular  do ramo até os dias de hoje. 


    Programação orientada a objetos – Estilo de programação que procura abstrair  conceitos  do mundo real  como objetos  e  retratar  suas  iterações  como métodos. 


    (Professor Victor Dalton)
  • Vamos analisar as definições I, II, III e IV.

    ⦁ Sequência, decisão e iteração são as estruturas necessárias e suficientes para o desenvolvimento da programação de computadores.

    Estruturas de sequência são o fluxo normal de execução das instruções na ordem em que aparecem, sequencial. Estruturas de decisão são o se-então, se-então-senão e o caso-selecione. Estruturas de iteração são as repetições que estudamos. Essas são as estruturas necessárias e suficientes para a programação estruturada.

    ⦁ Uma sequência de passos, incluindo a forma como os dados serão armazenados no computador, permitindo que o problema possa ser resolvido de maneira automática e repetitiva.

    Definição de algoritmo.

    ⦁ Cada instrução é traduzida para uma representação interna e interpretada pela simulação de funcionamento do processador, o que torna mais rápido o ciclo escrita-execução-modificação.

    Característica de linguagens de programação interpretadas.

    ⦁ A sua aplicação divide e estrutura o algoritmo em partes fechadas e coerentes para evitar a repetição de uma sequência de comandos que é utilizada em várias partes do programa.

    Está falando de modularização de código por meio de procedimentos.

    Resposta: E

  • Vamos analisar as definições I, II, III e IV.

    (I) Sequência, decisão e iteração são as estruturas necessárias e suficientes para o desenvolvimento da programação de computadores.

    Estruturas de sequência são o fluxo normal de execução das instruções na ordem em que aparecem, sequencial. Estruturas de decisão são o se-então, se-então-senão e o caso-selecione. Estruturas de iteração são as repetições que estudamos. Essas são as estruturas necessárias e suficientes para a programação estruturada.

    (II) Uma sequência de passos, incluindo a forma como os dados serão armazenados no computador, permitindo que o problema possa ser resolvido de maneira automática e repetitiva.

    Definição de algoritmo.

    (III) Cada instrução é traduzida para uma representação interna e interpretada pela simulação de funcionamento do processador, o que torna mais rápido o ciclo escrita-execução-modificação.

    Característica de linguagens de programação interpretadas.

    (IV) A sua aplicação divide e estrutura o algoritmo em partes fechadas e coerentes para evitar a repetição de uma sequência de comandos que é utilizada em várias partes do programa.

    Está falando de modularização de código por meio de procedimentos.

    Resposta: E


ID
320749
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

No que concerne a utilização e o processamento de máquina de Turing, assinale a opção correta.

Alternativas
Comentários
  • Uma boa explicação sobre a máquina de turing, em português: http://www.youtube.com/watch?feature=fvwrel&v=zqUU-fXdfos&NR=1
    A
    credito que todas as alternativas se expliquem nela.
  • Esta questão não é de Teoria da Computação?
  • Na máquina de Turing, o processamento inclui a sucessiva aplicação da função programada até ocorrer uma condição de parada.


ID
320752
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Correlacionando a hierarquia de Chomsky com os reconhecedores de linguagem, é correto afirmar que a máquina de Turing, tradicional ou básica, corresponde às gramáticas

Alternativas
Comentários

ID
320770
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito das características dos paradigmas e das linguagens de programação, assinale a opção correta.

Alternativas
Comentários
  • Letra D.

  • As linguagens imperativas também são chamadas de procedurais e se trata do modelo mais antigo de todos, a execução é baseada em comandos e armazenamento de dados. ... Um programa imperativo é mantido em variáveis que são associadas com localizações de memória que correspondem a um endereço e um valor de armazenamento.


ID
320812
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de linguagens de programação e seus tipos, assinale a opção correta.

Alternativas
Comentários
  • a) Em um programa orientado a objetos, cada objeto é uma instância de uma classe na qual estão definidas todas as características de tal objeto.
    A classe define o comportamento e as características (atributos) do objeto. No entanto, podem haver características que serão definidas na instâcia da classe, ou seja no próprio objeto.
  • Em programação funcional, funções são ditas de ordem superior se os seus argumentos ou resultados são, eles próprios, funções.


ID
320830
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca do uso de qualificador em programação, assinale a opção correta.

Alternativas

ID
321388
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Considere que uma atividade de programação ainda não completa tem: data de início mais cedo correspondente ao dia primeiro do mês 1; data de início mais tarde no dia 10 do mesmo mês; data de término mais cedo no dia 11 do mês 1; data de término mais tarde no dia 30 do mesmo mês. A análise dessa parte da rede permite identificar que os caminhos de ida e de volta são iguais, respectivamente, a

Alternativas

ID
325375
Banca
FUNCAB
Órgão
SEJUS-RO
Ano
2010
Provas
Disciplina
Programação
Assuntos

São instrumentos narrativos utilizados na lógica de programação:

Alternativas
Comentários
  • INSTRUMENTOS DA LÓGICA DE PROGRAMAÇÃO

    A organização do raciocínio de resolução de um problema, ou seja, o algoritmo, pode ser feita, com vantagem, utilizando-se instrumentos adequados.
    Existem diversos instrumentos nesse sentido.
    Destacam-se:

    Pictóricos ou gráficos:
    ? Fluxogramas
    ? Diagramas hierárquicos de fluxo ou diagramas hierárquicos estruturados
    ? Gráficos de estrutura

    Narrativos:
    ? Português estruturado
    ? Portugol (pseudocódigo)

    De detalhes:
    ? Árvore de decisão
    ? Tabela de decisão
  • Utilizaremos o que é chamado de pseudocódigo, também conhecido como Português Estruturado ou Portugol, todos são instrumentos narrativos acordo as literaturas de programação. Nessa questão Q108456, acima a resposta da letra (d) trata-se do mesmo assunto de narração, uma vez que, o Portugol pode ser conhecido como Português Estruturado ou pseudocódigo.

    Vai entender!!!!!!


  • Em geral, os fluxogramas são mais utilizados para leigos; pseudocódigo para usuários um pouco mais avançados; e linguagens de programação para os avançados.


ID
326581
Banca
IESES
Órgão
CRM-DF
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre Microprograma é CORRETO afirmar que:

Alternativas
Comentários
  • O microprograma é utilizado em máquinas CISC para transformar cada uma das instruções de máquina em uma série de microinstruções.
  • É um pequeno programa escrito em uma linguagem de “mais baixo nível” e implementado em hardware. Resposta letra A

     


ID
326611
Banca
IESES
Órgão
CRM-DF
Ano
2010
Provas
Disciplina
Programação
Assuntos

A programação de computadores corresponde à escrita, teste e manutenção de programas de computador. Sobre a programação de computadores é CORRETO afirmar:

I. Um algoritmo corresponde a uma sequência ordenada, e sem ambiguidade, de ações que levam à solução de um problema e, quando codificado em uma linguagem de programação, corresponde a um programa de computador.

II. Recursividade é uma técnica de programação eficaz para resolver um problema originalmente complexo, reduzindo-o em pequenas ocorrências do problema principal. Um algoritmo é dito recursivo quando chama a si mesmo ou chama uma sequência de outros algoritmos, e um deles chama novamente o primeiro algoritmo.

III. Um array é uma estrutura de dados heterogênea onde seus elementos individuais são acessados através de índices que indicam sua posição na estrutura.

IV. Procedimentos e funções são sub-algoritmos codificados como parte do desenvolvimento de um algoritmo para a solução de um problema particular.

A sequência correta é:

Alternativas
Comentários
  • III. Um array é uma estrutura de dados heterogênea onde seus elementos individuais são acessados através de índices que indicam sua posição na estrutura.
  • Arrays são estruturas de dados homogêneas.

ID
329215
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre uma operação primitiva realizada por um programa em um computador, analise:

I. Executar operações aritméticas.

II. Executar operações lógicas.

III. Fazer comunicação com dispositivos de entrada e saída de dados.

IV. Mover um conjunto de bits de um local para o outro.

Está(ão) correta(s) apenas a(s) alternativa(s):

Alternativas

ID
330223
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Programação
Assuntos

As etapas realizadas durante a programação em uma linguagem de alto nível, para se gerar um código executável, são:

Alternativas
Comentários
  • O processo de programação inicia-se com a edição de um programa-fonte e termina com a geração de um programa-executável.

    Um programa-fonte deve ser criado em um editor de textos (sem formatação). Após a criação, este programa é submetido a um compilador que analisa o código-fonte e o converte este para um código-objeto (ou programa-objeto). O código-objeto é a versão em linguagem de máquina do programa-fonte.

    Se o programa contiver chamadas a funções das bibliotecas   (função cosseno, por exemplo) o ligador junta o programa-objeto com a(s) respectiva(s) biblioteca(s) e gera um código-executável (ou programa-executável).

    Referência:


    http://www.inf.pucrs.br/~pinho/LaproI/ConceitosBasicos/ConceitosBasicos.htm

  • b-

    Programa fonte - codigo fonte. A logica da aplicação

    compilação - processo obrigatorio para gerar executavel. Converte codigo fonte em machine language.

    código-objeto - produzido pelo compilador. O resultado do processo anterior

    ligação - (linker) é o utilitario que reúne os object codes para obter um executavel coerente


ID
330277
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que tipifica o item “1.23” na seguinte fórmula:

RESULTADO = 1.23 * ENTRADA

Alternativas
Comentários
  • Em RESULTADO = 1.23 * ENTRADA, 1.23 é constante.ENTRADA é variável cujo input o usuário fornece e Resultado é class.

ID
349309
Banca
FUNDEP (Gestão de Concursos)
Órgão
CODIUB
Ano
2010
Provas
Disciplina
Programação
Assuntos

O recurso de algumas linguagens de programação que permite que o programador divida o programa em partes menores que podem ser executadas simultaneamente (ou em pseudoparalelismo) é conhecido como

Alternativas

ID
360154
Banca
CESPE / CEBRASPE
Órgão
SAD-PE
Ano
2010
Provas
Disciplina
Programação
Assuntos

O termo algoritmo é universalmente usado na ciência da computação na descrição de métodos para solução de problemas, adequados à implementação na forma de programas de computador. A esse respeito, assinale a opção correta.

Alternativas
Comentários
  • a) Errado, os algoritmos estruturados permitem o encapsulamento.
    b) Errado, Quando você cria uma classe, na sua definição, você está criando um novo tipo de dados. Se você criar a classe Pessoa, haverá um novo tipo de dado chamado Pessoa.
    c) Errado, Em java não há pré-compilação, java é interpretado.
    d) Certo, apesar da questão falar de ponteiro, java usa ponteiros mas não é permitida a sua manipulação como é permitida em C ou C++.
    e) Errada, mesmo a programação sendo orientada a objetos, pode haver recursividade em suas funções.
  • Só uma pequena correção:

    c) Na verdade Java é uma linguagem híbrida - compilada e interpretada. Mas, realmente, Java não tem um pré-processador para substituir as macros - tornando o item incorreto.
  • d)Na linguagem Java, a avaliação de uma expressão que constrói uma nova instância, quando bem sucedida, retorna uma referência ou ponteiro à área de memória na qual a instância foi alocada.

    Uma instancia pode conter varios atributos de uma classe, mas esses atributos nao foram recriados. o que a instancia faz mesmo é apontar para estes atributos. 


ID
370963
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Programação
Assuntos

No âmbito das linguagens de programação puramente funcionais, considere:
I. Elas não utilizam variáveis.
II. Construções iterativas não são possíveis sem variáveis.
III. Sem variáveis, a repetição deve ser feita por meio de recursão e não por meio de laços.
Está correto o que se afirma em

Alternativas
Comentários
  • "Uma linguagem de programação puramente funcional não usa variáveis ou instruções de atribuição. Isso libera o programador de preocupar-se com as células de memória do computador no qual o programa é executado. Sem variáveis, construções iterativas não são possíveis, porque elas são controladas por variáveis. A repetição deve ser feita por meio de recursão, não por meio de laços." [Trecho do livro Conceitos de Linguagem de Programação de Robert W. Sebesta].

    Portanto, todos os itens estão corretos.

ID
487036
Banca
CESPE / CEBRASPE
Órgão
MPE-RR
Ano
2008
Provas
Disciplina
Programação
Assuntos

Acerca de lógica de programação, julgue os itens de 72 a 78.

Uma variável é uma abstração de células na memória de um computador; o tempo de vida de uma variável é o tempo durante o qual ela está vinculada a uma localização na memória; variáveis estáticas são vinculadas às células após o início da execução do programa e assim permanecem até a execução encerrar-se.

Alternativas
Comentários
  • Resposta: ERRADA

    Erro da questão destacando em vermelho.

    Uma variável é uma abstração de células na memória de um computador; o tempo de vida de

    uma variável é o tempo durante o qual ela está vinculada a uma localização na memória;

    variáveis estáticas são vinculadas às células após o início da execução do programa e

    assim permanecem até a execução encerrar-se.

    Fonte:

    https://pt.wikipedia.org/wiki/Vari%C3%A1vel_est%C3%A1tica#:~:text=Em%20programa%C3%A7%C3%A3o%20de%20computadores%2C%20uma,toda%20a%20execu%C3%A7%C3%A3o%20do%20programa.

    Motivo: Em geral, a alocação de memória estática é a alocação de memória em 

    , antes que o programa associado seja executado.

    Esse foi o motivo que encontrei para o erro na questão, mas a forma que como linguagem de

    alto nível funcionam me fez ficar em dúvida.

    Se alguém encontrar uma forma ou fonte melhor de explicar o erro, Avise!


ID
505183
Banca
CESPE / CEBRASPE
Órgão
TRE-AP
Ano
2007
Provas
Disciplina
Programação
Assuntos

Considere a seqüência de dados 01 11 02 02 02 02 02 02 02 03 04 05 05 05 05 05 05 01.
Com relação à otimização de arquivos, aritmética computacional e repetição de valores para compactação de dados, considere, ainda, que o caractere especial seja aa. Nesse caso, a seqüência compactada pode ser corretamente expressa como

Alternativas
Comentários
  • "Considere a seqüência de dados  01 11 02 02 02 02 02 02 02 03 04 05 05 05 05 05 05 01.
    Com relação à otimização de arquivos, aritmética computacional e repetição de valores para compactação de dados, considere, ainda, que o caractere especial seja aa. Nesse caso, a seqüência compactada pode ser corretamente expressa como"
     

     "01 11 02 02 02 02 02 02 02 03 04 05 05 05 05 05 05 01"

    >>compressao de dados: temos 7 repeticoes de "02" e 6 repetições do "05"
    portanto não podemos usar apenas "aa", mas em vez disso, tampouco a amostragem não nos permite extrapolar algo melhor
    a ideia é <tag> cc nn  -->> cc o caractere a repetir por nn vezes
    assim teriamos 01 11 aa 02 07 03 04 aa 05 06 01 resposta (e)

     


    e) 01 11 aa 02 07 03 04 aa 05 06 01.

ID
531751
Banca
FESMIP-BA
Órgão
MPE-BA
Ano
2011
Provas
Disciplina
Programação
Assuntos

Identifique com V as afirmativas verdadeiras e com F, as falsas. A portabilidade do código-fonte é uma característica de linguagem de programação que pode ser interpretada de três maneiras diferentes.

Nessas condições, é correto afirmar:

( ) O código-fonte pode ser transportado de processador para processador e de compilador para compilador, sem nenhuma modificação.
( ) O código-fonte permanece imutável mesmo quando seu ambiente muda (por exemplo, uma nova versão de sistema operacional é instalada).
( ) O código-fonte pode ser integrado em diferentes pacotes de software, sem nenhuma modificação.

A alternativa que contém a sequência correta, de cima para baixo, é a

Alternativas
Comentários
  • Deve ficar claro no texto da questão que as alternativas se referem a condições de Portabilidade. Ficou um pouco confusa. Não se sabe se as alternativas indicam sentenças sobre programação em geral ou se são apenas possibilidades de tipo de portabilidade.

ID
531754
Banca
FESMIP-BA
Órgão
MPE-BA
Ano
2011
Provas
Disciplina
Programação
Assuntos

Identifique com V as afirmativas verdadeiras e com F, as falsas. A eficiência do código-fonte está diretamente presa à eficiência dos algoritmos definidos durante a fase de projeto detalhado. Porém, o estilo de codificação pode ter efeito sobre a velocidade de execução e requisitos de memória. O seguinte conjunto de diretrizes sempre pode ser aplicado, para ter um efeito positivo sobre a velocidade de execução e requisitos de memórias, quando o projeto detalhado é convertido em código.

Assim sendo, é correto afirmar:

( ) Quando possível, evitar o uso de arrays multidimensionais.
( ) Não se deve misturar tipos de dados, mesmo que a linguagem permita isso.
( ) Não se deve usar expressões booleanas e aritméticas de números inteiros, pois prejudica a eficiência do código.

A alternativa que contém a sequência correta, de cima para baixo, é a

Alternativas
Comentários
  • Não concordo com o gabarito.

    I - O uso de arrays multidimensions facilita a organização do código e pode auxiliar na eficiência de execução, visto que arrays alocam todas as informações em posições contíguas da memória, ou seja, o acesso tende a ser mais ágil do que diversas variáveis alocadas individualmente. Portanto, não se deveria evitar o uso de arrays. Alternativa Falsa.

    II - Misturar tipos pode gerar muita confusão no código e erros de lógica. Alternativa Verdadeira.

    III - Expressões booleanas são ágeis e muito utilizadas com números inteiros. Alternativa Falsa.

  • Quando sabe-se o quanto de memória será necessário, deve-se evitar o uso de arrays multidimensionais sim, pois o processo de ter que alocar espaço para só então armazenar dado, também consome tempo, logo torna-se menos eficiente usar algo dinâmico do que estático nestas condições, portanto, quando possível é melhor evitar a multidimensionalidade.


ID
556555
Banca
CESGRANRIO
Órgão
EPE
Ano
2010
Provas
Disciplina
Programação
Assuntos

As principais características da metodologia utilizada para otimização de sistemas são:

– caracterização da estrutura de uma solução ótima;
– identifição do valor de uma solução ótima recursivamente;
– utilização do processo bottom-up para encontrar o valor de uma solução ótima.

Com base nas características apresentadas, para a implementação dessa metodologia é utilizada a programação

Alternativas

ID
598420
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, referentes aos módulos que constituem a técnica de modularização, utilizada para desenvolver algoritmos.

Um procedimento ou sub-rotina é um conjunto de instruções que realiza determinada tarefa. Um algoritmo de procedimento, como qualquer outro algoritmo, deve ser identificado e pode possuir variáveis, operações e até funções.

Alternativas
Comentários
  • e funções anônimas?

    ENTENDIMENTO CESPEANO ataca denovo


ID
598423
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Programação
Assuntos

Julgue os itens subsequentes, referentes aos módulos que constituem a técnica de modularização, utilizada para desenvolver algoritmos.

De forma semelhante aos procedimentos, as funções podem ser utilizadas em expressões, como se fossem variáveis, ou seja, elas retornam valores que são associados ao seu nome; portanto, é necessário declarar que tipo de dados será retornado.

Alternativas
Comentários
  • Correto. Isso se aplica à programação estruturada, onde a função retornará um valor de um tipo de dado compatível com a variável que receberá esse retorno.

    	Function nome (lista de parametros):tipo de dado a ser retornado;      declaração de variáveisBegin        comandosEnd;
    	Function maximo(a,b:integer):integer;  begin     if(a>b) then maximo:=a     else maximo:=b;  end;  
    max:=maximo(a,b);

    fonte: http://www.lsd.ic.unicamp.br/projetos/e-lane/introPascal/aula9.html
  • Para mim o que torna o item errado é a primeira parte: "De forma semelhante aos procedimentos,(...)"

    Procedimentos não retornam valores e logo nao podem ser utilizados como se fossem variáveis.

    Acho que caberia recurso
  • Concordo com você, Gabriel.
    Essa é a principal diferença entre procedimento, sem valor retornado, e função, retornando valor.
  • Essa prova está cheia de questões estranhas.
    Nem sempre as funções retornam valores, elas podem ser do tipo void.
    Dizer que "é necessário declarar que tipo de dados será retornado" é desconsiderar as funções void.
    Questão ERRADA e caberia recurso.
  • Questão totalmente duvidosa...
    E com relação às linguagens não tipadas? Não preciso "declarar" tipo nenhum!
  • Viajem total. Não existe isso. O examinador comparou uma função com um procedimento em relação ao retorno de valor. Desde quando um procedimento tem retorno?

  • Questão flagrantemente errada. Falou de declaração de retorno da função, mas não especificou em qual linguagem. Como bem apontaram os colegas, existem funções que não retornam nada e existem linguagens de programação que são fracamente tipadas.


ID
648784
Banca
PaqTcPB
Órgão
Prefeitura de Patos - PB
Ano
2010
Provas
Disciplina
Programação
Assuntos

Um arquivo de texto que registra toda a atividade de um programa desde o momento em que ele é aberto, podendo ser usado para rastrear as operações executadas, é denominado arquivo

Alternativas

ID
661846
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Programação
Assuntos

A linguagem de manipulação de dados (DML)

Alternativas

ID
677422
Banca
FEC
Órgão
DETRAN-RO
Ano
2007
Provas
Disciplina
Programação
Assuntos

Analise as sentenças abaixo em relação às linguagens de programação.

I. A tipificação forte está relacionada com o conceito de exigir que todos os erros de tipos sejamdetectados.

II. Entre os critérios mais importantes para avaliar linguagens estão a legibilidade, a capacidade de escrita, a confiabilidade e o custo global.

III. Avantagemda tipificação forte é a diminuição do custo de hardware.

Em relação às sentenças acima, é correto afirmar que somente

Alternativas

ID
677428
Banca
FEC
Órgão
DETRAN-RO
Ano
2007
Provas
Disciplina
Programação
Assuntos

Em relação aos ponteiros nas linguagens de programação, das opções seguintes aquela que justifica sua aplicação:

Alternativas