Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação...

54
Prof. Márcio Saraiva Aula 00 1 de 54| www.direcaoconcursos.com.br SEFAZ – CE Noções de Programação Aula 00 – Noções de Programação SEFAZ – CE Prof. Márcio Saraiva

Transcript of Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação...

Page 1: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

1 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Aula 00 – Noções de Programação

SEFAZ – CE

Prof. Márcio Saraiva

Page 2: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

2 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Sumário

SUMÁRIO ........................................................................................................................................... 2

COMO ESTE CURSO ESTÁ ORGANIZADO .............................................................................................. 5

INTRODUÇÃO ..................................................................................................................................... 6

CONCEITOS BÁSICOS ................................................................................................................................................ 6

VARIÁVEIS ............................................................................................................................................................... 8

TIPO DE DADOS ....................................................................................................................................................... 9

1. DADOS SIMPLES ........................................................................................................................................... 9

2. DADOS ESTRUTURADOS: ............................................................................................................................... 9

CONSTANTES .......................................................................................................................................................... 9

COMANDOS DE ATRIBUIÇÕES ................................................................................................................................... 10

ENTRADA E SAÍDA .................................................................................................................................................. 11

OPERADORES ARITMÉTICOS / AVALIAÇÃO E EXPRESSÕES ............................................................................................ 11

OPERADORES RELACIONAIS ..................................................................................................................................... 13

OPERADORES LÓGICOS ........................................................................................................................................... 13

ESTRUTURA DE CONTROLE: DECISÃO E REPETIÇÃO ..................................................................................................... 13

1. ESTRUTURA DE DECISÃO .............................................................................................................................. 14

2. ESTRUTURA DE REPETIÇÃO........................................................................................................................... 16

SUBPROGRAMAÇÃO.................................................................................................................................................17

PASSAGEM DE PARÂMETROS ................................................................................................................................... 18

FUNÇÕES .............................................................................................................................................................. 19

PROCEDIMENTOS ................................................................................................................................................... 19

RECURSIVIDADE ..................................................................................................................................................... 19

QUESTÕES COMENTADAS PELO PROFESSOR..................................................................................... 20

GABARITO ........................................................................................................................................ 37

RESUMO DIRECIONADO .................................................................................................................... 49

CONCEITOS BÁSICOS .............................................................................................................................................. 49

VARIÁVEIS ............................................................................................................................................................. 50

TIPO DE DADOS ..................................................................................................................................................... 50

3. DADOS SIMPLES ......................................................................................................................................... 50

4. DADOS ESTRUTURADOS: ............................................................................................................................. 51

CONSTANTES ........................................................................................................................................................ 51

COMANDOS DE ATRIBUIÇÕES ................................................................................................................................... 51

ENTRADA E SAÍDA .................................................................................................................................................. 51

OPERADORES ARITMÉTICOS / AVALIAÇÃO E EXPRESSÕES ............................................................................................ 52

OPERADORES RELACIONAIS ..................................................................................................................................... 53

OPERADORES LÓGICOS ........................................................................................................................................... 54

ESTRUTURA DE CONTROLE: DECISÃO E REPETIÇÃO ..................................................................................................... 54

Page 3: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

3 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Page 4: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

4 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Neste material você terá:

Você nunca estudou 1.Noções de Programação. 1.1. Construção de algoritmos: tipos de dados

simples e estruturados, variáveis e constantes, comandos de atribuição, avaliação de expressões,

comandos de entrada e saída, funções pré- definidas, conceito de bloco de comandos, estruturas de

controle, subprogramação, passagem de parâmetros, recursividade; programação estruturada para

concursos?

Se a sua resposta foi: Não! Nunca estudei. Não tem problema. Este curso também é para você.

Nós abordaremos a teoria necessária para compreensão e resolução dos exercícios, no intuito de fazer

você praticar e aprender exaustivamente cada assunto estudado, para se sentir confiante a enfrentar a Banca

Examinadora sem quaisquer problema. Caso nunca tenha ouvido falar em (no assunto acima) a minha

recomendação é que você inicie por uma leitura atenta deste material e em seguida, realize calmamente e

atenciosamente os exercícios.

Ah! Fique à vontade para me procurar no fórum de dúvidas sempre que for necessário. Estaremos

disponíveis para sanar todas as suas dúvidas.

Caso queira tirar alguma dúvida, basta enviar-me um e-mail ou um direct pelo Instagram

Curso completo em VÍDEOteoria e exercícios resolvidos sobre TODOS os pontos do edital (Noções de Programação.

1.1. Construção de algoritmos: tipos de dados simples e estruturados, variáveis e constantes, comandos de atribuição, avaliação de expressões, comandos de entrada e saída, funções pré- definidas, conceito de bloco de comandos, estruturas de controle,

subprogramação, passagem de parâmetros, recursividade; programação estruturada;)

Curso completo escrito (PDF)teoria e MAIS exercícios resolvidos sobre TODOS os pontos do edital (Noções de

Programação. 1.1. Construção de algoritmos: tipos de dados simples e estruturados, variáveis e constantes, comandos de atribuição, avaliação de expressões, comandos de entrada e saída, funções pré- definidas, conceito de bloco de comandos, estruturas de

controle, subprogramação, passagem de parâmetros, recursividade; programação estruturada;)

Acesso direto ao professorpara você sanar suas dúvidas DIRETAMENTE conosco sempre que precisar

Page 5: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

5 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Como este curso está organizado

Para cobrir os aspectos exigidos em TI, o nosso curso está organizado da seguinte forma:

Aula Data Conteúdo do edital

00 28/01

1.Noções de Programação. 1.1. Construção de algoritmos: tipos de

dados simples e estruturados, variáveis e constantes, comandos de

atribuição, avaliação de expressões, comandos de entrada e saída,

funções pré- definidas, conceito de bloco de comandos, estruturas

de controle, subprogramação, passagem de parâmetros,

recursividade; programação estruturada;

01 30/01

Orientação a objetos: conceitos fundamentais, princípios de

programação orientada a objetos, Análise e projeto orientados a

objetos; Conceitos básicos de UML (Unified Modeling Language);

02/02 Teste de direção.

02 Análise e técnicas de levantamento de requisitos;

03 20/02

2.Desenvolvimento de aplicações e bancos de dados. 2.1. Princípios

de engenharia de software; 2.2. Modelos de desenvolvimento; 2.4.

Análise e projeto estruturados; 2.7. Arquitetura de aplicações para o

ambiente Internet; 2.8. Arquitetura em três camadas; 2.9.

Arquitetura cliente-servidor; 2.13. Ferramentas CASE; 2.14. Teste de

software: elaboração de plano de testes, testes de módulos e de

integração;

22/02 Teste de direção.

Page 6: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

6 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

1.Noçoes de Programação. 1.1.Contrução de algoritmos: tipos de dados simples e estruturados, variáveis e constantes,

comandos de atribuição, avaliação de expressões, comandos de entrada e saída, funções pré-definidas, conceito de

bloco de comandos, estruturas de controle, subprogramação, passagem de parâmetros, recursividade; programação

estruturada.

Introdução

Olá, meu querido ou minha querida, tudo bem com você? Espero que sim! Bom, hoje falaremos sobre

Noções de Programação. Caso você não conheça esta disciplina, ou mesmo, só ouviu falar vagamente, não se

preocupe, a nossa intenção é deixá-lo fera neste assunto resolvendo o máximo de questões possíveis.

A matemática estar em tudo que nos rodeia e muitas das vezes nem percebemos, da mesma maneira

acontece com a programação, pois ela está embutida, acoplada, inserida, contida em quase tudo que olhamos,

tocamos ou usamos. Quando você para no sinal de trânsito, ali existe Noções de Programação, quando você

estar assistindo à televisão, ali também possui a programação, quando você usa o celular e seu aplicativo de

WhatsApp, saiba que neste possui muita programação.

Fala aí prof., como que surgiu esse negócio e para que serve tanto isso aí? Vou pedir algo muito especial

a você aluno, principalmente aquele que não conhece nada sobre o assunto. Preste bastante atenção em tudo

que eu escrevo sobre a noção de programação, te garanto que você vai finalizar esta aula sabendo muito a

respeito do assunto, principalmente para realizar questões de concursos e obter o devido sucesso esperado.

Outro detalhe importante, apesar de o assunto ser sobre Noções de Programação, iremos falar bastantes

de algoritmos e suas variáveis, que é onde tudo começa, mas não se preocupe, avançaremos com calma.

Conceitos Básicos

A Noção de Programação é essencial para que pessoas possam construir ou desenvolver programas de

computadores, também é definida como um conjunto de técnicas para encadear pensamentos a fim de atingir

