Questões de Concurso Público SERPRO 2008 para Analista - Suporte Técnico

Foram encontradas 11 questões

Q309520 Programação
Acerca da programação em linguagens shell de script, julgue os
itens subseqüentes.
Considerando o código a seguir, é correto afirmar que não há erros de sintaxe; é possível executar o código para copiar ou mover arquivos do diretório identificado por dir1 para o identificado por dir2; os arquivos de subdiretórios em dir1, caso existam, serão copiados para dir2.

#! /bin/csh -f
echo 'Diretorio de origem:'
set dir1=($<)
echo 'Diretorio de destino:'
set dir2=($<)
if ((! -d $dir1)**(! -d $dir2)) then
         echo "Diretorios incorretos."
endif
echo 'Extensao dos arquivos:'
set ext=($<)
echo 'Digite comando [cp ou mv]:'
set comando=($<)
switch ($comando)
case 'cp':
         foreach arquivo (dir1/*)
              if (! -d $arquivo && $arquivo =~ *.ext) then
                   cp $arquivo dir2
              endif
         end
case 'mv':
         foreach arquivo (dir1/*)
              if (! -d $arquivo && $arquivo =~ *.ext) then
                   mv $arquivo dir2
              endif
         end
default:
         echo 'Comando invalido'
         exit 01
endsw
exit 0

Alternativas
Q309521 Programação
Acerca da programação em linguagens shell de script, julgue os
itens subseqüentes.
Quanto ao código a seguir, é correto afirmar que não há erros de sintaxe; o argumento deve ser um nome de arquivo para que não haja falha; $1 identifica o argumento; o número e o conteúdo de cada linha no arquivo serão apresentados, se o argumento for um nome de arquivo com extensão sh ou csh.

#!/bin/sh
function imprimir ()
{
           echo "Arquivo:" $1
           echo "Tamanho:" $(wc $1)
           linha=
           n = 0
           while read linha; do
                 ((n = n + 1))
                 echo "n : linha";
           done
}
if [ $# -ne 1 ]; then
           echo "Falha na execucao."
           exit 2;
fi
if [ ! -r "$1" ]; then
           echo "Falha na execucao."
           exit 2;
fi
case $1 in
                      *.sh) imprimir
                                    break
                      *.csh) imprimir
                                    break
                      *) echo "Tipo invalido."
                                    exit 1
exit 1;

Alternativas
Q309522 Programação
Julgue os itens que se seguem, acerca da programação em
linguagem C.
O seguinte código não tem erros de sintaxe, e sua execução resulta na apresentação dos valores 10, 24 e 18.

#include <stdio.h>
int main(int argc, char *argv[])
{
       int a = 3, b = 2, c;
       c = (a > b) ? a : b;
       while (b < 5) {
           a = 0;
           while (a < 3) {
               a++;
               if (a == 2) continue;
               c++;
       }
       if(b == 4) break;
       b++;
       c++;
}
switch(a) {
       case 1 : b++;
       case 2 : b++;
       case 3 : b++;
case 4 : b++;
}
for (;a < 10; a++) c++;
do {
       b = b + c;
   } while (b < c);
   printf ("%d %d %d\n", a, b, c);
}

Alternativas
Q309523 Programação
Julgue os itens que se seguem, acerca da programação em
linguagem C.
O seguinte código não tem erros de sintaxe e sua execução resulta na apresentação de B, A, Natal e Amparo.

#include <stdio.h>
enum cidades {
      Recife,
      Natal
};
union capitais {
      enum cidades capitalA;
      enum cidades capitalB;
};
typedef struct {
      char *rua;
      enum cidades cidade;
} endereco;
int main(int argc, char *argv[]) {
      char matriz[] = {'A','B'},(*ptrA)[2],*ptrB;
      ptrA = &matriz;
      printf("%c\n", (*ptrA)[1]);
      ptrB = "BRASIL";
      ptrB++;
      ptrB++;
      printf("%c\n",*ptrB);
      union capitais varA;
      varA.capitalA = Natal;
      printf("%d\n", varA.capitalB);
      endereco varB = {"Amparo", Recife}, *ptrC;
      ptrC = &varB;
      printf("%s\n", ptrC->rua);
}

Alternativas
Q309524 Programação
Julgue os itens que se seguem, acerca da programação em
linguagem C.
O seguinte código não tem erros de sintaxe e sua execução resulta na apresentação dos valores 22, 28 e 34.

#include <stdio.h>
int funcao(int a, int *b) {
     static int c = 5;
     int d = 3;
    *b = *b + 5;
a++, c++, d++;
return (a + *b + c + d);
}
int main(int argc, char *argv[]) {
     int a = 2,b = 4,(*ptr)(int,int*);
     ptr = funcao;
     printf("%d\n",(*ptr)(a,&b));
     printf("%d\n",(*ptr)(a,&b));
     printf("%d\n",(*ptr)(a,&b));
}

Alternativas
Respostas
1: E
2: E
3: C
4: E
5: C