mpu prof. márcio saraiva...a (poo) é um dos 4 principais paradigmas de programação (as outras...
TRANSCRIPT
Prof. Márcio Saraiva
Aula 00
1 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Aula 00 – Noções de Linguagens
de Programação, Lógica, Estrutura
de Programação, Linguagens de
Script.
Prof. Márcio Saraiva -
Prof. Márcio Saraiva
Aula 00
2 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Sumário
SUMÁRIO ........................................................................................................................................... 2
COMO ESTE CURSO ESTÁ ORGANIZADO .............................................................................................. 6
INTRODUÇÃO ..................................................................................................................................... 7
CONCEITOS BÁSICOS ................................................................................................................................................ 7
INTERPRETAÇÃO E COMPILAÇÃO ................................................................................................................................ 8
TIPOS DE PROGRAMAÇÃO:......................................................................................................................................... 8
1. PROGRAMAÇÃO ESTRUTURADA ...................................................................................................................... 8
2. PROGRAMAÇÃO LINEAR ................................................................................................................................. 9
3. PROGRAMAÇÃO ORIENTADA A OBJETOS .......................................................................................................... 9
4. PROGRAMAÇÃO MODULAR .......................................................................................................................... 10
LINGUAGENS DE SCRIPT .......................................................................................................................................... 10
VARIÁVEIS ............................................................................................................................................................. 11
TIPO DE DADOS ..................................................................................................................................................... 11
1. DADOS SIMPLES ......................................................................................................................................... 11
2. DADOS ESTRUTURADOS: ............................................................................................................................. 12
CONSTANTES ........................................................................................................................................................ 12
COMANDOS DE ATRIBUIÇÕES ................................................................................................................................... 12
ENTRADA E SAÍDA .................................................................................................................................................. 13
OPERADORES ARITMÉTICOS / AVALIAÇÃO E EXPRESSÕES ............................................................................................ 14
OPERADORES RELACIONAIS ..................................................................................................................................... 15
OPERADORES LÓGICOS ........................................................................................................................................... 16
ESTRUTURA DE CONTROLE: DECISÃO E REPETIÇÃO ..................................................................................................... 16
1. ESTRUTURA DE DECISÃO .............................................................................................................................. 16
2. ESTRUTURA DE REPETIÇÃO........................................................................................................................... 19
SUBPROGRAMAÇÃO................................................................................................................................................ 20
PASSAGEM DE PARÂMETROS ................................................................................................................................... 21
FUNÇÕES .............................................................................................................................................................. 22
PROCEDIMENTOS ................................................................................................................................................... 22
RECURSIVIDADE ..................................................................................................................................................... 22
QUESTÕES COMENTADAS PELO PROFESSOR..................................................................................... 23
GABARITO ........................................................................................................................................ 40
RESUMO DIRECIONADO .................................................................................................................... 52
CONCEITOS BÁSICOS .............................................................................................................................................. 52
INTERPRETAÇÃO E COMPILAÇÃO .............................................................................................................................. 52
TIPOS DE PROGRAMAÇÃO:....................................................................................................................................... 53
1. PROGRAMAÇÃO ESTRUTURADA .................................................................................................................... 53
2. PROGRAMAÇÃO LINEAR ............................................................................................................................... 53
3. PROGRAMAÇÃO ORIENTADA A OBJETOS ........................................................................................................ 54
4. PROGRAMAÇÃO MODULAR .......................................................................................................................... 54
LINGUAGENS DE SCRIPT .......................................................................................................................................... 55
TIPO DE DADOS ..................................................................................................................................................... 55
1. DADOS SIMPLES ......................................................................................................................................... 55
Prof. Márcio Saraiva
Aula 00
3 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
2. DADOS ESTRUTURADOS: ............................................................................................................................. 56
CONSTANTES ........................................................................................................................................................ 56
COMANDOS DE ATRIBUIÇÕES ................................................................................................................................... 56
ENTRADA E SAÍDA .................................................................................................................................................. 56
OPERADORES ARITMÉTICOS / AVALIAÇÃO E EXPRESSÕES ............................................................................................ 57
Prof. Márcio Saraiva
Aula 00
4 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Prof. Márcio Saraiva
Aula 00
5 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Neste material você terá:
Você nunca estudou Noções de Linguagens de Programação, Lógica, Estrutura de Programação,
Linguagens de Script 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ÍDEO
teoria e exercícios resolvidos sobre TODOS os pontos do edital (Noções de Linguagens de Programação, Lógica, Estrutura de Programação, Linguagens de Script.
Curso completo escrito (PDF)teoria e MAIS exercícios resolvidos sobre TODOS os pontos do edital (Noções de Linguagens
de Programação, Lógica, Estrutura de Programação, Linguagens de Script.)
Acesso direto ao professorpara você sanar suas dúvidas DIRETAMENTE conosco sempre que precisar
Prof. Márcio Saraiva
Aula 00
6 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
04 01/02 Noções de Linguagens de Programação, Lógica, Estrutura
de Programação, Linguagens de Script.
Prof. Márcio Saraiva
Aula 00
7 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Noções de Linguagens de Programação, Lógica, Estrutura de Programação, Linguagens de Script.
Introdução
Olá, meu querido ou minha querida, tudo bem com você? Espero que sim! Bom, hoje falaremos sobre Linguagens 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 as Linguagens de Programação, pois ela está embutida, acoplada, inserida, contida em quase tudo que olhamos, tocamos ou usamos.
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 Linguagem 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 Linguagem 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 linguagem de programação é um método padronizado, formado por um conjunto de regras sintáticas e semânticas que seguem um padrão determinado e de implementação de um código fonte, que pode ser compilado e transformado em um programa de computador, ou mesmo, usado como script interpretado que informará as instruções previamente escritas e de processamento ao computador. Permite ao programador especificar precisamente em quais os dados que o computador irá atuar, como estes dados serão armazenados ou transmitidos e, quais ações devem ser tomadas de acordo com as circunstâncias.
Linguagens de programação, podem ser usadas para expressar algoritmos com precisão. Um conjunto de palavras, compostas de domínio com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo microprocessador.
Entre os principais objetivos da uma linguagem de programação, é que programadores tenham uma maior produtividade, permitindo expressar suas intenções e ideias facilmente do que quando comparado com a linguagem que um computador entende nativamente, ou seja, (código de máquina). Assim, as linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser de fácil entendimento por programadores humanos. As Linguagens de programação, são ferramentas importantes para que o programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.
Também, tornam os programas menos dependentes de computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade), função esta que tem se tornado características nas principais linguagens de programação. Isto acontece porque os programas escritos em linguagens de programação são traduzidos para o código de máquina do computador no qual será executado em vez de ser diretamente executado.
Prof. Márcio Saraiva
Aula 00
8 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Interpretação e Compilação
Pessoal, a linguagem de programação pode ser convertida, ou traduzida, em código de máquina ou compilação ou mesmo ser interpretada por um processo denominado interpretação. Em ambas, ocorre a chamada tradução do código fonte para o código de máquina.
Se o método utilizado realiza a tradução do texto do programa, para só depois executar o programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador (que por sua vez nada mais é do que um programa), este compilador, realiza a leitura de toda a escrita, verificando linha a linha se há erros, para depois de compilado criar um executável. A versão compilada do programa tipicamente é armazenada, de forma que o programa possa ser executado um número indefinido de vezes sem que seja necessária nova compilação, (daí, o técnica de compilação), o que compensa o tempo gasto na compilação. Algumas das linguagens que funcionam no processo de compilação são: Pascal, Delphi, C.
Existem também, as linguagens de programação, a medida em que o código é lido pelo interpretador de código de programação, a exemplos temos: JavaScript, Python, Basic.
Vista, haja essa distinção entre as linguagens de programação interpretadas e compiladas, na maioria das vezes não é tão simples como parece. Ai você me pergunta, mas porque Prof.? E eu te respondo. Existem linguagens que são compiladas para um código de máquina virtual, na verdade, esta máquina é apenas um software, que emula de maneira perfeita uma máquina virtual, temos como uma das mais conhecidas a máquina virtual Java ou JVM como é conhecida.
Tipos de Programação:
1. Programação Estruturada
Programação Estruturada (PE) é um padrão ou paradigma de programação, com ênfase em sequência, decisão e iteração (sub-rotinas, laços de repetição, condicionais e estruturas em bloco), criado no final de 1950 junto às linguagens ALGOL.
Prof. Márcio Saraiva
Aula 00
9 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Este paradigma é normalmente formado por código em um único bloco e foi impulsionado pelas vantagens práticas que o paradigma oferece e também pelo teorema do programa estruturado de 1966, também chamado de teorema de Bohm-Jacopini, na verdade, muitas dessas linguagens não possuem GOTOs, a programação não estruturada (nota: Donald Knuth advogou o GOTO em algumas circunstâncias.
A Programação Estruturada, foi o paradigma dominante na escrita de software até a programação orientada a objetos (POO). Enquanto a (PE) fia-se em estruturas de controle de alto nível (em oposição ao uso de GOTOs), concepções top-down e refinamento por passos, a POO se baseia no conceito de objetos que possuem atributos (dados) e métodos (procedimentos).
Apesar de ter sido sucedida pela POO, a PE ainda é muito influente pois grande parte das pessoas ainda aprende programação através dela. Para a resolução de problemas simples e diretos, a programação estruturada é bastante eficiente (talvez mais eficiente que a POO). Além disso, por exigir formas de pensar relativamente complexas, a POO até hoje ainda não é bem compreendida ou usada pela maioria. Diversas linguagens relevantes hoje (e.g. Cobol, PHP, Perl e Go) ainda utilizam o paradigma estruturado, embora possuam suporte para a orientação ao objeto e para outros paradigmas de programação.
2. Programação Linear
Em matemática, problemas de Programação Linear (PL), são problemas de optimização nos quais a função objetivo e as restrições são todas lineares.
Programação Linear é uma importante área da optimização pelos mais diversos motivos. Muitos problemas práticos em pesquisa operacional podem ser expressos como problemas de programação linear. Alguns situações especiais dessa natureza, tais como problemas de network flow e problemas de multicommodity flow são considerados importantes o suficiente para que se tenha gerado muita pesquisa em algoritmos especializados para suas soluções. Vários algoritmos para outros tipos de problemas de optimização funcionam resolvendo problemas de (PL) como subproblemas. Historicamente, ideias da programação linear inspiraram muitos dos conceitos centrais de teoria da optimização, tais como dualidade, decomposição, e a importância da convexidade e suas generalizações.
3. Programação Orientada a Objetos
Programação Orientada a Objetos, também conhecida pela sua sigla POO é um modelo de análise, projeto e programação de software baseado na composição e interação entre diversas unidades chamadas de objetos.
A (POO) é um dos 4 principais paradigmas de programação (as outras são programação imperativa, funcional e lógica). Os objetos são operados com o conceito de This (isto) ou Self (si), de forma que seus métodos muitas vezes modificam os dados da própria instância. Os programas são arquitetados através de objetos que interagem entre si. Entre as diversas abordagens da POO, as baseadas em classes são as mais comuns: objetos são instâncias de classes, o que em geral também define o tipo do objeto. Cada classe determina o comportamento que é definido nos métodos e estados possíveis no caso, os atributos de seus objetos, assim como o relacionamento com outros objetos.
A alternativa mais usada no uso de classes é o uso de protótipos. Desta forma, os objetos são cópias de outros objetos, não instâncias de classes. JavaScript é o um exemplo de linguagem cuja POO é realizada por protótipos. A diferença prática mais evidente é que na POO baseada em protótipos, apenas a herança simples é implementada pela cópia do objeto. Assim, na POO, implementa-se um
Prof. Márcio Saraiva
Aula 00
10 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
conjunto de classes passíveis de serem instanciadas como objetos, e.g. Python e C++ ou objetos protótipos que são copiados e alterados, e.g. JavaScript.
Em alguns contextos, o termo modelagem orientada ao objeto (MOO) é preferível ao termo POO. Entretanto, o paradigma (orientado ao objeto) tem origem nos estudos da cognição e influenciou a inteligência artificial e a linguística, dada a relevância para a abstração de conceitos do mundo real. A MOO é considerada a melhor estratégia para diminuir o (gap semântico) e facilita a comunicação das partes interessadas no modelo ou software (e.g. o modelador e o usuário final) na medida em que conceitos, terminologia, símbolos, grafismo e estratégias, são, potencialmente, mais óbvios, intuitivos, naturais e exatos.
4. Programação Modular
Programação modular é a forma de programação no qual o desenvolvimento das rotinas de
programação é concebida através de módulos, que são interligados entre si através de uma interface
comum. Foi apresentado originalmente pela Information & Systems Institute, Inc. no National
Symposium on Modular Programming em 1968, com a liderança de Larry Constantine. Exemplos de
linguagens que orientaram seu projeto para este aspecto estão as linguagens Modula-2.
Linguagens de Script
Linguagem de Script é uma linguagem de programação que suporta scripts, programas escritos para um sistema de tempo de execução ágio que é capaz de automatizar a execução de tarefas que poderiam alternativamente ser executadas uma por vez por um operador humano. As Linguagens de script, são frequentemente interpretadas ao contrário das linguagens compiladas. Primitivas, são frequentemente as tarefas elementares ou chamadas de API, e a linguagem permite a elas serem combinadas dentro de programas complexos. Os ambientes que podem ser automatizados através de Scripting incluem aplicações de software, páginas web dentro de um navegador, o shell, esta muito utilizada em sistemas operacionais Linux, bem como os numerosos games. Uma linguagem de script pode ser vista como uma linguagem de domínio específico para um ambiente particular, no caso do Scripting, uma aplicação, que é também conhecida como uma linguagem de extensão. Linguagens de script são algumas vezes referidas como linguagem de programação de altíssimo nível, pois elas operam com um alto nível de abstração, ou como as linguagens de controle, elas são particularmente para linguagens de controle de emprego em mainframes.
O termo linguagem de script é também vagamente usado para se referir a linguagens de propósitos diversos de alto nível e dinâmicas, a exemplos temos: Perl e Python com o termo script, frequentemente usado para pequenos programas, pouco mais de alguns milhares de linhas de código, em tais linguagens, ou em linguagens de domínio específico tais como as linguagens de processamento de texto. Algumas destas linguagens foram originalmente desenvolvidas para uso dentro de um ambiente particular, e posteriormente desenvolvidas em linguagens de propósitos diversos ou de domínio específico portáteis. Inversamente, muitas linguagens de propósitos diversos têm dialetos que podem ser usados como linguagens de script. Este artigo examina as linguagens de script no sentido estrito de linguagens para um ambiente específico.
Prof. Márcio Saraiva
Aula 00
11 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
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.
Prof. Márcio Saraiva
Aula 00
12 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
➢ 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.
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:
Prof. Márcio Saraiva
Aula 00
13 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
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).
Prof. Márcio Saraiva
Aula 00
14 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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;
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.
Prof. Márcio Saraiva
Aula 00
15 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
➢ 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).
Prof. Márcio Saraiva
Aula 00
16 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
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
Prof. Márcio Saraiva
Aula 00
17 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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
Prof. Márcio Saraiva
Aula 00
18 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
19 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
20 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
➢ 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.
Prof. Márcio Saraiva
Aula 00
21 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
22 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
23 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
24 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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.
Prof. Márcio Saraiva
Aula 00
25 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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
Prof. Márcio Saraiva
Aula 00
26 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
27 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
28 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
29 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
30 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
31 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
32 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
33 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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.
Prof. Márcio Saraiva
Aula 00
34 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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
Prof. Márcio Saraiva
Aula 00
35 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
36 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
37 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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
Prof. Márcio Saraiva
Aula 00
38 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
39 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
40 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
41 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
42 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
43 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
(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.
Prof. Márcio Saraiva
Aula 00
44 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
45 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
46 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
47 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
48 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
49 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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.
Prof. Márcio Saraiva
Aula 00
50 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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
Prof. Márcio Saraiva
Aula 00
51 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
( ) 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.
Prof. Márcio Saraiva
Aula 00
52 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Resumo direcionado
Conceitos Básicos
A linguagem de programação é um método padronizado, formado por um conjunto de regras sintáticas e semânticas que seguem um padrão determinado e de implementação de um código fonte, que pode ser compilado e transformado em um programa de computador, ou mesmo, usado como script interpretado que informará as instruções previamente escritas e de processamento ao computador. Permite ao programador especificar precisamente em quais os dados que o computador irá atuar, como estes dados serão armazenados ou transmitidos e, quais ações devem ser tomadas de acordo com as circunstâncias.
Linguagens de programação, podem ser usadas para expressar algoritmos com precisão. Um conjunto de palavras, compostas de domínio com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo microprocessador.
Entre os principais objetivos da uma linguagem de programação, é que programadores tenham uma maior produtividade, permitindo expressar suas intenções e ideias facilmente do que quando comparado com a linguagem que um computador entende nativamente, ou seja, (código de máquina). Assim, as linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser de fácil entendimento por programadores humanos. As Linguagens de programação, são ferramentas importantes para que o programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.
Também, tornam os programas menos dependentes de computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade), função esta que tem se tornado características nas principais linguagens de programação. Isto acontece porque os programas escritos em linguagens de programação são traduzidos para o código de máquina do computador no qual será executado em vez de ser diretamente executado.
Interpretação e Compilação
Prof. Márcio Saraiva
Aula 00
53 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Pessoal, a linguagem de programação pode ser convertida, ou traduzida, em código de máquina ou compilação ou mesmo ser interpretada por um processo denominado interpretação. Em ambas, ocorre a chamada tradução do código fonte para o código de máquina.
Se o método utilizado realiza a tradução do texto do programa, para só depois executar o programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador (que por sua vez nada mais é do que um programa), este compilador, realiza a leitura de toda a escrita, verificando linha a linha se há erros, para depois de compilado criar um executável. A versão compilada do programa tipicamente é armazenada, de forma que o programa possa ser executado um número indefinido de vezes sem que seja necessária nova compilação, (daí, o técnica de compilação), o que compensa o tempo gasto na compilação. Algumas das linguagens que funcionam no processo de compilação são: Pascal, Delphi, C.
Existem também, as linguagens de programação, a medida em que o código é lido pelo interpretador de código de programação, a exemplos temos: JavaScript, Python, Basic.
Vista, haja essa distinção entre as linguagens de programação interpretadas e compiladas, na maioria das vezes não é tão simples como parece. Ai você me pergunta, mas porque Prof.? E eu te respondo. Existem linguagens que são compiladas para um código de máquina virtual, na verdade, esta máquina é apenas um software, que emula de maneira perfeita uma máquina virtual, temos como uma das mais conhecidas a máquina virtual Java ou JVM como é conhecida.
Tipos de Programação:
1. Programação Estruturada
Programação Estruturada (PE) é um padrão ou paradigma de programação, com ênfase em sequência, decisão e iteração (sub-rotinas, laços de repetição, condicionais e estruturas em bloco), criado no final de 1950 junto às linguagens ALGOL.
Este paradigma é normalmente formado por código em um único bloco e foi impulsionado pelas vantagens práticas que o paradigma oferece e também pelo teorema do programa estruturado de 1966, também chamado de teorema de Bohm-Jacopini, na verdade, muitas dessas linguagens não possuem GOTOs, a programação não estruturada (nota: Donald Knuth advogou o GOTO em algumas circunstâncias.
A Programação Estruturada, foi o paradigma dominante na escrita de software até a programação orientada a objetos (POO). Enquanto a (PE) fia-se em estruturas de controle de alto nível (em oposição ao uso de GOTOs), concepções top-down e refinamento por passos, a POO se baseia no conceito de objetos que possuem atributos (dados) e métodos (procedimentos).
Apesar de ter sido sucedida pela POO, a PE ainda é muito influente pois grande parte das pessoas ainda aprende programação através dela. Para a resolução de problemas simples e diretos, a programação estruturada é bastante eficiente (talvez mais eficiente que a POO). Além disso, por exigir formas de pensar relativamente complexas, a POO até hoje ainda não é bem compreendida ou usada pela maioria. Diversas linguagens relevantes hoje (e.g. Cobol, PHP, Perl e Go) ainda utilizam o paradigma estruturado, embora possuam suporte para a orientação ao objeto e para outros paradigmas de programação.
2. Programação Linear
Em matemática, problemas de Programação Linear (PL), são problemas de optimização nos quais a função objetivo e as restrições são todas lineares.
Prof. Márcio Saraiva
Aula 00
54 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Programação Linear é uma importante área da optimização pelos mais diversos motivos. Muitos problemas práticos em pesquisa operacional podem ser expressos como problemas de programação linear. Alguns situações especiais dessa natureza, tais como problemas de network flow e problemas de multicommodity flow são considerados importantes o suficiente para que se tenha gerado muita pesquisa em algoritmos especializados para suas soluções. Vários algoritmos para outros tipos de problemas de optimização funcionam resolvendo problemas de (PL) como subproblemas. Historicamente, ideias da programação linear inspiraram muitos dos conceitos centrais de teoria da optimização, tais como dualidade, decomposição, e a importância da convexidade e suas generalizações.
3. Programação Orientada a Objetos
Programação Orientada a Objetos, também conhecida pela sua sigla POO é um modelo de análise, projeto e programação de software baseado na composição e interação entre diversas unidades chamadas de objetos.
A (POO) é um dos 4 principais paradigmas de programação (as outras são programação imperativa, funcional e lógica). Os objetos são operados com o conceito de This (isto) ou Self (si), de forma que seus métodos muitas vezes modificam os dados da própria instância. Os programas são arquitetados através de objetos que interagem entre si. Entre as diversas abordagens da POO, as baseadas em classes são as mais comuns: objetos são instâncias de classes, o que em geral também define o tipo do objeto. Cada classe determina o comportamento que é definido nos métodos e estados possíveis no caso, os atributos de seus objetos, assim como o relacionamento com outros objetos.
A alternativa mais usada no uso de classes é o uso de protótipos. Desta forma, os objetos são cópias de outros objetos, não instâncias de classes. JavaScript é o um exemplo de linguagem cuja POO é realizada por protótipos. A diferença prática mais evidente é que na POO baseada em protótipos, apenas a herança simples é implementada pela cópia do objeto. Assim, na POO, implementa-se um conjunto de classes passíveis de serem instanciadas como objetos, e.g. Python e C++ ou objetos protótipos que são copiados e alterados, e.g. JavaScript.
Em alguns contextos, o termo modelagem orientada ao objeto (MOO) é preferível ao termo POO. Entretanto, o paradigma (orientado ao objeto) tem origem nos estudos da cognição e influenciou a inteligência artificial e a linguística, dada a relevância para a abstração de conceitos do mundo real. A MOO é considerada a melhor estratégia para diminuir o (gap semântico) e facilita a comunicação das partes interessadas no modelo ou software (e.g. o modelador e o usuário final) na medida em que conceitos, terminologia, símbolos, grafismo e estratégias, são, potencialmente, mais óbvios, intuitivos, naturais e exatos.
4. Programação Modular
Programação modular é a forma de programação no qual o desenvolvimento das rotinas de programação
é concebida através de módulos, que são interligados entre si através de uma interface comum. Foi
apresentado originalmente pela Information & Systems Institute, Inc. no National Symposium on Modular
Programming em 1968, com a liderança de Larry Constantine. Exemplos de linguagens que orientaram
seu projeto para este aspecto estão as linguagens Modula-2.
Prof. Márcio Saraiva
Aula 00
55 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
Linguagens de Script
Linguagem de Script é uma linguagem de programação que suporta scripts, programas escritos para um sistema de tempo de execução ágio que é capaz de automatizar a execução de tarefas que poderiam alternativamente ser executadas uma por vez por um operador humano. As Linguagens de script, são frequentemente interpretadas ao contrário das linguagens compiladas. Primitivas, são frequentemente as tarefas elementares ou chamadas de API, e a linguagem permite a elas serem combinadas dentro de programas complexos. Os ambientes que podem ser automatizados através de Scripting incluem aplicações de software, páginas web dentro de um navegador, o shell, esta muito utilizada em sistemas operacionais Linux, bem como os numerosos games. Uma linguagem de script pode ser vista como uma linguagem de domínio específico para um ambiente particular, no caso do Scripting, uma aplicação, que é também conhecida como uma linguagem de extensão. Linguagens de script são algumas vezes referidas como linguagem de programação de altíssimo nível, pois elas operam com um alto nível de abstração, ou como as linguagens de controle, elas são particularmente para linguagens de controle de emprego em mainframes.
O termo linguagem de script é também vagamente usado para se referir a linguagens de propósitos diversos de alto nível e dinâmicas, a exemplos temos: Perl e Python com o termo script, frequentemente usado para pequenos programas, pouco mais de alguns milhares de linhas de código, em tais linguagens, ou em linguagens de domínio específico tais como as linguagens de processamento de texto. Algumas destas linguagens foram originalmente desenvolvidas para uso dentro de um ambiente particular, e posteriormente desenvolvidas em linguagens de propósitos diversos ou de domínio específico portáteis. Inversamente, muitas linguagens de propósitos diversos têm dialetos que podem ser usados como linguagens de script. Este artigo examina as linguagens de script no sentido estrito de linguagens para um ambiente específico.
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.
Prof. Márcio Saraiva
Aula 00
56 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
➢ 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.
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,
executando e o interrompendo, desta maneira, os dispositivos enviam interrupções a CPU por meio do controlador
em conjunto com o processador.
Prof. Márcio Saraiva
Aula 00
57 de 57| www.direcaoconcursos.com.br
MPU – Noções de Linguagens de Programação, Lógica, Estrutura de
Programação, Linguagens de Script.
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;