determinado objetivo.

Estes objetivos, são alcançados com a programação, esta lógica é obtida através da construção dos mais

diversos tipos de algoritmos. Em outras palavras ao criarmos um algoritmo, este aponta uma sequência de

instruções que levam a solução de um problema existente no mundo real.

Podemos afirmar que a programação faz o uso da lógica da matemática.

O exemplo básico de algoritmo é mostrado na imagem a baixo.

Page 7: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

7 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Outro exemplo de algoritmo, porém representando por um diagrama.

Vamos traduzir o diagrama de fluxo que contém o algoritmo?

1. Receba duas notas de um determinado aluno.

2. Some as duas notas e depois as dívida por dois, para acharmos o valor da média.

3. Se a média encontrada, for maior ou igual a cinco, o aluno estar aprovado e fim do algoritmo.

4. Se a média encontrada, for menor que cinco, o aluno estar reprovado e fim do algoritmo.

Viu como é fácil? Se você prestar atenção e ler tudo que escrevo neste material, aprenderá fácil, fácil meus

queridos.

(CESPE - 2015 - TRE-GO - Técnico Judiciário - Programação de Sistemas).

Julgue o item a seguir, relativos a lógica de programação.

Comumente usados em fluxogramas representativos de sistemas, os símbolos abaixo correspondem,

respectivamente, a dados armazenados, processo, documento e entrada manual.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Somente a primeira figura representa a dados armazenados.

Resposta: Errado

Page 8: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

8 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(CESPE - 2013 - UNIPAMPA).

A respeito da aplicabilidade de um fluxograma, julgue os itens subsecutivos.

Fluxograma é uma ferramenta para a modelagem de sistemas na qual se representa unicamente uma visão

estruturada das funções do sistema, ou seja, o fluxo dos dados.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

A questão tenta nos induzir ao erro, na verdade o diagrama de fluxo de dados, não representa uma única

visão do sistema.

Resposta: Errado

Variáveis

Variável é um objeto, ou uma posição frequente usada ou localizada na memória do computador, capaz

de reter ou guardar um valor ou expressão. Quando nos referimos a variável, nos referimos ao um ponto na

memória local em que é armazenada uma determinada informação por um período.

As variáveis só existem em tempo de execução, são associadas aos mais diversos elementos e pode ser

associada à: um nome, um número, uma data, um caractere, um valor.

É importante sabermos que existem vários tipos de variáveis e iremos falar sobre as principais, saiba que

as variáveis são muito utilizadas em sistemas, banco de dados, é impossível um programa de computador sem

uma variável.

Iremos decifrar para você o que é uma variável e como ela funciona. Para início de conversa, toda variável

possui um nome, para que possa ser identificada no momento em que ela for chamada pelo programa a ser

utilizada, as variáveis possuem tipos e os definimos de acordo com o conteúdo que será armazenado nela.

Um exemplo básico de uma variável é selecionarmos um espaço de memória para guardar um nome.

Exemplo: nome_cliente “Márcio Saraiva”

Viu como é tranquilo? O nome em negrito acima é uma variável do tipo que guarda texto, ou cárteres, a

seta apontando para a esquerda quer dizer que estou guardando um determinado valor dentro da variável e

conteúdo é o nome do cliente que vem dentro de aspas indicando que é um texto ou caractere.

Existem dois tipos de dados são estes: os dados elementares e os dados estruturados, já explicaremos a

diferencia entre eles.

Page 9: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

9 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Tipo de Dados

1. Dados Simples

Os dados elementares, também chamados de dados simples, atômicos ou privados. São assim

chamados, pois não podem ser quebrados em partes menores.

Basicamente, existem 4 tipos de dados elementares: lógico, inteiro, real, caractere.

➢ Logico: os dados lógicos, também conhecido como booleanos, são presentados pelos

valores de (VERDADEIRO ou FALSO), ou (1 ou 0), sempre representado por um dos dois

valores, pessoal, eu disse SEMPRE!

➢ Inteiro: os dados inteiros são popularmente conhecidos pela comunidade de programadores

como int, ele representa dados numéricos, porém, sempre sem a sua parte fracionada, afinal

de contas ele é inteiro. Bem intuitivo!

Exemplo: 200, 680, 1000.

➢ Real: os dados reais, também conhecidos popularmente como, ponto flutuante, ou Double,

ou float. Armazenam dados do tipo numéricos com suas partes fracionadas, ao contrário do

inteiro, o qual falamos agora pouco.

Exemplo: 95,36, 4.250,36.

➢ Caracteres: sem dúvidas é o mais usado no meio dos algoritmos, este modelo representa os

dados do tipo letras, dígitos, símbolos.

Exemplo: ‘Maria’, ‘Antônio’, ‘ABC’.

2. Dados Estruturados:

Os dados estruturados, são arranjos ou composições realizadas sobre os dados elementares, por este

motivo, os dados estruturados podem ser chamados de dados compostos. Temos os seguintes tipos:

Vetor, String, Lista.

➢ Vetor: é representado por uma estrutura unidimensional com números fixo de posições que

só aceitam dados do mesmo tipo.

Exemplo: vetor de número com quatro posições: [4,3,2,1]

Exemplo: vetor de String com quatro posições: [‘A’,’B’,’E’,’J’]

Constantes

A constante é muito parecido com a variável, lembrando que, a variável recebe um valor e o guarda em

um espaço de memória e neste caso o valor pode ser alterado várias vezes, quantas vezes você precisar, no caso

da constante o valor é fixo, ele nunca é alterado, esta é a ideia de constante, bem simples mesmo pessoal.

Page 10: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

10 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Comandos de Atribuições

Na Ciência da Computação o comando de atribuição define ou redefine o valor armazenado no local de armazenamento indicado por um nome de variável. Na maioria das linguagens de programação imperativas o comando de atribuição é uma das declarações básicas, muito utilizada em variáveis. A instrução de atribuição muitas das vezes permite que o mesmo nome de variável possa conter valores diferentes em momentos diferentes durante a execução do programa. Daí, podemos adentrar na passagem de parâmetros também.

(CESPE - 2016 - TCE-PA - Auxiliar Técnico de Controle Externo - Área Informática).

Julgue o item seguinte, relativos a linguagens de programação.

Utilizando-se linguagens fracamente tipadas, é possível alterar o tipo de dado contido em uma variável

durante a execução do programa.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Podemos sim, pois falei sobre isto, acho que uma página atrás na aula, a variável recebe um valor e o

guarda, este valor pode ser alterado quantas vezes assim precisar.

Resposta: Certo

(CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 8).

Julgue o item subsequente, relativo à lógica de programação.

Para a determinação da parte decimal de um número real, pode-se utilizar a função INT(x), como no

exemplo a seguir, onde INT(x) retorna a parte inteira de x.

x = 3.1415926;

escreva x-INT(x)

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Pessoal, peguei pesado agora né? Mas a intenção é esta, explicarei tudo mais à frente, aguarde e verás

que é tranquilo.

Resposta: Certo

Page 11: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

11 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Entrada e Saída

Derivados da sigla E/S, ou mesmo (Input/Output) ou ainda (I/O) é o termo muito utilizado no ramo da

computação, indicando a (inserção) de dados por meio de alguma modalidade de código ou sistema, para o

hardware ou algum outro programa, também, a sua saída de dados ou (obtenção de dados) ou retorno de uma

operação de um processo.

Alguns exemplos de entradas são: teclado, mouse, scanner, leitor de código de barras, joystick.

Alguns exemplos de saídas são: monitor, impressora, caixa de som.

São denominados de dispositivos de entrada e saída, os responsáveis por incorporar e extrair informações

de um sistema de computação. Os periféricos trabalham por meios de interrupções que realizam o processo,

executando e o interrompendo, desta maneira, os dispositivos enviam interrupções a CPU por meio do

controlador em conjunto com o processador.

Alunos, falei um pouco sobre a entrada e saída, afinal de contas, quando construímos um algoritmo que

fará parte de um sistema, ele receberá as informações que provavelmente serão armazenadas nas mais

diversas variáveis e posições de memórias, onde serão encaminhadas ao processador para que ele possa

realizar os devidos cálculos com precisão e devolver o retorno da operação.

Em resumo, toda a informação entra (Input), logo em seguida é processada e devolvida (Output).

Resumindo em uma linha: nada é feito por acaso!

Podemos dizer que, quando digitamos um texto em um site de pesquisa ou em um sistema, estamos

inseridos dados, possivelmente realizando uma pesquisa, tentando de alguma forma obter determinada

informação o resultado desta busca, no caso o retorno, é uma saída e dados.

Operadores Aritméticos / Avaliação e Expressões

Os operadores numéricos são essências no processo da Lógica de Programação, pois por meio deles

realizamos as mais diversas operações para obtemos o resultado desejado.

As operações simples são: soma, divisão, multiplicação e subtração.

Agora que já sabemos o que é uma variável, os tipos de variáveis, vamos fazer uma brincadeira.

Page 12: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

12 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Faça um algoritmo que receba dois números e execute a somatória.

1 PROGRAMA SOMA:

2 VAR

3 N1, N2, TL;

4 INICIO

5 N1 10;

6 N2 20;

7 TL N1 + N2;

8 FIM.

Viu como é bem tranquilo? Porém explicarei detalhadamente cada linha do programa:

➢ Na linha de número 1, damos um nome ao programa, afinal, todo programa tem que ter um

nome.

➢ Na linha de número 2, início onde declaro as variáveis.

➢ Na linha de número 3, declarei 3 variáveis do tipo numéricas, este tipo é adequada para

receber números, desde que não sejam números fracionados.

➢ Na linha de número 4, início o programa, pois todo programa tem um início e fim.

➢ Na linha de número 5, a primeira variável recebe o valor de 10.

➢ Na linha de número 6 a segunda variável recebe o valor de 20.

➢ Na linha de número 7 é realizada a soma das variáveis com os valores contidos nelas e este

valor é lançado dentro da variável de nome TL que significa valor total.

➢ Na linha de número 8 é o fim do programa, pois todo programa tem que ter uma linha de

código finalizando o algoritmo.

Partindo deste princípio observando os detalhes da ordem e execução do algoritmo, nota-se que não é

nenhum bicho de sete cabeças.

A baixo, segue uma pequena tabela dos operadores aritméticos e sua ordem de uso, assim como são

usados na matemática também.

Page 13: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

13 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Operadores Relacionais

Os operadores relacionais são utilizados para a comparação de números e literais, retornado valores

lógicos, quando os operadores que possuem a mesma prioridade, o que vier primeiro, deverá ser priorizado.

Não podemos nos esquecer que os parênteses sempre possui a maior prioridade. Os valores retornados sempre

serão booleanos, isto é, (VERDADEIRO ou FALSO).

Operadores Lógicos

Os operadores lógicos, servem para combinar valores de expressões retornando valores lógicos

(VERDADEIRO ou FALSO).

Estrutura de Controle: Decisão e Repetição

As estruturas de controles, permitem que um programa de computador mude a direção do fluxo

sequencial e execução de determinada instrução do algoritmo, baseados em parâmetros definidos pelo

programador.

Existem dois tipos de estrutura de controle e veremos exemplos destas.

Page 14: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

14 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

1. Estrutura de Decisão

Conhecida também como a estrutura de seleção, ela nos permite interferir em seu processo de

sequência na tomada de decisões, as instruções são sempre executadas com base em condições pré-

estabelecidas.

Estas instruções são executadas sempre de cima para baixo sequencialmente na ordem em que elas

aparecem.

Exemplo 01:

Se (Media >= 7.0) Então

Aluno = aprovado

(CESPE - 2013 - SERPRO - Programador de computador).

No que se refere a linguagens de programação e estruturas de decisão/repetição em algoritmos de

programação, julgue os itens subsequentes.

A estrutura de decisão SE/ENTÃO/SENÃO, ou IF/THEN/ELSE, permite que seja sempre executado um

comando. Isso porque, caso a condição seja verdadeira, o comando da condição SE/ENTÃO será executado;

caso contrário, o comando da condição SENÃO (falsa) será executado.

RESOLUÇÃO

A estrutura SE-ENTÃO-SENÃO, garantem que sempre será executado um comando ou comandos dentro do

SE-ENTÃO ou do SENÃO;

Resposta: Certo

Exemplo 02:

Se (Média >= 7.0) Então

Aluno = Aprovado

Senão

Aluno = Reprovado

Page 15: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

15 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Exemplo 03:

Se (Média >= 6.0) Então

Se (Média >= 7.0) Então

Aluno = Aprovado

Senão

Aluno = Recuperaçao

Senão

Aluno = Reprovado

Page 16: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

16 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Exemplo 04:

Selecione (numero)

Caso 1: Cantor = “Caetano”

Caso 2: Cantor = “Falcão Rappa”

Caso 3: Cantor = “Gilberto Gil”

Caso 4: Cantor = “Tom Jobim”

Fim Selecione

2. Estrutura de Repetição

Na estrutura de repetição, o nome é bem sugestivo, o algoritmo é programado para que haja repetições

em uma tomada de decisão sempre que necessário, esta estrutura, também é conhecida como

estrutura de laços ou loops.

Dentro da estrutura de repetição existem três tipos: a repetição pré-testada, pós-testada e repetição

controlada.

➢ Repetição Pré- testada, testa-se antes de processar.

Exemplo 01:

Enquanto (Salario < 800) Faça

Salario = Salario + 100

Fim-Enquanto

Page 17: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

17 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

➢ Repetição Pós-testada, neste caso, primeiro executa e depois testa-se a condição

Exemplo 01:

Salario = 800

Enquanto (Salario < 800) Faça

imprimir(“Preciso de um aumento de salário Urgente!”)

Fim-Enquanto

Subprogramação

A subprogramação é uma importante ferramenta de auxílio à solução de problemas algorítmicos. A

subprogramação é uma metodologia de desenvolvimento de projetos, que permite o desenvolvimento de um

algoritmo de forma mais estruturada, tornando-o mais fácil de ser depurado, corrigido e modificado,

aumentando os fatores de confiabilidade e legibilidade deste.

Page 18: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

18 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

A subprogramação estruturada é fruto de estudos e de propostas de disciplinas e métodos para o

desenvolvimento de software. Dessas propostas nasceram as disciplinas acadêmicas como Análise de

Complexidade de Algoritmos e Engenharia de Software.

As mais diversas linguagens computacionais oferecem de alguma forma, algum tipo de apoio à

programação modular. A exemplo, o conceito de bloco apresentado na linguagem ALGOL, o conceito de sub-

rotina e função de FORTRAN, o conceito de procedimentos do PASCAL, o conceito de co-rotinas de MODULA,

o conceito de tarefas de ADA, etc. Estes conceitos são de extrema importância serem conhecidos e dominados

por profissionais que desejam trabalhar com a arte de programação de computadores. Para compreender

todos os conceitos mencionados é necessário uma experiência prévia com uma base mínima de programação

de computadores. Como o objetivo deste trabalho é o de prover esta base mínima, não detalharemos cada um

dos mecanismos oferecidos pelas diversas linguagens para o apoio à programação modular. O nosso objetivo

maior nesta área será o estudo de subprogramas, dando ênfase para subprogramas do tipo procedimento

(procedimentos e funções).

Passagem de Parâmetros

Na ciência da computação, um parâmetro é um valor, proveniente de uma variável ou de uma expressão

mais complexa, que pode ser passado ou repassada para uma função interna (sub-rotina) que utiliza os valores

atribuídos aos parâmetros para alterar o seu comportamento em tempo de execução. Boa parte das linguagens

de programação aceitam a definição de sub-rotinas que aceitam zero ou mais parâmetros passados ou

repassados.

Page 19: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

19 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Funções

Funções são módulos próprios de códigos que no sistema levam este nome, criamos uma função para

realizar as mais diversas tarefas a exemplo, podemos criar uma função para verificar a veracidade de um

número de CPF. Podemos criar funções para receber parâmetros e executar determinados cálculos com os

parâmetros recebidos. As funções quando escrita em IDEs de sistemas são chamadas de function e possui um

nome completo.

função verificaCPF(parâmetro1, parâmetro2, ..., parâmetroN) begin <bloco de instruções> Retorna <alguma coisa>

End

A imagem a baixo é um exemplo de uma função que foi criado em um sistema.

Procedimentos

O procedimento ou procedure é parecidíssimo com as funções o que o torna diferente é que ele recebe

parâmetros, mas não devolve um retorno deste. Ele também tem que ter um nome quando criado para que

possa ser identificado.

Procedimento confirmaSaida(parâmetro1, parâmetro2, ..., parâmetroN) begin <bloco de instruções>

end

Recursividade

Em ciências da computação, a recursividade é uma rotina ou função que chama a si mesmo para resolver

determinada situação. A grande vantagem da recursividade, estar em usar um programa de computador finito

para definir, analisar e produzir um estoque potencialmente infinito.

Page 20: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

20 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Questões comentadas pelo professor

1. (CESPE - 2009 - ANAC - Técnico Administrativo - Informática)

Com relação a aspectos de linguagem de programação, programação estruturada, programação orientada a

objetos e conceitos associados, julgue item.

O escopo em que uma variável é declarada define, obrigatoriamente, a que função do tipo pública essa variável

se associa.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Podemos ter variáveis globais e variáveis locais, a global é definida em determinado lugar no sistema e na

maioria das vezes ela pode ser invocada em qualquer parte do sistema. Entretanto a variável local, só pode ser

executada no lugar em que foi declarado.

Resposta: Errado

2. (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Análise de Sistemas)

A respeito de depuração em lógica de programação, julgue o item que se segue.

O uso de comandos de impressão para rastrear os valores das variáveis durante a execução do programa é um

exemplo de técnica de depuração.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Pessoal, não vimos isto em nossa aula, mas não permitirei que você perca uma questão desta em sua prova. Ele

quer saber o seguinte: se é possível ver o valor que a variável carrega dentro dela no momento de execução do

sistema e isto é possível sim, usando a técnica chamada de depuração o debug.

Resposta: Certo

3. (CESPE - 2013 - SERPRO - Analista - Administração de Serviços de Tecnologia da Informação)

Com relação a linguagens de programação, julgue os próximos itens.

Uma estrutura de seleção encadeada heterogênea ocorre quando não é possível identificar um padrão lógico

de construção em uma estrutura de seleção encadeada.

Page 21: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

21 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Isso mesmo, é praticamente impossível identificar um padrão devido a estrutura de seleção encadeada, um

pouco desta técnica é utilizada em alguns modalidades de vírus.

Resposta: Certo

4. (CESPE - 2018 - BNB - Especialista Técnico - Analista de Sistema)

Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.

Em um algoritmo, uma constante é um espaço físico na memória, e é identificada por um nome que não sofre

alteração durante a execução do programa.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Perfeito, conforme falamos em nossa aula a constante não sofre alteração em seu valor. Já ouvir pessoas

falarem o seguinte: professor, na empresa em que eu trabalho, já vi a constante sofrer alteração, eu respondi

para o aluno que com certeza a usaram no lugar de uma variável. Rs....

Resposta: Certo

5. (CESPE - 2017 - TRT - 7ª Região (CE) - Analista Judiciário - Tecnologia da Informação)

A estrutura lógica presente no diagrama apresentado é do tipo

(a)SE ENTÃO.

Page 22: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

22 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(b)CASO SELECIONE.

(c)CASO REPITA

(d)SE ENTÃO SENÃO.

RESOLUÇÃO:

Amigos, claro que o tipo de estrutura é um (se então senão).

Resposta: D

6. (FCC - 2018 - SABESP - Analista de Gestão - Sistemas)

De acordo com dados da SABESP, um pequeno buraco de 2 milímetros no encanamento desperdiça 3,2 mil

litros de água em um dia. Um Analista escreveu o algoritmo em pseudocódigo abaixo para calcular o

desperdício de água em função de buracos em encanamentos.

O comando que preenche corretamente a lacuna

(a)I é: (largburaco > 0 ou dias > 0)

(b)I é: (largburaco > 0 e desperdicio > 0)

(c)II é: desperdicio ← (largburaco/2.0) * 3.2 * dias

(d)II é: desperdicio ← desperdicio + (largburaco/2.0) * 3.2

(e)II é: desperdicio ← (largburaco/3.2) * 2.0 * dias

RESOLUÇÃO:

Na lacuna II se encaixa o cálculo do desperdício. Pelo enunciado da questão a fórmula correta é

desperdicio ← (largburaco/2.0) * 3.2 * dias

Resposta: C

Page 23: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

23 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

7. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 8)

Julgue o item subsequente, relativo à lógica de programação.

Na passagem de parâmetro por referência, é possível alterar o valor da variável que é apontada por referência.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Querido aluno, para entender a assertiva, você precisa saber o que é a passagem de parâmetros. Passagem de

parâmetro pode ser o seguinte: minha variável de valor 10 no momento da execução, pode ser alterado o valor

dentro dela, isto ocorre caso haja a necessidade, este valor da variável poderá ser passado a uma função do

sistema o que leva o nome de passagem de parâmetro.

Resposta: Certo

8. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

Variáveis declaradas dentro de funções ou procedimentos são chamadas de variáveis locais e não são visíveis

por outras funções. Por esse motivo, não é possível declarar variáveis que possam ser utilizadas por qualquer

função de um programa.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Assertiva correta, as variáveis que são declaradas fora das funções e procedimentos locais são as globais.

Resposta: Certo

9. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

Estruturas de repetição são usadas para que determinado bloco de comandos sejam executados diversas vezes.

A garantia de parada da repetição ocorre por meio de uma condição que é verificada a cada nova iteração.

Dependendo do tipo de estrutura de repetição utilizado, o bloco de comandos é executado pelo menos uma

vez.

(X) Certo.

( ) Errado.

Page 24: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

24 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

RESOLUÇÃO:

Corretíssimo, conforme vimos em nossa aula, existem blocos de repetições que são executados somente uma

única vez a exemplo para que não esqueçam, visite a página de nossa aula de nº 15.

Resposta: Certo

10. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

É 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.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Cuidado com a 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 um outro lugar o seu valor será

perdido.

Resposta: Certo

11. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

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

Na definição de uma função, a passagem de parâmetros por referência possibilita que o valor de uma variável

passado como argumento seja alterado na função, e sua alteração mantenha-se mesmo após a execução da

função.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Este tipo de procedimento é comum em sistema de informações.

Resposta: Certo

12. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Registros são estruturas consideradas heterogêneas porque são compostos de dados que, apesar de ser

logicamente relacionados, não têm necessariamente o mesmo tipo

(X) Certo.

( ) Errado.

Page 25: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

25 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

RESOLUÇÃO:

Melhor impossível! O uso deles acontece na programação estruturada, diferente da orientada a objeto.

Resposta: Certo

13. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Estruturas de repetição permitem que uma sequência de comandos seja executada repetidamente até que

determinada condição de interrupção seja satisfeita. É possível que, em determinada execução do algoritmo,

a sequência de comandos não seja executada nenhuma vez.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Correto, caso esteja usando uma estrutura com o while e for e verificado que existe uma condição que não

satisfaça o pretendido, ela não executa a próxima linha dentro daquela estrutura.

Resposta: Certo

14. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Em relação aos conceitos de lógica de programação utilizados para a construção de algoritmos, julgue os

próximos itens.

Valores que sejam armazenados em variáveis locais de determinado procedimento ou função não podem ser

utilizados em outros procedimentos ou funções.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

É possível, porém o valor daquela variável tem que ser passado por parâmetro para uma variável do tipo global.

Resposta: Certo

15. (CESPE – 2012 - Banco da Amazônia – Técnico Científico – Análise de Sistemas)

Quando um break é encontrado dentro de um laço for, a execução do código é interrompida e o programa é

finalizado.

( ) Certo.

(X) Errado.

Page 26: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

26 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

RESOLUÇÃO:

Questão errada meus queridos, um brake é uma função usada no sistema para pará-lo em determinado

momento de sua execução, esta técnica é muito utilizada dentro de funções, procedures para conferirmos

algumas funções do sistema.

Resposta: Errado

16. (CESPE – 2011 - STM – Analista Judiciário – Análise de Sistemas – adaptada)

Nas estruturas de controle, tais como as estruturas de seleção simples, compostas ou encadeadas, é necessário

verificar as condições para a realização de uma instrução ou sequência de instruções.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Correto, pois para que o algoritmo realiza uma seleção é necessário que ele verifique uma condição.

Resposta: Certo

17. (CESPE – 2011 - STM – Analista Judiciário – Análise de Sistemas – adaptada)

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.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

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

Resposta: Errado

Page 27: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

27 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

18. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

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

Parâmetros são pontos de comunicação entre módulos de um programa. A passagem de parâmetros, que

consiste na substituição do parâmetro formal pelo parâmetro real, pode ser realizada por valor ou por

referência.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Questão linda, isso mesmo, está correto é dessa forma como explica a questão que a coisa acontece.

Resposta: Certo

19. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

Em lógica de programação, uma constante é um valor fixo que não se modifica ao longo do tempo durante a

execução de um programa. Essa constante pode ser numérica, lógica ou literal.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Perfeita a questão, a constate não pode ter seu valor alterado esta é a regra.

Resposta: Certo

20. (CESPE – 2008 - SERPRO – Técnico – Programação)

Na lógica de programação, a instrução é o comando principal que indica a um programa uma condição

estrutural a repetir.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Assertiva errada, pois ele não deu a dica de qual o tipo de instrução, somente com esta informação fica difícil.

Resposta: Errado

Page 28: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

28 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

21. (CESPE – 2008 - SERPRO – Técnico – Programação)

Os operadores relacionais são utilizados para comparar números.

Para se comparar sequências de caracteres (strings), são utilizados os operadores lógicos, que retornam valores

verdadeiro e falso.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Pessoal, que peguinha né? Realmente os operadores lógicos são para realizar comparações, porém, não se

realiza comparação de strings. Ué professor, já vi os caras compararem tamanho de String sim! Aí eu te

respondo, eles comparam a quantidade de caracteres e não falou em quantidade, falamos de números.

Resposta: Errado

22. (CESPE – 2008 - SERPRO – Técnico – Programação)

Um diagrama de blocos é uma forma padronizada para se representar os passos lógicos de determinado

processamento. Por meio do diagrama, pode ser utilizada uma sequência de símbolos, com significado bem

definido, para auxiliar a representação dos passos de um processamento.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Esta é a real função do diagramas de blocos, mostrar através de um desenho o passo a passo de um algoritmo.

Resposta: Certo

23. (CESPE – 2008 - SERPRO – Técnico – Programação)

A respeito da lógica de programação, que é fundamental para o desenvolvimento de códigos por meio de

linguagens de programação, julgue os itens subsequentes.

Um algoritmo pode ser definido como uma sequência finita de passos que levam à execução de determinada

tarefa ou conjunto de tarefas.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Amigos, esta é a clássica definição de um algoritmo, inclusive estar no início de nossa aula.

Page 29: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

29 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Resposta: Certo

24. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 9)

Julgue o item seguinte a respeito da construção de algoritmos, dos conceitos de variáveis e de bloco de

comandos e das estruturas de controle.

Durante a execução de um programa, o conteúdo de uma variável pode mudar ao longo do tempo, no entanto

ela só pode armazenar um valor por vez.

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Ótima a definição de que a variável só poderá guardar um valor, pois uma variável guarda apenas um único tipo

de valor por vez.

Resposta: Certo

25. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 9)

Julgue o item seguinte a respeito da construção de algoritmos, dos conceitos de variáveis e de bloco de

comandos e das estruturas de controle.

Na lógica de programação, um bloco de comando é definido como um conjunto de ações para determinada

função e tem como delimitadores as palavras reservadas INPUT e OUTPUT.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Aluno, as palavras reservadas para esta função são: BEGIN e AND, estas palavras reservadas iniciam e finalizam

um algoritmo, função ou mesmo um procedimento.

Resposta: Errado

26. (Quadrix - 2018 - CRM-PR - Técnico em Tecnologia da Informação)

A respeito de análise e desenvolvimento de sistemas, julgue o item subsequente.

Os algoritmos são sequências finitas de instruções que, quando corretamente executadas, levam à solução de

um problema

Page 30: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

30 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(X) Certo.

( ) Errado.

RESOLUÇÃO:

Esta é a real função do algoritmo, resolver um problema de cálculo o processamento de uma informação. Mas

saiba que esta definição é muito mais ampla.

Resposta: Certo

27. (Quadrix - 2018 - CRM-PR - Técnico em Tecnologia da Informação)

A respeito de análise e desenvolvimento de sistemas, julgue o item subsequente.

Em um fluxograma, as caixas de decisão são como “caixas pretas”, uma vez que não se tem clareza da ação que

será executada.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Assertiva errada, como que pode ser uma caixa preta se a definimos com ações a serem executadas?

Resposta: Errado

28. (FUMARC - 2013 - TJM-MG - Oficial Judiciário - Assistente Técnico de Manutenção de

Informática)

Em relação aos conceitos de lógica de programação, analise as seguintes afirmativas:

(I)Uma constante é um determinado valor fixo que não se modifica durante a execução de um

programa.

(II)Uma variável está associada a uma posição de memória, cujo conteúdo pode ser

modificado durante a execução do programa.

(III)Toda variável é identificada por uma constante

Estão CORRETAS as afirmativas:

(a)I e II, apenas.

(b)I e III, apenas.

(c)II e III, apenas. (d) I, II e III.

RESOLUÇÃO:

A (I) está correta. Essa é a definição de constante.

Page 31: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

31 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(II)Correta. É a definição de variável.

(III)Errada. A variável é identificada por um nome!

Resposta: A

29. (FGV - 2016 - SEE-PE - Professor de Desenvolvimento de Sistemas)

Analise o trecho de pseudocódigo exibido a seguir.

A) 28

B) 56

C) 60

D) 84

E) 100

RESOLUÇÃO:

Resposta: A

30. (INSTITUTO AOCP - 2016 - UFFS - Técnico de Tecnologia da Informação)

Analise o trecho de pseudocódigo exibido a seguir.

Nas linguagens de programação, existem diversos tipos de instrução. Analisando o pseudocódigo a seguir,

assinale a alternativa que define o tipo de instrução que realiza sua operação. Pseudocódigo: “Enquanto houver

maçãs podres no cesto, retire-as e jogue fora. ”

A) Instrução de seleção.

B) Instrução de repetição.

C) Instrução de seleção múltipla.

D) Instrução de evolução.

E) Instrução de decremento.

RESOLUÇÃO:

Isso mesmo pessoal, tem que ser uma instrução de repetição, pois ela passará várias vezes pelo cesto até não

haver mais maçãs podres.

Resposta: B

Page 32: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

32 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

31. (CESPE - 2011 - EBC - Analista - Engenharia de Software)

Acerca de pseudocódigo, descrição narrativa e fluxograma, que são usados para a descrição de algoritmos,

julgue os próximos itens.

Para especificar os passos de um algoritmo, o pseudocódigo utiliza uma linguagem natural com característica

pouco formal, o que pode causar ambiguidade e propiciar interpretações errôneas.

( ) Certo.

(X) Errado.

RESOLUÇÃO:

Assertiva errada, a linguagem natural na estrutura do algoritmo não pode conter ambiguidade.

Resposta: Errado

32. (FCC - 2017 - ARTESP - Agente de Fiscalização à Regulação de Transporte - Tecnologia de

Informação)

Considere o algoritmo em pseudocódigo abaixo.

Este algoritmo

A) Não poderia usar a categoria 0 no comando escolha, nem atribuir zero ao valor do pedágio.

B) Apresenta erro de lógica na condição do comando condicional se.

C) Teria que usar uma condição no comando enquanto (verdadeiro) faça, pois este não pode avaliar apenas o valor lógico verdadeiro.

Page 33: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

33 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

D) Tem erro de sintaxe, pois o comando escolha deveria estar dentro da cláusula senão do comando

condicional se.

E) Tem erro de sintaxe, pois o comando escolha deveria ter a cláusula senão, que é obrigatória.

RESOLUÇÃO:

A condição dentro de SE, está invertida, começando primeiro pelo valor menor que para maior que. Com isso

o algoritmo roda e sai finalizando.

Resposta: B

33. (FCC - 2011 - TRT - 1ª REGIÃO (RJ) - Analista Judiciário - Tecnologia da Informação)

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

(a)Linear, ao fluxograma, à compilação e ao procedimento.

(b)Modular, ao algoritmo, à constante e à interpretação.

(c)Orientada a objetos, ao projeto lógico, ao fluxograma e à compilação.

(d)Linear, ao algoritmo, à compilação e à função.

(e)Estruturada, ao algoritmo, à interpretação e ao procedimento.

RESOLUÇÃO:

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.

Page 34: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

34 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(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

34. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

Segundo o pseudocódigo abaixo, um vetor de 100 números é lido e, em seguida, é montado um segundo vetor

a partir dos valores do primeiro vetor multiplicados por 3.

início

VET1,VET2 : vetor [1..100] numérico CONTADOR

: numérico para CONTADOR de 1 até 100 faça

leia "Digite um número: ",VET1[CONTADOR]

VET2[CONTADOR] ← (VET1[CONTADOR] * 3) fim-

para fim

( ) Certo.

(X) Errado.

RESOLUÇÃO:

A montagem do segundo vetor ocorre paralelamente à montagem do primeiro vetor (não em seguida,

como sugere a assertiva), já que a leitura dos valores do vetor ocorre dentro do laço. Faça o teste de mesa se

tiver dúvidas!

RESOLUÇÃO:

A montagem do segundo vetor. Ocorre paralelamente com o primeiro a questão difere quando fala que ele é

montando em seguida.

Resposta: Errado

35. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

O trecho a seguir

atribuir 50 a I

atribuir 0 a TOTAL

atribuir 0 a K

enquanto K < I faca

Page 35: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

35 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

inıcio somar 10 a K;

atribuir TOTAL+K a TOTAL

imprimir(K);

fim;

fim-enquanto;

imprimir(TOTAL);

Ao final do processamento, a variável TOTAL e o número de vezes que a K será impressa são, respectivamente:

(a)100 e 4

(b)150 e 5

(c)150 e 8 (d) 150 e 9

(e) 210 e 6.

RESOLUÇÃO:

A estrutura de repetição, novamente, será a que lhe exigirá mais atenção no código:

enquanto K < I faca

inıcio somar 10 a K;

atribuir TOTAL+K a TOTAL

imprimir(K);

fim;

fim-enquanto;

Essa estrutura do tipo “enquanto...faça” faz exatamente isso. Verifica uma condição, no caso, o valor de

K, e enquanto a condição estiver sendo atendida ele executa o código no seu interior. Ao término, volta a

verificar a condição e executa quantas vezes a condição estiver sendo atendida. Daí você conclui que, dentro

desta estrutura a variável de verificação (no caso, K), deve ser modificada ao longo da execução. Caso isso não

acontecesse, teríamos um “loop infinito”.

Enfim, quando a condição de verificação deixar de ser atendida, a estrutura “enquanto... faça” será pulada

e o restante do código continuará a ser executado.

Voltando ao exercício, temos primeiro algumas atribuições de variáveis:

atribuir 50 a I – I passa a valer 50

atribuir 0 a TOTAL – TOTAL passa a valer 0

atribuir 0 a K – K passa a valer 0

Um dos objetivos é saber quantas vezes K será impresso. K será impresso tantas vezes quantas adentrar-

se na estrutura de repetição.

Page 36: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

36 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Com K = 0, entrar-se-á uma vez na estrutura. K passará a valer 10 (somar 10 a K). Entrar-se-á na estrutura

novamente.

Contando nos dedos (sim, essa é a melhor forma de se contar, fazemos isso o tempo todo), percebesse

que a estrutura será executada com k = 0,10,20,30,40 ou seja, 5 vezes. Perceba que é K<I, e não K<=I, o que são

duas coisas diferentes!

Tendo metade da resposta, falta agora saber o valor de TOTAL.

Na primeira vez, TOTAL = TOTAL(0) + K(10) -> perceba que soma-se 10 a K antes da atribuição da soma

a total;

Na segunda vez, TOTAL = TOTAL(10) + K(20);

Na terceira vez, TOTAL = TOTAL(30) + K(30);

Na quarta vez, TOTAL = TOTAL(60) + K(40);

Na quinta vez, TOTAL = TOTAL(100) + K(50);

Ainda, observe que o último valor de K, 50, será reprovado na próxima verificação, por ser igual a I, e toda

a estrutura “enquanto” será pulada. Entretanto, nada impediu que quando dentro da estrutura na passagem

anterior, K, que valia 40, passasse a valer 50, pois a verificação somente ocorre no início.

Pulada a estrutura “enquanto...faça”, o valor de TOTAL será impresso, e este equivale a 150.

Resposta: B

Page 37: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

37 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Gabarito 1. E

2. C

3. C

4. C

5. D

6. C

7. C

8. C

9. C

10. C

11. C

12. C

13. C

14. C

15. E

16. C

17. E

18. C

19. C

20. E

21. E

22. C

23. C

24. C

25. E

26. C

27. E

28. A

29. A

30. B

31. E

32. B

33. E

34. E

35. B

Page 38: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

38 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

1. (CESPE - 2009 - ANAC - Técnico Administrativo - Informática)

Com relação a aspectos de linguagem de programação, programação estruturada, programação orientada a

objetos e conceitos associados, julgue item.

O escopo em que uma variável é declarada define, obrigatoriamente, a que função do tipo pública essa variável se

associa.

( ) Certo.

( ) Errado.

2. (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Análise de Sistemas)

A respeito de depuração em lógica de programação, julgue o item que se segue.

O uso de comandos de impressão para rastrear os valores das variáveis durante a execução do programa é um

exemplo de técnica de depuração.

( ) Certo.

( ) Errado.

3. (CESPE - 2013 - SERPRO - Analista - Administração de Serviços de Tecnologia da Informação)

Com relação a linguagens de programação, julgue os próximos itens.

Uma estrutura de seleção encadeada heterogênea ocorre quando não é possível identificar um padrão lógico de

construção em uma estrutura de seleção encadeada.

( ) Certo.

( ) Errado.

4. (CESPE - 2018 - BNB - Especialista Técnico - Analista de Sistema)

Julgue o próximo item, concernente ao conceito relacionado a algoritmos e linguagens de programação.

Em um algoritmo, uma constante é um espaço físico na memória, e é identificada por um nome que não sofre

alteração durante a execução do programa.

( ) Certo.

( ) Errado.

Page 39: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

39 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

5. (CESPE - 2017 - TRT - 7ª Região (CE) - Analista Judiciário - Tecnologia da Informação)

A estrutura lógica presente no diagrama apresentado é do tipo

(e)SE ENTÃO.

(f)CASO SELECIONE.

(g)CASO REPITA

(h)SE ENTÃO SENÃO.

6. (FCC - 2018 - SABESP - Analista de Gestão - Sistemas)

De acordo com dados da SABESP, um pequeno buraco de 2 milímetros no encanamento desperdiça 3,2 mil litros

de água em um dia. Um Analista escreveu o algoritmo em pseudocódigo abaixo para calcular o desperdício de

água em função de buracos em encanamentos.

O comando que preenche corretamente a lacuna

(f)I é: (largburaco > 0 ou dias > 0)

(g)I é: (largburaco > 0 e desperdicio > 0)

(h)II é: desperdicio ← (largburaco/2.0) * 3.2 * dias

Page 40: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

40 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

(i)II é: desperdicio ← desperdicio + (largburaco/2.0) * 3.2

(j)II é: desperdicio ← (largburaco/3.2) * 2.0 * dias

7. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 8)

Julgue o item subsequente, relativo à lógica de programação.

Na passagem de parâmetro por referência, é possível alterar o valor da variável que é apontada por referência.

( ) Certo.

( ) Errado.

8. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

Variáveis declaradas dentro de funções ou procedimentos são chamadas de variáveis locais e não são visíveis por

outras funções. Por esse motivo, não é possível declarar variáveis que possam ser utilizadas por qualquer função

de um programa.

( ) Certo.

( ) Errado.

9. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

Estruturas de repetição são usadas para que determinado bloco de comandos sejam executados diversas vezes. A

garantia de parada da repetição ocorre por meio de uma condição que é verificada a cada nova iteração.

Dependendo do tipo de estrutura de repetição utilizado, o bloco de comandos é executado pelo menos uma vez.

( ) Certo.

( ) Errado.

10. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

É 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.

( ) Certo.

( ) Errado.

Page 41: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

41 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

11. (CESPE – 2010 - Banco da Amazônia – Técnico Científico – Redes e Telecomunicações)

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

Na definição de uma função, a passagem de parâmetros por referência possibilita que o valor de uma variável

passado como argumento seja alterado na função, e sua alteração mantenha-se mesmo após a execução da

função.

( ) Certo.

( ) Errado.

12. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Registros são estruturas consideradas heterogêneas porque são compostos de dados que, apesar de ser

logicamente relacionados, não têm necessariamente o mesmo tipo

( ) Certo.

( ) Errado.

13. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Estruturas de repetição permitem que uma sequência de comandos seja executada repetidamente até que

determinada condição de interrupção seja satisfeita. É possível que, em determinada execução do algoritmo, a

sequência de comandos não seja executada nenhuma vez.

( ) Certo.

( ) Errado.

14. (CESPE – 2009 - UNIPAMPA – Analista de Tecnologia da Informação – Rede e Suporte)

Em relação aos conceitos de lógica de programação utilizados para a construção de algoritmos, julgue os próximos

itens.

Valores que sejam armazenados em variáveis locais de determinado procedimento ou função não podem ser

utilizados em outros procedimentos ou funções.

( ) Certo.

( ) Errado.

Page 42: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

42 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

15. (CESPE – 2012 - Banco da Amazônia – Técnico Científico – Análise de Sistemas)

Quando um break é encontrado dentro de um laço for, a execução do código é interrompida e o programa é

finalizado.

( ) Certo.

( ) Errado.

16. (CESPE – 2011 - STM – Analista Judiciário – Análise de Sistemas – adaptada)

Nas estruturas de controle, tais como as estruturas de seleção simples, compostas ou encadeadas, é necessário

verificar as condições para a realização de uma instrução ou sequência de instruções.

( ) Certo.

( ) Errado.

17. (CESPE – 2011 - STM – Analista Judiciário – Análise de Sistemas – adaptada)

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.

( ) Certo.

( ) Errado.

18. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

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

Parâmetros são pontos de comunicação entre módulos de um programa. A passagem de parâmetros, que consiste

na substituição do parâmetro formal pelo parâmetro real, pode ser realizada por valor ou por referência.

( ) Certo.

( ) Errado.

Page 43: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

43 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

19. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

Em lógica de programação, uma constante é um valor fixo que não se modifica ao longo do tempo durante a

execução de um programa. Essa constante pode ser numérica, lógica ou literal.

( ) Certo.

( ) Errado.

20. (CESPE – 2008 - SERPRO – Técnico – Programação)

Na lógica de programação, a instrução é o comando principal que indica a um programa uma condição estrutural

a repetir.

( ) Certo.

( ) Errado.

21. (CESPE – 2008 - SERPRO – Técnico – Programação)

Os operadores relacionais são utilizados para comparar números.

Para se comparar sequências de caracteres (strings), são utilizados os operadores lógicos, que retornam valores

verdadeiro e falso.

( ) Certo.

( ) Errado.

22. (CESPE – 2008 - SERPRO – Técnico – Programação)

Um diagrama de blocos é uma forma padronizada para se representar os passos lógicos de determinado

processamento. Por meio do diagrama, pode ser utilizada uma sequência de símbolos, com significado bem

definido, para auxiliar a representação dos passos de um processamento.

( ) Certo.

( ) Errado.

23. (CESPE – 2008 - SERPRO – Técnico – Programação)

A respeito da lógica de programação, que é fundamental para o desenvolvimento de códigos por meio de

linguagens de programação, julgue os itens subsequentes.

Page 44: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

44 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Um algoritmo pode ser definido como uma sequência finita de passos que levam à execução de determinada tarefa

ou conjunto de tarefas.

( ) Certo.

( ) Errado.

24. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 9)

Julgue o item seguinte a respeito da construção de algoritmos, dos conceitos de variáveis e de bloco de comandos

e das estruturas de controle.

Durante a execução de um programa, o conteúdo de uma variável pode mudar ao longo do tempo, no entanto ela

só pode armazenar um valor por vez.

( ) Certo.

( ) Errado.

25. (CESPE - 2018 - ABIN - Oficial Técnico de Inteligência - Área 9)

Julgue o item seguinte a respeito da construção de algoritmos, dos conceitos de variáveis e de bloco de comandos

e das estruturas de controle.

Na lógica de programação, um bloco de comando é definido como um conjunto de ações para determinada função

e tem como delimitadores as palavras reservadas INPUT e OUTPUT.

( ) Certo.

( ) Errado.

26. (Quadrix - 2018 - CRM-PR - Técnico em Tecnologia da Informação)

A respeito de análise e desenvolvimento de sistemas, julgue o item subsequente.

Os algoritmos são sequências finitas de instruções que, quando corretamente executadas, levam à solução de um

problema

( ) Certo.

( ) Errado.

Page 45: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

45 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

27. (Quadrix - 2018 - CRM-PR - Técnico em Tecnologia da Informação)

A respeito de análise e desenvolvimento de sistemas, julgue o item subsequente.

Em um fluxograma, as caixas de decisão são como “caixas pretas”, uma vez que não se tem clareza da ação que

será executada.

( ) Certo.

( ) Errado.

28. (FUMARC - 2013 - TJM-MG - Oficial Judiciário - Assistente Técnico de Manutenção de Informática)

Em relação aos conceitos de lógica de programação, analise as seguintes afirmativas:

(IV)Uma constante é um determinado valor fixo que não se modifica durante a execução de um

programa.

(V)Uma variável está associada a uma posição de memória, cujo conteúdo pode ser modificado

durante a execução do programa.

(VI)Toda variável é identificada por uma constante

Estão CORRETAS as afirmativas:

(d)I e II, apenas.

(e)I e III, apenas.

(f)II e III, apenas. (d) I, II e III.

29. (FGV - 2016 - SEE-PE - Professor de Desenvolvimento de Sistemas)

Analise o trecho de pseudocódigo exibido a seguir.

F) 28

G) 56

H) 60

I) 84

J) 100

Page 46: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

46 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

30. (INSTITUTO AOCP - 2016 - UFFS - Técnico de Tecnologia da Informação)

Analise o trecho de pseudocódigo exibido a seguir.

Nas linguagens de programação, existem diversos tipos de instrução. Analisando o pseudocódigo a seguir, assinale

a alternativa que define o tipo de instrução que realiza sua operação. Pseudocódigo: “Enquanto houver maçãs

podres no cesto, retire-as e jogue fora. ”

F) Instrução de seleção.

G) Instrução de repetição.

H) Instrução de seleção múltipla.

I) Instrução de evolução.

J) Instrução de decremento.

31. (CESPE - 2011 - EBC - Analista - Engenharia de Software)

Acerca de pseudocódigo, descrição narrativa e fluxograma, que são usados para a descrição de algoritmos, julgue

os próximos itens.

Para especificar os passos de um algoritmo, o pseudocódigo utiliza uma linguagem natural com característica

pouco formal, o que pode causar ambiguidade e propiciar interpretações errôneas.

( ) Certo.

( ) Errado.

32. (FCC - 2017 - ARTESP - Agente de Fiscalização à Regulação de Transporte - Tecnologia de

Informação)

Considere o algoritmo em pseudocódigo abaixo.

Page 47: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

47 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Este algoritmo

F) Não poderia usar a categoria 0 no comando escolha, nem atribuir zero ao valor do pedágio.

G) Apresenta erro de lógica na condição do comando condicional se.

H) Teria que usar uma condição no comando enquanto (verdadeiro) faça, pois este não pode avaliar apenas o valor lógico verdadeiro.

I) Tem erro de sintaxe, pois o comando escolha deveria estar dentro da cláusula senão do comando condicional

se.

J) Tem erro de sintaxe, pois o comando escolha deveria ter a cláusula senão, que é obrigatória.

33. (FCC - 2011 - TRT - 1ª REGIÃO (RJ) - Analista Judiciário - Tecnologia da Informação)

Considere:

(V)Sequência, decisão e iteração são as estruturas necessárias e suficientes para o

desenvolvimento da programação de computadores.

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

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

(VIII)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

(f)Linear, ao fluxograma, à compilação e ao procedimento.

(g)Modular, ao algoritmo, à constante e à interpretação.

(h)Orientada a objetos, ao projeto lógico, ao fluxograma e à compilação.

(i)Linear, ao algoritmo, à compilação e à função.

(j)Estruturada, ao algoritmo, à interpretação e ao procedimento.

34. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

Segundo o pseudocódigo abaixo, um vetor de 100 números é lido e, em seguida, é montado um segundo vetor a

partir dos valores do primeiro vetor multiplicados por 3.

início

VET1,VET2 : vetor [1..100] numérico CONTADOR

: numérico para CONTADOR de 1 até 100 faça

leia "Digite um número: ",VET1[CONTADOR]

VET2[CONTADOR] ← (VET1[CONTADOR] * 3) fim-

para fim

Page 48: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

48 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

( ) Certo.

( ) Errado.

35. (CESPE – 2013 - SERPRO – Analista – Suporte Técnico)

O trecho a seguir

atribuir 50 a I atribuir

0 a TOTAL atribuir 0 a

K

enquanto K < I faca

inıcio somar 10 a K;

atribuir TOTAL+K a TOTAL

imprimir(K);

fim;

fim-enquanto;

imprimir(TOTAL);

Ao final do processamento, a variável TOTAL e o número de vezes que a K será impressa são, respectivamente:

(d)100 e 4

(e)150 e 5

(f)150 e 8 (d) 150 e 9

(e) 210 e 6.

Page 49: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

49 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Resumo direcionado

Conceitos Básicos

A Noção de Programação é essencial para que pessoas possam construir ou desenvolver programas de

computadores, também é definida como um conjunto de técnicas para encadear pensamentos a fim de atingir

determinado objetivo.

Estes objetivos, são alcançados com a programação, esta lógica é obtida através da construção dos mais

diversos tipos de algoritmos. Em outras palavras ao criarmos um algoritmo, este aponta uma sequência de

instruções que levam a solução de um problema existente no mundo real.

Podemos afirmar que a programação faz o uso da lógica da matemática.

O exemplo básico de algoritmo é mostrado na imagem a baixo.

Outro exemplo de algoritmo, porém representando por um diagrama.

Vamos traduzir o diagrama de fluxo que contém o algoritmo?

5. Receba duas notas de um determinado aluno.

6. Some as duas notas e depois as dívida por dois, para acharmos o valor da média.

7. Se a média encontrada, for maior ou igual a cinco, o aluno estar aprovado e fim do algoritmo.

8. Se a média encontrada, for menor que cinco, o aluno estar reprovado e fim do algoritmo.

Viu como é fácil? Se você prestar atenção e ler tudo que escrevo neste material, aprenderá fácil, fácil meus

queridos.

Page 50: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

50 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Variáveis

Variável é um objeto, ou uma posição frequente usada ou localizada na memória do computador, capaz de

reter ou guardar um valor ou expressão. Quando nos referimos a variável, nos referimos ao um ponto na memória

local em que é armazenada uma determinada informação por um período.

As variáveis só existem em tempo de execução, são associadas aos mais diversos elementos e pode ser

associada à: um nome, um número, uma data, um caractere, um valor.

É importante sabermos que existem vários tipos de variáveis e iremos falar sobre as principais, saiba que as

variáveis são muito utilizadas em sistemas, banco de dados, é impossível um programa de computador sem uma

variável.

Iremos decifrar para você o que é uma variável e como ela funciona. Para início de conversa, toda variável

possui um nome, para que possa ser identificada no momento em que ela for chamada pelo programa a ser

utilizada, as variáveis possuem tipos e os definimos de acordo com o conteúdo que será armazenado nela.

Um exemplo básico de uma variável é selecionarmos um espaço de memória para guardar um nome.

Exemplo: nome_cliente “Márcio Saraiva”

Viu como é tranquilo? O nome em negrito acima é uma variável do tipo que guarda texto, ou cárteres, a seta

apontando para a esquerda quer dizer que estou guardando um determinado valor dentro da variável e conteúdo

é o nome do cliente que vem dentro de aspas indicando que é um texto ou caractere.

Existem dois tipos de dados são estes: os dados elementares e os dados estruturados, já explicaremos a

diferencia entre eles.

Tipo de Dados

3. Dados Simples

Os dados elementares, também chamados de dados simples, atômicos ou privados. São assim

chamados, pois não podem ser quebrados em partes menores.

Basicamente, existem 4 tipos de dados elementares: lógico, inteiro, real, caractere.

➢ Logico: os dados lógicos, também conhecido como booleanos, são presentados pelos valores

de (VERDADEIRO ou FALSO), ou (1 ou 0), sempre representado por um dos dois valores,

pessoal, eu disse SEMPRE!

➢ Inteiro: os dados inteiros são popularmente conhecidos pela comunidade de programadores

como int, ele representa dados numéricos, porém, sempre sem a sua parte fracionada, afinal de

contas ele é inteiro. Bem intuitivo!

Exemplo: 200, 680, 1000.

➢ Real: os dados reais, também conhecidos popularmente como, ponto flutuante, ou Double, ou

float. Armazenam dados do tipo numéricos com suas partes fracionadas, ao contrário do inteiro,

o qual falamos agora pouco.

Exemplo: 95,36, 4.250,36.

Page 51: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

51 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

➢ Caracteres: sem dúvidas é o mais usado no meio dos algoritmos, este modelo representa os

dados do tipo letras, dígitos, símbolos.

Exemplo: ‘Maria’, ‘Antônio’, ‘ABC’.

4. Dados Estruturados:

Os dados estruturados, são arranjos ou composições realizadas sobre os dados elementares, por este

motivo, os dados estruturados podem ser chamados de dados compostos. Temos os seguintes tipos:

Vetor, String, Lista.

➢ Vetor: é representado por uma estrutura unidimensional com números fixo de posições que só

aceitam dados do mesmo tipo.

Exemplo: vetor de número com quatro posições: [4,3,2,1]

Exemplo: vetor de String com quatro posições: [‘A’,’B’,’E’,’J’]

Constantes

A constante é muito parecido com a variável, lembrando que, a variável recebe um valor e o guarda em um

espaço de memória e neste caso o valor pode ser alterado várias vezes, quantas vezes você precisar, no caso da

constante o valor é fixo, ele nunca é alterado, esta é a ideia de constante, bem simples mesmo pessoal.

Comandos de Atribuições

Na Ciência da Computação o comando de atribuição define ou redefine o valor armazenado no local de armazenamento indicado por um nome de variável. Na maioria das linguagens de programação imperativas o comando de atribuição é uma das declarações básicas, muito utilizada em variáveis. A instrução de atribuição muitas das vezes permite que o mesmo nome de variável possa conter valores diferentes em momentos diferentes durante a execução do programa. Daí, podemos adentrar na passagem de parâmetros também.

Entrada e Saída

Derivados da sigla E/S, ou mesmo (Input/Output) ou ainda (I/O) é o termo muito utilizado no ramo da

computação, indicando a (inserção) de dados por meio de alguma modalidade de código ou sistema, para o

hardware ou algum outro programa, também, a sua saída de dados ou (obtenção de dados) ou retorno de uma

operação de um processo.

Alguns exemplos de entradas são: teclado, mouse, scanner, leitor de código de barras, joystick.

Alguns exemplos de saídas são: monitor, impressora, caixa de som.

São denominados de dispositivos de entrada e saída, os responsáveis por incorporar e extrair informações

de um sistema de computação. Os periféricos trabalham por meios de interrupções que realizam o processo,

Page 52: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

52 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

executando e o interrompendo, desta maneira, os dispositivos enviam interrupções a CPU por meio do controlador

em conjunto com o processador.

Alunos, falei um pouco sobre a entrada e saída, afinal de contas, quando construímos um algoritmo que fará

parte de um sistema, ele receberá as informações que provavelmente serão armazenadas nas mais diversas

variáveis e posições de memórias, onde serão encaminhadas ao processador para que ele possa realizar os devidos

cálculos com precisão e devolver o retorno da operação.

Em resumo, toda a informação entra (Input), logo em seguida é processada e devolvida (Output).

Resumindo em uma linha: nada é feito por acaso!

Podemos dizer que, quando digitamos um texto em um site de pesquisa ou em um sistema, estamos

inseridos dados, possivelmente realizando uma pesquisa, tentando de alguma forma obter determinada

informação o resultado desta busca, no caso o retorno, é uma saída e dados.

Operadores Aritméticos / Avaliação e Expressões

Os operadores numéricos são essências no processo da Lógica de Programação, pois por meio deles

realizamos as mais diversas operações para obtemos o resultado desejado.

As operações simples são: soma, divisão, multiplicação e subtração.

Agora que já sabemos o que é uma variável, os tipos de variáveis, vamos fazer uma brincadeira.

Faça um algoritmo que receba dois números e execute a somatória.

1 PROGRAMA SOMA:

2 VAR

3 N1, N2, TL;

4 INICIO

5 N1 10;

6 N2 20;

7 TL N1 + N2;

Page 53: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

53 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

8 FIM.

Viu como é bem tranquilo? Porém explicarei detalhadamente cada linha do programa:

➢ Na linha de número 1, damos um nome ao programa, afinal, todo programa tem que ter um

nome.

➢ Na linha de número 2, início onde declaro as variáveis.

➢ Na linha de número 3, declarei 3 variáveis do tipo numéricas, este tipo é adequada para receber

números, desde que não sejam números fracionados.

➢ Na linha de número 4, início o programa, pois todo programa tem um início e fim.

➢ Na linha de número 5, a primeira variável recebe o valor de 10.

➢ Na linha de número 6 a segunda variável recebe o valor de 20.

➢ Na linha de número 7 é realizada a soma das variáveis com os valores contidos nelas e este valor

é lançado dentro da variável de nome TL que significa valor total.

➢ Na linha de número 8 é o fim do programa, pois todo programa tem que ter uma linha de código

finalizando o algoritmo.

Partindo deste princípio observando os detalhes da ordem e execução do algoritmo, nota-se que não é

nenhum bicho de sete cabeças.

A baixo, segue uma pequena tabela dos operadores aritméticos e sua ordem de uso, assim como são usados

na matemática também.

Operadores Relacionais

Os operadores relacionais são utilizados para a comparação de números e literais, retornado valores lógicos,

quando os operadores que possuem a mesma prioridade, o que vier primeiro, deverá ser priorizado. Não podemos

nos esquecer que os parênteses sempre possui a maior prioridade. Os valores retornados sempre serão booleanos,

isto é, (VERDADEIRO ou FALSO).

Page 54: Aula 00 Noções de programação e Algoritmos · Prof. Hamilton RodriguesNoções de programação Aula 00 2 de 102| e Algoritmos Engenharia de Software e Noções de Programação

Prof. Márcio Saraiva

Aula 00

54 de 54| www.direcaoconcursos.com.br

SEFAZ – CE Noções de Programação

Operadores Lógicos

Os operadores lógicos, servem para combinar valores de expressões retornando valores lógicos

(VERDADEIRO ou FALSO).

Estrutura de Controle: Decisão e Repetição

As estruturas de controles, permitem que um programa de computador mude a direção do fluxo sequencial

e execução de determinada instrução do algoritmo, baseados em parâmetros definidos pelo programador.