Buscar

Algoritmo conteúdo e teste de conhecimento das aulas 1 a 10

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos / Aula 1 - Introdução à lógica de programação
Entendo a programação...
A Informática é uma área que permeia quase todas as outras áreas. Na Engenharia, Agronomia, Arquitetura e até nas artes podemos encontrar exemplos de aplicações da tecnologia da informação.
Um sistema computacional é composto pela combinação de hardware e software.
O que é lógica de programação?
Um bebê sabe que precisa chorar para receber atenção; Para pegar a caneta que está dentro 
da gaveta fechada, precisamos primeiro abrir a gaveta para depois pegar a caneta.
O pensamento (e a lógica) pode ser expresso por meio da palavra falada ou da palavra escrita. Um mesmo pensamento pode ser expresso em inúmeros idiomas, tanto oralmente quanto por escrito.
A forma de representar o pensamento é muito importante na programação de computadores porque, quando um programador ou analista pensa em um programa, ele precisa saber expressar seu raciocínio por meio de uma representação ou mesmo de uma linguagem gráfica.
Nas empresas, isso é muito comum. Existem diagramas específicos para representar fluxos de processos e outros procedimentos. Por exemplo: os organogramas, que mostram a divisão funcional de pessoas; as plantas de arquitetura e outros exemplos nos quais encontramos desenhos que representam algum processo ou projeto.
Atenção
Na informática não é diferente, e usamos alguns recursos para representar o conhecimento. Os exemplos mais comuns são os fluxogramas e os algoritmos. Você vai perceber que esses recursos não são exclusivos da área. Eles podem e devem ser usados em várias situações do nosso dia.
Os fluxogramas
Em qualquer tipo de tamanho de projeto, sendo ele de software ou não, é feito um planejamento ou um esboço do que será desenvolvido.
Esses esboços são muito importantes porque ajudam tanto a equipe de desenvolvimento quanto o cliente a entender melhor o problema a ser resolvido. Servem também como uma ferramenta de apoio e linguagem comum entre quem está desenvolvendo e o cliente.
Uma forma de criar o esboço de um projeto em programação de computadores é o fluxograma.
Saiba mais
A representação gráfica possibilita que entendamos, de forma rápida e fácil, uma solução para um problema e mostra a como as informações ou documentos entre os elementos que participam no processo são transformadas.
Criação de fluxogramas
A existência de fluxogramas na representação de processos é fundamental para a padronização do trabalho. Além de auxiliar a compreensão dos processos desenvolvidos em cada departamento ou área da empresa, pode indicar oportunidades de otimização.
Veja dois exemplos de fluxogramas:
Suponha que um processo vá ser representado por um retângulo. E para o início e fim do desenho, vamos usar um retângulo arredondado. Sendo assim, para ligar um carro, o desenho do fluxo seria assim:
2. Vamos examinar um exemplo de outra situação: o objetivo é determinar o valor do saldo no final do 3º mês de uma aplicação financeira, com investimento inicial de R$100,00, com juros de 1% ao mês.
Observe o fluxograma a seguir:
No nosso exemplo, temos alguns valores que podem variar:
i: valor do investimento inicial;
j: a taxa de juros;
p: saldo ao final do 1º mês;
s: saldo ao final do 2º mês;
t: saldo ao final do 3º mês.
Você sabe o significado de cada figura nos fluxogramas?
No fluxograma, vimos que existem figuras diferentes, cada uma delas com um significado. Observe:
Observe agora um fluxograma um pouco mais complexo:
Não diga que é complicado! Ele é apenas um pouco mais elaborado do que os outros e mostra que nem todas as tarefas são sequenciais.
O que faz este fluxograma?
Siga as setas! Atenção aos desvios do fluxo.
GABARITO
Ele avalia e calcula as raízes de uma equação do segundo grau. Para que seja possível executar a operação x = -b/(2*a), é preciso verificar se o valor de a não é zero.
Para terminar, observe que também existem fluxogramas para problemas que não sejam exclusivamente matemáticos.
Veja o fluxograma a seguir:
Esse é mais simples, né?
A outra forma que vamos estudar, a qual representa uma solução de um problema, é o famoso algoritmo.
Algoritmos
O algoritmo é a representação do pensamento descrito como uma sequência de passos que visam atingir um objetivo.
Quer ver um exemplo?
Olhe como eles são mais simples e corriqueiros do que imaginamos:
Receita de bolo;
Orientação para se chegar a algum endereço;
Um manual de instruções.
E qual a importância dos algoritmos na programação?
Eles servem para representar o raciocínio, independentemente de detalhes computacionais, ou seja, deixam os detalhes que uma linguagem de programação possui. Esses detalhes podem ser acrescentados mais tarde. O importante é focalizar primeiro na resolução algorítmica do problema, possibilitando depois codificá-la em qualquer linguagem.
Escrever um algoritmo é fácil. E quanto mais simples você escrever, mais claro e objetivo ele será.
Quer ver um exemplo?
Como fazemos para trocar uma lâmpada? Trata-se de uma sequência de passos, não é mesmo?
Temos que:
1. Pegar uma escada;
2. Posicionar a escada embaixo da lâmpada;
3. Buscar uma lâmpada nova;
4. Subir na escada;
5. Retirar a lâmpada velha;
6. Colocar uma lâmpada nova.
Saiba mais
Dependendo da equipe, do problema ou do projeto, é bom usar uma dessas duas formas (algoritmos ou fluxogramas), ou até mesmo as duas formas simultaneamente, se for o caso, para poder esclarecer com precisão a solução de um determinado problema. O algoritmo é muito usado em várias situações. Na matemática, existem vários tipos de algoritmos, assim como na genética em Biologia e até mesmo na Administração e Economia.
Como escrever um algoritmo?
A forma mais comum de escrever um algoritmo é usar uma linguagem chamada de português estruturado ou portugol. Esta forma é a que mais se aproxima da definição de algoritmos como conhecemos.
O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido.
Apesar disso, a aparência do português estruturado é muito semelhante a uma linguagem de programação tradicional. Ele possui um conjunto de palavras e regras que formam as sentenças válidas e compõem a sintaxe da linguagem.
Veja o exemplo de um algoritmo em português estruturado na tela do computador:
Veja que temos frases curtas e imperativas, ou seja, estamos “mandando” o computador executar pequenas ordens que devem ser muito claras.
Veja outro exemplo de algoritmo:
Viu que um algoritmo não precisa ser tão “matemático” ou “computacional” como o primeiro exemplo?
Ele também serve para documentar qualquer tipo de processo, em qualquer área.
Atenção
Você já entendeu que é possível representar programas de computador ou processos por meio de figuras (no fluxograma) ou por texto (no caso de algoritmo). É preciso agora entender como de fato os computadores são programados. Para isto, usamos uma linguagem de programação.
Linguagens de programação
As linguagens de programação não surgiram recentemente. Elas fazem parte da história da computação, de uma maneira muito marcante.
A figura a seguir mostra um pequeno resumo de como as linguagens de programação surgiram ao longo do tempo, desde a década de 1960:
Reflexão
Em 1960, não tínhamos a internet na forma como é hoje, logo a linguagem Fortran, que é uma das primeiras a serem usadas em grande escala, não serve para programar para a internet. Essa linguagem era voltada para as características de sua época como cálculos científicos e outros. E assim ocorreu com as outras linguagens. Veja como evoluíram até chegar à linguagem C++, que vamos estudar nesta disciplina. E veja que o C++ deu origem a duas grandes linguagens muito usadas atualmente: o Java e o C#.
Como um computadoré organizado internamente?
Muito bem, um estudo introdutório de programação não pode deixar de abordar a plataforma onde ele vai ser utilizado. O hardware é o parceiro do software, por isso, vamos estudar a organização básica de computadores, ou seja, vamos ver como ele é por dentro.
Assim como qualquer equipamento moderno como a TV, o telefone, o automóvel e outros, o computador é fruto direto da evolução tecnológica das últimas décadas. É claro que em 1940, quando apareceu o primeiro computador, a tecnologia não era como hoje. Naquela época, mal tínhamos a telefonia como conhecemos hoje, imagine um computador. A história dos computadores é dividida em gerações, e vamos dar uma rápida olhada em cada uma delas:
1943
A primeira geração dos computadores foi marcada pelo ENIAC (Electrical Numerical Integrator and Calculator). Ele foi criado em 1943 por John Eckert e John Mauchly e era bem diferente do que conhecemos por um computador atual.
1947
A segunda geração dos computadores ficou marcada pelo desenvolvimento do transístor em 1947.
Os transístores oferecem muitas vantagens em relação às válvulas:
São muito menores que as válvulas;
Muito mais econômicos;
Muito mais rápidos;
Não esquentam.
1951
Em 1951, foi criado o UNIVAC (Universal Automatic Computer). Os computadores desta época eram diferentes dos atuais em vários sentidos. Um deles é que os computadores eram construídos com finalidades muito específicas.
Período de 1965 a 1970 – Terceira geração
Outro grande avanço na eletrônica contribuiu diretamente na arquitetura dos computadores: o surgimento do circuito integrado (CI), também chamado de microchip.
Começo da década de 1970 – Quarta Geração
Os computadores ficam menores ainda e começam a usar o microprocessador, que é um circuito com vários circuitos eletrônicos presentes internamente.
Dias atuais
Depois da quarta geração, os computadores tiveram uma evolução muito rápida.
Vamos saber mais sobre a tecnologia nos dias atuais a seguir.
Dias atuais
Depois da quarta geração, os computadores tiveram uma evolução muito rápida. Assim como a tecnologia evoluiu em outras áreas, o computador seguiu esta evolução. Porém, mesmo com os computadores modernos que temos hoje, ultrabooks, tablets, surfaces e outros, sua arquitetura interna não foi tão modificada assim.
Comentário
Essa arquitetura foi criada por John Von Neumann, um matemático húngaro naturalizado estadunidense que contribuiu com várias áreas, inclusive a computação. A arquitetura desenvolvida por ele é usada de uma maneira geral nos computadores mais modernos, inclusive em supercomputadores, com algumas variações, mas de qualquer forma obedecem ao princípio desenvolvido por Von Neumann.
A arquitetura tem o seguinte diagrama. Von Neumann sugeriu uma forma de organizar o computador por meio dos seguintes elementos:
UMA MEMÓRIA, DIVIDIDA EM PRIMITIVA E SECUNDÁRIA
A memória primária é o que conhecemos como RAM: memória de acesso aleatório, podendo ser escrita e apagada.
UMA UNIDADE DE CONTROLE
Responsável pela sincronização entre os demais componentes.
UMA UNIDADE LÓGICA E ARITMÉTICA ( ALU)
Responsável pelos cálculos e seus controles.
DISPOSITIVOS DE ENTRADA E SAÍDA
Compreendendo os discos, pendrives e demais dispositivos de armazenamento.
Atividade
Observe o esquema a seguir e escreva qual funcionamento básico de um computador convencional de acordo com seu significado. 
GABARITO
1. Armazenamento Secundário
2. Entrada
3. Processamento
4. Processamento
5. Saída
2. O elemento de um microcomputador que não pode ter dados gravados pelo usuário, mas cuja gravação das informações referentes às rotinas de inicialização é feita pelo fabricante do microcomputador é:
 O cache do disco rígido.
Certo -A memória ROM.
 A memória RAM.
 O Universal Serial Bus (USB).
 A memória virtual.
3. Assinale a alternativa correta:
 Os algoritmos só servem para algumas linguagens de programação.
 Não podemos usar algoritmos para processos gerenciais.
Certo - Os algoritmos são independentes da linguagem de programação.
 Os algoritmos só são utilizados após o desenvolvimento de um programa, para poder validá-lo com o usuário.
 Os algoritmos são usados apenas pelos gerentes e analistas. O programador não tem acesso a esse nível de documentação.
4. Verifique as afirmações abaixo e assinale a alternativa correta:
I) Fluxograma e algoritmo são a mesma coisa.
II) O fluxograma serve para mostrar um processo de uma maneira gráfica.
III) O algoritmo mostra os detalhes de implementação de uma linguagem.
Somente I
Somente II - certo
Somente III
Somente II e III
Somente I e III
5. Segundo o conceito da Máquina de Von Neumann:
Apenas instruções ficam armazenadas.
Os dados ficam armazenados na memória, não havendo armazenamento de instruções.
Instruções e dados são armazenados em memórias distintas.
Instruções e dados não são armazenados, com vistas à otimização do uso da memória.
Instruções e dados são armazenados na mesma memória. - certo
1a Questão (Ref.: 201708917523)	 Fórum de Dúvidas (0) Saiba (0)
Assinale a opção correta:
 	A forma mais comum de escrever um algoritmo é em fluxograma.
	A forma mais comum de escrever um algoritmo é em Inglês.
	A forma mais comum de escrever um algoritmo é em Português.
 Certo	A forma mais comum de escrever um algoritmo é em portugol.
	A forma mais comum de escrever um algoritmo é usar um bom software.
 Código de referência da questão.2a Questão (Ref.: 201708917516)	 Fórum de Dúvidas (0) Saiba (0)
Assinale a opção correta.
	A memória, conhecida como RAM, pode ser apenas lida.
	A memória RAM serve para realizar os cálculos dos dados fornecidos pelos usuários.
 Certo	A Unidade de Aritmética e Lógica é a responsável pelos cálculos e seus controles.
	Dispositivos de entrada e saída de dados compreendem pendrives, memória RAM e HD.
	A Unidade de controle realiza controles, finalizando os cálculos.
 Código de referência da questão.3a Questão (Ref.: 201708880153)	 Fórum de Dúvidas (0) Saiba (0)
A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de:
 Certo	Fluxograma
	Linguagem de Programação
	Diagrama
	Pseudocódigo
	Algoritmo
 Código de referência da questão.4a Questão (Ref.: 201708880421)	 Fórum de Dúvidas (0) Saiba (0)
Assinale a opção correta.
	Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação.
	Um programa é um algoritmo codificado em linguagem natural.
	Um programa é um algoritmo codificado em uma pseudolinguagem.
 Certo	Um programa é um algoritmo codificado em uma linguagem de programação.
	Programa e fluxograma são sinônimos.
 Código de referência da questão.5a Questão (Ref.: 201708880233)	 Fórum de Dúvidas (0) Saiba (0)
Qual dos símbolos abaixo representa a entrada de valores para as variáveis?
 Certo	
	
 Código de referência da questão.6a Questão (Ref.: 201708914122)	 Fórum de Dúvidas (0) Saiba (0)
Segundo a forma de organizar o computador proposta por Von Neumann, a máquina possui quatro componentes. Assinale a alternativa correta:
	Memória / Entrada e Saída / Unidade Aritmética e Lógica / Unidade de Armazenamento
	Memória / Entrada e Saída / Unidade de Impressão / Unidade de Armazenamento
	Unidade de Controle / Memória / Unidade de Armazenamento / Entrada e Saída
	Unidade de Controle / Memória / Entrada e Saída / Unidade de Impressão
 Certo	Entrada e saída/ Unidade Aritmética e Lógica / Memória / Unidade de Controle
 Código de referência da questão.7a Questão (Ref.: 201708914119)	 Fórum de Dúvidas (0) Saiba (0)
Verifique as afirmações abaixo e assinale a alternativa correta:
I )Fluxograma é o esboço de um projeto em programação de computadores.
II) Algoritmo serve para representar o raciocínio,independentemente de detalhes computacionais.
III) Algoritmo é a representação gráfica da solução de um problema.
Somente a I está correta.
Somente a II está correta.
 Certo	Somente a I e II estão corretas.
Somente a II e III estão corretas.
Somente a III está correta.
 Código de referência da questão.8a Questão (Ref.: 201708880550)	 Fórum de Dúvidas (0) Saiba (0)
Algoritmo pode ser definido como a descrição dos passos para a execução de uma tarefa. Existem algumas formas distintas de representação de algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para representar linguagem Gráfica e P para representar pseudocódigos, pode-se relacionar estas formas de representação de algoritmos com as seguintes afirmações:
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais.
( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação.
( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais.
Marque a alternativa que representa a o relacionamento existente entre as afirmações e as formas de representação de algoritmos.
 Certo	G, P, N
	N, G, P
	P, N, G
	G, N, P
	N, P, G
Questão (Ref.: 201708880407)	 Fórum de Dúvidas (0) Saiba (0)
Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que:
Lógica de programação corresponde à representação gráfica de um determinado algoritmo.
Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema.
As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa.
Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento.
As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico. certo
A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de:
	Linguagem de alto nível
	Linguagem de baixo nível
 Compilador
	Linguagem de Máquina
 Certo	Programa
 Código de referência da questão.6a Questão (Ref.: 201708880808)	 Fórum de Dúvidas (0) Saiba (0)
Analise as afirmativas a seguir em relação a representação de algoritmos: 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. 
Podemos afirmar que:
	Todas as alternativas são CORRETAS
 Certo	Apenas as alternativas I e III são CORRETAS
	Apenas a alternativa I é CORRETA
	Apenas as alternativas II e III são INCORRETAS
	Apenas as alternativas I e II são CORRETAS
 Código de referência da questão.7a Questão (Ref.: 201708880421)	 Fórum de Dúvidas (0) Saiba (0)
Assinale a opção correta.
	Programa e fluxograma são sinônimos.
	Um programa é um algoritmo codificado em uma pseudolinguagem.
 Certo	Um programa é um algoritmo codificado em uma linguagem de programação.
	Um programa é um algoritmo codificado em linguagem natural.
	Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação.
 Código de referência da questão.8a Questão (Ref.: 201708880658)	 Fórum de Dúvidas (0) Saiba (0)
Assinale a alternativa correta relacionada à característica de um algoritmo:
	Valores de entrada são recebidos através do monitor.
	Para cada variável pode ser definido mais de um tipo de dado.
	Teste de Mesa serve para receber os comandos de entrada.
	Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números.
 Certo	A execução de um algoritmo é feita sequencialmente.
Algoritmos / Aula 2 - Nosso primeiro programa
O que é um programa?
Um programa nada mais é do que uma sequência de comandos ou ordens dados a um computador. Mas é bem difícil pegar um microfone e dar ordens verbais para um computador realizar o que queremos.
O que temos é o nosso teclado e o monitor, por enquanto.
Então, um programa é um arquivo de texto, feito no mais simples editor de texto que você possuir no seu computador.
Compilação
Por outro lado, o computador não entende o conteúdo do arquivo de texto contendo o seu programa.
Ele precisa ser convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é chamado de compilação. A compilação ocorre basicamente de acordo com o diagrama:
Existem outras etapas e fases com muitos detalhes, mas basicamente o que precisamos saber é que um programa começa com o seu código-fonte, escrito em uma linguagem de alto nível, e passa por algumas etapas específicas para cada plataforma.
Veja que no diagrama o mesmo programa pode rodar no Linux, no Windows ou no Mac, desde que ele seja compilado para estas plataformas.
Saiba mais
Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. O C++, por mais que pareça difícil, possui muitas palavras que nós entendemos, como if (se), while (enquanto), for (para) etc. Portanto, compilar um programa significa converter um arquivo de texto escrito em uma linguagem de programação em códigos binários pertencentes a uma plataforma de execução. 
Lembre-se: o computador é uma máquina que só entende a linguagem binária. E devido à forma como os sistemas operacionais são construídos, cada um tem suas peculiaridades. 
Vamos supor que a seguinte sequência signifique: “Escreva ‘alô’ na tela” no Linux: 0111010000100010101.
No Mac Os e no Windows, essa sequência pode não significar a mesma coisa; por isso, cada uma das plataformas tem o seu próprio compilador. 
Nosso primeiro programa
Vamos começar com um exemplo bem simples. Em muitos livros, tutoriais, vídeoaulas e afins, o pessoal costuma criar um programa com a mensagem “Alô, mundo”.
Nosso caso é mais interessante: vamos calcular a média de um aluno baseado em suas 4 notas bimestrais. 
A seguir, mostramos um programa completo em C++. 
Dê uma olhada nele. Será que, mesmo sem saber programar, você consegue adivinhar o que ele faz? Embora já tenhamos adiantado, leia o programa desde o começo, tente traduzir as palavras em inglês e verifique a expressão matemática existente na linha 13.
Iniciando o programa
Lembre-se que aprender uma linguagem de programação é como aprender um idioma: precisamos conhecer a estrutura da linguagem, sua sintaxe, suas regras e até mesmo suas “manhas”.
Vamos estudá-lo linha a linha.
Nosso primeiro programa – Primeiro passo
A linha 1 contém uma palavra que nos indica que ela inicia um programa. Qual seria a palavra?
1 int main(int argc, char** argv) {
GABARITO
Se você pensou em main, acertou. Main significa “principal” e, portanto, essa linha indica que estamos iniciando o programa principal.
Mas e as outras palavras que aparecem na linha, o que significam? Por enquanto, não é hora de tratarmos delas. Apenas vamos considerar que, para começar um programa em C++, precisamos escrever o programa principal iniciando tal como está na linha 1.
Para começarmos nossos programas, vamos usar sempre essa linha:
1 int main(int argc, char** argv) {
Nosso primeiro programa – Segundo passo
As próximas linhas são parecidas:
2 float nota1;
3 float nota2;
4 float nota3;
5 float nota4;
6 float media;
Vamos por partes! O que você acha que significa float?
Float significa flutuar, e como estamos lidando com notas (nota1, nota2, nota3, nota4 e média), isto nos faz pensar que são númerosde ponto flutuante (ou números com casas decimais).
Afinal, uma nota de um aluno pode variar de 0 a 10 e ter casas decimais (7.5, 8.25 etc.), certo?
Então, as linhas de 2 a 6 servem para dizer ao compilador que vamos usar 4 palavras para representar as notas e 1 para a média. O bom é que podemos usar qualquer palavra para essa representação.
Poderíamos ter usado, por exemplo, n1 no lugar de nota1, a2 para nota2 etc., só que teríamos um problema: elas não iam fazer muito sentido para quem lesse o programa depois. 
Porém, a palavra float não pode ser mudada. Ela faz parte de um conjunto próprio da linguagem C++ chamado de palavras reservadas, e não podemos usar palavras que estejam neste conjunto.
Para você ter uma ideia, as palavras reservadas em C++ são:
Nosso primeiro programa – terceiro passo
Continuando... As próximas linhas deixam claro que as palavras que criamos antes, nota1 a nota4, vão receber alguns valores.
8 nota1 = 7;
9 nota2 = 6;
10 nota3 = 9;
11 nota4 = 5;
Se fosse um caso real, no boletim desse suposto aluno, ele teria tirado estas 4 notas. Mas agora temos uma pergunta:
“E se fosse outro aluno, como o programa seria?”.
A linha 13 faz o cálculo da média das notas: 
13 media = (nota1+nota2+nota3+nota4)/4;
Porém, ela só faz o cálculo. O resultado não é mostrado na tela.
Reflexão
Como cada aluno tem uma nota diferente, temos que esta nota é um valor variável, ou seja, varia de acordo com o aluno. Logo, o nome destas palavras que usamos é “variável”, e este é um conceito que existe em qualquer linguagem de programação.
Então, a resposta é: para que o programa possa aceitar outros valores para as variáveis, precisamos de alguma forma realizar entradas de dados para obter os valores do usuário. Vamos ver isso mais à frente.
Nosso primeiro programa – Quarto passo
As duas linhas seguintes terminam o programa:
Nos nossos programas, sempre termine com o comando da linha 15. Vamos estudar o motivo de ele estar aí em outra aula.
A linha 16 também é muito importante. Ela fecha o bloco de programa aberto na linha 1. 
Em C++, você tem que ser educado: se você abre uma porta, tem que fechar; se você abre uma chave “{“, tem que fechá-la: “}”.
Nosso primeiro programa – quinto passo
Neste momento, você pode estar pensando sobre o programa:
Exatamente. Não tem ainda. Nosso objetivo aqui foi estudar um programa do início ao fim, e o programa cumpre o que promete. Vamos estudar sobre entradas e saídas de dados mais adiante.
Para você entender um pouco mais, poderíamos inserir na linha 14 o seguinte comando:
14 cout<<”O valor da media eh: “<
Em C++, o comando que exibe uma mensagem na tela, ou seja, faz a saída de dados, é o cout. Observe que na linha 14, após o comando cout, temos o operador “<<”. Tudo o que vier após o “<<” será impresso na tela. No caso da linha citada, será impresso a string entre aspas.
Pontos importantes
Após verificar como o programa funciona, lembre de alguns pontos:
ABRIU? FECHE!
Em todas as linguagens de programação, alguns comandos precisam de caracteres que iniciam outra expressão ou bloco de informações ou comandos. É o caso dos caracteres (, [, {, “, ‘e, dependendo da linguagem, outros ainda são necessários, como < e >. Observe que, toda vez que você abre um parêntese, ele precisa ser fechado; idem para as aspas, chaves, colchetes etc. Nas linguagens de programação, isto não é diferente.
TODAS AS VARIAVEIS EM C++ PRECISAM SER DECLARADAS
No nosso exemplo, antes de fazermos o cálculo da média, tivemos que escrever que seriam usadas 5 variáveis (nota1, nota2, ... , nota4 e média). Se fizéssemos o cálculo da média diretamente, o compilador iria gerar um erro. Portanto, se formos usar 300 variáveis no programa, todas as 300 terão que ser declaradas antes.
UMA COISA É UMA COISA; OUTRA COISA É OUTRA COISA
Em C++, se você declarar uma variável “nota”, ela será diferente de “Nota”, “NOTA”, nOta” etc. Ou seja, C++ é case sensitive (faz distinção de caracteres maiúsculos e minúsculos).
INICIE OS PROGRAMAS COM INT MAIN (INT ARGC, CHAR ** ARGV) { E TERMINE COM RETURN 0.
Existe um motivo para isso, e cada palavra destes comandos tem um significado e um sentido. Mas vamos estudar sobre isto em outra aula.
USE AS ENDENTAÇÕES, LINHAS BRANCAS E COMENTÁRIOS
Eles servem para deixar o código mais legível e fácil de ser entendido. Pense sempre na manutenção! Não é porque um programa é executado com sucesso que está tudo finalizado. A manutenção posterior de programas é um assunto importante, e um bom programador vai se preocupar com isso. Os comentários são delimitados por /* */ ou ainda //.
Basicamente, a estrutura de um programa em C++ é assim:
Atividade proposta
A respeito da linguagem C++, é correto afirmar que (assinale a alternativa INCORRETA):
Nota e não nota são nomes que se referem à mesma variável. CERTO
Todo comando tem que terminar com;.
Os comentários são feitos com // ou /**/.
O programa principal é o main.
As endentações não são convertidas em código executável. 
Qual é o comando que permite escrever algo na tela?
Return.
Main.
Float.
Int.
Cout. CERTO
O que faz o programa a seguir (assinale a alternativa correta)?
Soma os valores das variáveis var e goto.
Atribui o valor 12 para a variável soma.
Atribui o valor “210” para a variável soma.
Nada. O programa dá erro. CERTO
Nada, pois não há comando cout.
Em programação, como se chama o processo de converter um arquivo de texto, escrito em uma linguagem de programação, em códigos binários pertencentes a uma plataforma de execução?
 Certo Compilação
	Ligação
	Indexação
	Conversão
	Transformação
 Código de referência da questão.2a Questão (Ref.: 201708880253)	 Fórum de Dúvidas (0) 
Os comentários são recursos que podem ser utilizados pelos programadores para:
	 Inserir comandos que serão executados pela máquina
 	 Certo Inserir comandos que serão traduzidos pelo compilador
	 Inserir textos explicativos apenas para o usuário
 Inserir diretivas para o compilador
 Certo Inserir textos explicativos apenas para o programador
 Código de referência da questão.3a Questão (Ref.: 201708880408)	 Fórum de Dúvidas (0) 
Uma variável pode ser entendida como sendo:
	 Um dispositivo de saída de dados.
	 Um dispositivo de entrada de dados.
	 Um dispositivo de memória auxiliar.
 Certo Um endereço na memória principal.
	 Um elemento da unidade lógica de controle.
 Código de referência da questão.4a Questão (Ref.: 201708880156)	 Fórum de Dúvidas (0) 
Para realizar o armazenamento de um determinado valor na memória do computador é necessária a declaração de:
	 Comando de saída
 Certo Variável
	 Estrutura de decisão
	 Fluxograma
	Comando de entrada
 Código de referência da questão.5a Questão (Ref.: 201708880612)	 
Toda linguagem possui uma estrutura básica, que a define. Selecione entre as alternativas, apresentadas a seguir, a correta, que permite que seja executado o menor programa, possível, em C++.
 Certo main( ) { }
	 main[ ]{ }
	 main( ) [ ]
	 main {}
	 main{ } ( )
 Código de referência da questão.6a Questão (Ref.: 201708921943)	
Precisamos ficar atentos a algumas exigências da linguagem C++.
Leia com atenção as afirmativas abaixo e, depois, escolha a opção correta.
I Devemos tomar cuidado para não declarar uma variável de nome Nota e não usar no programa nota.
II Foram declaradas duas variáveis com os seguintes nomes: Idade e auto. O programa foi compilado sem problemas.
III A declaração de variáveis globais é fora de todas as funções
IV Existe somente o delimitador // para fazer comentários
	 Somente a afirmativa III está errada
	 Todas as afirmativas estão corretas
	 Somente as afirmativas II e III estão corretas
 Certo Somente as afirmativas I e III estão corretas
	 Somente a afirmativa IV está errada
 Código de referência da questão.7a Questão (Ref.: 201708880906)	
Necessita de espaço na memória e define o tipo de dado a ser armazenadoComando PARA
	 Estrutura de Seleção
	 Variável de Controle
	 Comando Enquanto-Faça
 Certo Variável
 Código de referência da questão.8a Questão (Ref.: 201708914048)	 
O computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é chamado de:
	 Tradução
	 Depuração
 Certo Compilação
	 Execução
	 Programação
1a Questão (Ref.: 201708914124)	
As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas:
	palavras próprias
	 palavras especiais
	 palavras únicas
 Certo palavras reservadas
	 palavras código
 Código de referência da questão.2a Questão (Ref.: 201708880657)	
Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado.
	 Comando Enquanto-Faça
 Certo Variável
	 Estrutura de Seleção
	 Comando PARA
	 Variável de Controle
 Código de referência da questão.3a Questão (Ref.: 201708880612)	
Toda linguagem possui uma estrutura básica, que a define. Selecione entre as alternativas, apresentadas a seguir, a correta, que permite que seja executado o menor programa, possível, em C++.
	 main( ) [ ]
	 main[ ]{ }
 Certo main( ) { }
	 main{ } ( )
	 main {}
 Código de referência da questão.4a Questão (Ref.: 201708880820)	 
 Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ...
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador.
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador.
Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador.
Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador.
Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Certo
 Código de referência da questão.5a Questão (Ref.: 201708880253)	
Os comentários são recursos que podem ser utilizados pelos programadores para:
 Certo Inserir textos explicativos apenas para o programador
	 Inserir comandos que serão executados pela máquina
	 Inserir textos explicativos apenas para o usuário	
 Inserir diretivas para o compilador
	 Inserir comandos que serão traduzidos pelo compilador
 Código de referência da questão.6a Questão (Ref.: 201708917535)	
Assinale a opção correta.
	Um programa em C++ não tem variáveis.
	Programa é um algoritmo escrito em fluxograma.
	Um programa em C++ não precisa ser compilado.
	Programa é um conjunto de instruções escritas sem usar, necessariamente, uma linguagem de programação. É possível usar o Inglês para se escrever programas.
 Certo	Programa é um conjunto de instruções escritas em uma linguagem de programação e que dizem o que o computador deve fazer.
 Código de referência da questão.7a Questão (Ref.: 201708880408)	 
Uma variável pode ser entendida como sendo:
 Certo	Um endereço na memória principal.
	Um dispositivo de memória auxiliar.
	Um dispositivo de saída de dados.
	Um dispositivo de entrada de dados.
	Um elemento da unidade lógica de controle.
 Código de referência da questão.8a Questão (Ref.: 201708917537)
Assinale a opção correta.
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
 Certo	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	Para programar em alto nível é preciso dominar a linguagem binária.
Algoritmos / Aula 3 - Conhecendo o DevC++
Introdução
Existem várias formas de aprender programação. Uma delas é usar o nosso conhecido editor de textos e fazer a compilação “na unha”, ou seja, executar o compilador na linha de comando e acompanhar os resultados gerados.
Outra forma é usar os softwares conhecidos como IDE (integrated development environment ou ambiente de desenvolvimento integrado), que facilitam bastante o nosso trabalho.
A linguagem C++ possui vários IDEs diferentes, cada um com sua particularidade. Vamos estudar nesta aula o DevC++, que é o nosso escolhido para nos acompanhar durante o aprendizado da linguagem C++. Trata-se de um software muito popular e largamente usado por quem trabalha com C++.
Next, next, finish!
O DevC++ é um software muito popular e fácil de ser encontrado na internet. Ele possui código aberto e, por isso, pode ser baixado gratuitamente e usado sem restrição. Porém, ele só possui versão para Windows.
O que é uma IDE?
No mercado de programas de desenvolvimento, encontramos vários softwares chamados de IDE. Estes softwares têm a função de colocar e integrar, em um mesmo ambiente, vários outros programas que ajudam um programador a criar seus programas.
Vamos comparar com o Microsoft Word. 
Ele é um editor de texto, certo?
Mas o Notepad, ou mesmo o Wordpad, que vem com o Windows, também são editores de texto.
E por que a maioria das pessoas prefere o Word?
Porque ele possui outros recursos como editores de equação, mala direta, tabelas, etc., que não estão presentes no Wordpad.
Ou seja, o Word é um programa composto de outros que o tornam poderoso suficiente para ser o preferido de quem edita texto. A IDE é parecida.
Há alguns anos, quando o Windows ainda nem era sistema operacional, para que um programa C++ fosse compilado, era preciso que o programador possuísse na máquina um compilador e outro programa chamado Linker, para poder gerar o programa executável.
Para quem está acostumado, é fácil, mas para nós que estamos aprendendo, nada melhor que uma tela gráfica, não é?
Portanto, a IDE é um conjunto de programas úteis ao programador reunidos em um mesmo ambiente, a fim de facilitar o trabalho de desenvolvimento.
Exemplo
Entre as IDE mais comuns e gratuitas para o desenvolvimento em C++, temos o DevC++, o Eclipse, o Netbeans, o Codeblocks e o CodeLite.
Entre as pagas, temos o Visual Studio, o CLion e o C++Builder.Todas elas podem ser usadas para o desenvolvimento de sistemas de qualquer porte, porém algumas delas têm programas de trabalho em equipe, que as “menores” não possuem.
Alguns IDEs possuem ferramentas de testes, distribuição e de refatoração.
Para os programadores mais experientes, isto é muito bom.
Criando nossos programas
Assim como vários outros IDEs, o DevC++ trabalha com um tipo de arquivo chamado de projeto.
Um projeto é um agregador de recursos, ou seja, quando desenvolvemos um software, além dos arquivos de código-fonte, podemos ter imagens, bibliotecas de terceiros que podemos incluir no nosso programa, arquivos de configuração e outros.
Para criarmos nossos programas em C++, vamos criar um projeto em primeiro lugar. Fazer isto é muito fácil, como podemos ver no vídeo a seguir:
Como vimos, basta clicar em Arquivo> Novo> Projeto. 
Quando a tela “Novo projeto” é mostrada, precisamos configurar o projeto que está sendo criado.
Atividade Proposta
Agora é hora de digitar! Pegue o programa usado na aula 2 e vamos digitá-lo usando o DevC++. O resultado final ficará assim:
Olha que legal! Assim como acontece com outras IDEs existentes, o DevC++ pinta o código de acordo com o tipo de comando ou instrução que está sendo trabalhado. As strings ficam em azul, as palavras-chaveficam em negrito, as diretivas ficam em verde e assim por diante.
Além disso, experimente colocar o cursor sobre um } ou ). Ele vai pintar o caractere de vermelho e indicar seu correspondente em negrito. Isto é muito útil.
Compilação e execução
Todos esses programas teriam de ser executados na linha de comando se não usássemos o DevC++. 
Veja o próximo vídeo e observe como é feita a execução do programa.
Durante o vídeo, observe a parte inferior da tela, que mostra o programa GCC e depois o Make sendo executados. Lembre-se que, se não fosse a IDE, você teria de executar esses comandos manualmente!
Observe que temos três opções principais abaixo do menu Executar:
COMPILAR
Esta opção apenas compila o programa. Em um programa novo, esta opção é obrigatória e inicial. Sem ela, a execução não é possível. Muitas vezes, durante o desenvolvimento do programa, é necessário somente compilar o programa sem precisar necessariamente executá-lo. Neste caso, esta opção é interessante e muito útil.
EXECUTAR
Esta opção executa o programa previamente compilado. Em programas pequenos, a etapa de compilação é muito rápida. Já em programas grandes, a compilação pode levar vários minutos. Quando a compilação já foi executada com sucesso, usar a opção para somente executar o programa pode ser bem útil.
COMPILAR E EXECUTAR
Esta opção é útil nas situações em que o programador precisa compilar e logo em seguida executar o programa.
Novo programa
Vamos mudar o programa.
Lembra o programa proposto na aula 2 para transformar graus Celsius em Fahrenheit?
Observe-o atentamente!
Compilação e execução
Você percebeu que o programa contém um erro, certo? Ou seja, o programa anterior não será compilado nem executado. E qual é o erro?
Observe que o DevC++ é bem camarada e nos indica qual é a linha onde o compilador não conseguiu transformar o código-fonte em código objeto. No exemplo, a variável c não foi declarada. O programador esqueceu que nomeou a variável para os graus Celsius como celsius e não como c.
Durante o vídeo, percebemos a correção, novo Salvar, e em seguida a compilação e execução com sucesso. Legal, né?
Saiba mais
Lembre-se: sempre salve o programa antes de compilar novamente. Senão, as alterações que você fez não serão verificadas pelo compilador.
O programa correto está aqui:
#include 
using namespace std; 
int main(int argc, char** argv) {
float celsius;
float fahrenheit;
celsius = 25;
fahrenheit = celsius*1.8 + 32;
cout<
}
Cin e cout
Antes de continuar, você deve ter notado o cout. E já deve ter percebido que ele é o responsável por exibir algo na tela.
Olhando o nosso exemplo, percebemos que a linha a seguir imprime aquela parte na qual o computador “conversa” com o usuário, ou seja, escreve uma frase obtida pelo processamento de algum comando.
Veja o exemplo.
Depurando o programa
Já vimos as opções mais básicas de operação do DevC++. Existem muito mais, mas vamos nos concentrar nesse momento em como usar o Dev para nos ajudar a criar e executar os programas.
A depuração é uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa.
Nesse programa, a depuração é muito tranquila, porque é um programa sequencial. Nos programas que possuem desvios condicionais e repetições, o depurador realmente fará diferença e te mostrará o quanto ele pode ser útil durante o desenvolvimento de um programa.
Para começar, vamos inserir um breakpoint. Breakpoint é um ponto de parada, ou seja, após o compilador ter feito a sua parte, o depurador entrará em execução e rodará o programa até a linha que tem o breakpoint. 
Esta linha (que contém o breakpoint) estará marcada em vermelho.
Comentario
Como vimos, para criar um breakpoint, podemos usar o mouse, clicando na linha desejada, ou usar o menu Executar, ou ainda usar a tecla F4.
Uma vez criado o breakpoint, é hora de executar o programa.
Porém, lembre-se que agora a execução ficará parada na linha do breakpoint.
Um detalhe: você pode criar quantos breakpoints quiser, porém quando o programa começar, obviamente ele ficará parado no primeiro deles.
Nosso objetivo nessa depuração será apenas verificar os valores das variáveis Celsius e Fahrenheit.
Comentario
Viu como é fácil?
Para observar os valores das variáveis durante a execução do programa, basta criar marcadores para cada uma das variáveis que deseja observar. Você pode criar quantos marcadores quiser e pode criar expressões matemáticas envolvendo marcadores também.
Depurador
Durante a depuração, a tela do DevC++ passa por uma pequena transformação. 
A parte inferior da tela muda para o modo Depurador. Neste modo, aparecem alguns botões diferentes:
Veja a seguir a transformação ocorrida.
A parte inferior da tela muda para o modo Depurador. Neste modo, aparecem alguns botões diferentes:
Depurar
serve para iniciar a depuração do programa;
Adicionar marcador
serve para criar observadores durante a execução do programa;
Próxima linha
serve para fazer com que o depurador passe para a próxima linha;
Continuar
serve para parar a depuração e continuar a execução do programa normalmente até encontrar o próximo breakpoint;
Próxima instrução
serve para indicar o depurador e passar para a próxima instrução do programa;
Parar execução
interrompe o programa e volta para o modo de edição;
Visualizar janela da CPU
em programas maiores, às vezes é necessário verificar o estado da CPU e de seus registradores. Este botão abre uma janela para mostrar o status da CPU;
Passar por dentro
este botão terá um maior significado quando estudarmos as funções. Ele permite que o depurador entre no código de uma função quando encontrar uma;
Pular função
funciona ao contrário do botão anterior. Ao encontrar uma função, o depurador não entrará nela. Ele vai pular a função e passar para a próxima linha.
Comentario
Esses foram os principais tópicos a respeito da depuração. Como já dissemos, é muito importante e benéfico para o seu programa fazer a depuração do código. Desta forma, o programa poderá ser mais bem avaliado, pois erros não visíveis podem ser percebidos. Além disso, trata-se de uma boa prática de programação.
Alguns recursos do DEVC++
O DevC++ possui outros vários recursos que auxiliam o programador. Entre eles, temos:
AS PROPRIEDADES DO PROJETO: MENU ARQUIVO-PROPRIEDADES
Veja que podemos facilmente ver a quantidade de linhas do arquivo, quantas linhas estão vazias, linhas de código etc.
Pode parecer insignificante, mas muitas medidas em relação ao tamanho do software podem ser obtidas destes indicadores.
CONFIGURAÇÃO DO AMBIENTE
Nesta tela podem ser configuradas várias opções como por exemplo criar arquivos de backup automaticamente, mudar o tema (aparência) do DevC++, entre outras.
OPÇÕES DO EDITOR
Esta tela é muito útil. Ela configura o comportamento do DevC++ em várias situações, como por exemplo, a autoendentação, posições do cursor etc.
Podem parecer configurações insignificantes, mas no dia a dia do trabalho de programação, esses pequenos ajustes ajudam demais o programador a se tornar mais produtivo.
Finalizando
Basicamente é assim que o DevC++ funciona. Com o que vimos aqui, já é suficiente para você editar os seus programas, compilá-los e fazer a devida investigação de erros por meio do depurador.
Além disso, conte com a internet. Devido ao fato de o DevC++ ser muito popular, não falta material sobre ele.
Atividade proposta
Para que serve a depuração de um programa?
Para poder verificar erros, valores de variáveis e o fluxo do programa. Certo
Para transformar código-fonte em código depurado.
Para transformarcódigo-fonte em código objeto.
Para criar o executável.
Nenhuma das anteriores.
O que é um IDE?
É um tipo de algoritmo.
É uma forma de representar o fluxograma.
É um compilador.
É um programa que possui um compilador e um depurador.
É um programa que reúne vários recursos para o programador. Certo
O que é um breakpoint?
É um tipo de variável em C++.
É um ponto de parada no código a ser usado na depuração. Certo
É um marcador para o depurador observar o valor da variável.
É o programa principal do depurador.
É o próprio depurador.
É utilizado em ambiente de desenvolvimento integrado, consiste na melhoria constante do código-fonte, por meio de modificações num sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo:
Modelagem
Refatoração Certo
Compilação
Depuração
Edição
O programa abaixo está correto?
#include 
using namespace std;
int main(int argc, char** argv) {
float pol,cm;
pol = 10;
cm = pol*2.54;
cout<return 0;
}
Não. O comando cout foi usado de uma maneira errada.
Não. As variáveis pol e cm não podem ser do tipo float.
Não. O valor 2.54 deve ser escrito com vírgula.
Não. O valor 10 deve ser escrito como 10.0, pois ele é float.
Sim. Está correto. Certo
1a Questão (Ref.: 201708880278
Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando:
	
cout >> "Valor de x: " , x;
cout << "Valor de x: " >> x;
cout << x; Certo	
cout >> "Valor de x: " >> x;	
cout >>x;
 
2) Normalmente um programa de computador é composto de muitas linhas de código o que dificulta, por vezes, a manutenção quando ocorre algum erro lógico. Desta forma, o programador, após identificar o possível trecho da ocorrência. Para isso, o Dev C++ dispõe de um dispositivo que interrompe a execução do programa, passando para o programador o controle da execução. A linha onde o programa é interrompido fica destacada em vermelho.
Qual o nome deste dispositivo?
CompilePoint
ContinuePoint	
Breakpoint Certo	
ExecPoint	
StopPoint
 Código de referência da questão.3a Questão (Ref.: 201708914062)	 
Uma IDE é um conjunto de programas úteis ao programador reunidos em um mesmo ambiente, a fim de facilitar o trabalho de desenvolvimento. Dentre suas funcionalidades temos a depuração. marque a alternativa que descreve este processo.
 Certoé uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa.
	é uma atividade que permite ao programador traduzir o programa. E permite a execução do mesmo.
	é uma atividade que permite ao programador compilar o programa. Desta forma, ele pode executar os valores das variáveis e descobrir qual é a forma natural de um programa.
	é uma atividade que permite ao programador escrever o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a forma natural de um programa.
	é uma atividade que permite ao programador executar o programa. E observar o resultado final
 Código de referência da questão.4a Questão (Ref.: 201708880503)	
Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++
	cout < lendo idade; cin > idade
 Certocout << "lendo a idade"; cin >> idade;
	System.out.println("lendo idade"); System.out.println("lendo idade");
	cout "lendo a idade"; cin idade;
	exiba "lendo a idade"; lendo idade;
 Código de referência da questão.5a Questão (Ref.: 201708917543)	
Asssinale a opção correta.
	IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando compilar nosso programa.
	IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando executar nosso programa.
	Para executar um programa em uma IDE não temos que compilá-lo previamente.
 CertoUma IDE é um software que tem a função de colocar e integrar, em um mesmo ambiente, vários outros programas que ajudam um programador a criar seus programas.
	O C++ é uma IDE na qual posso compilar meus programas.
 Código de referência da questão.6a Questão (Ref.: 201708921949)	 
Uma IDE (integrated development environment ou ambiente de desenvolvimento integrado) reúne várias facilidades para o programador. Assinale a opção onde está presente o programa que possibilita acompanhar a execução do programa e verificar erros.
	Editor
	Corretor
	Compilador
 CertoDepurador
	Linkeditor
Algoritmos / Aula 4 - Conhecendo alguns elementos de C++
Tipos primitivos
Vamos começar a nossa aula com um assunto presente em todas as linguagens de programação: os tipos primitivos.
O que é isso?
Vamos responder com um exemplo. 
Imagine que você está navegando na internet e chega a um cadastro como este ao lado.
Observe que você tem de preencher campos como: nome, data de nascimento, e-mail, sexo, telefone, identidade, entre outros.
Cada cadastro que você encontrar como exemplo na internet possui campos iguais ou semelhantes a esse.
CAMPO “SEXO”
Quais são os possíveis valores que ele pode assumir de acordo com o formulário?
Masculino ou feminino, correto?
E provavelmente, no banco de dados, dentro do sistema, ele ficará armazenado como “m” ou “f”. Ou seja, na definição desse formulário, haverá uma variável chamada sexo, a qual poderá guardar apenas dois valores: “m” ou “f”.
São caracteres! Logo, a variável sexo não poderá receber valores como “1”, “verdadeiro”, “3.14159266” etc. Somente poderá receber caracteres.
Será que existe em C++ um tipo para somente caracteres?
No exemplo do formulário, por se tratar de uma ficha de inscrição para o Vestibular, não temos campo como altura ou peso, que também são números, mas podem ter valores decimais. Para este caso, usamos o já conhecido float.
Em C++, temos os seguintes tipos básicos de variáveis:
Temos algumas variações desses tipos, que usam os seguintes modificadores de tipos:
Declaração e inicialização de variáveis
Em C++, é obrigatório que toda variável usada no programa seja declarada. A declaração reserva o espaço em memória necessário para a alocação do conteúdo que receberá. A sintaxe da declaração de variáveis em C++ é:
Atenção
Existem algumas regras para a escolha dos nomes de variáveis em C++:
Nomes de variáveis só podem conter letras, números e o caractere “_”;
Não podem começar com um número;
Embora seja possível ter uma variável com o nome “_var” (começando com “_”), estes são reservados para a implementação interna do programa, e seu uso é bem restrito e desaconselhado. O compilador não vai mostrar erro quando criamos variáveis desse jeito, mas o programa criado se comportará de forma inesperada;
Não é possível utilizar palavras reservadas da linguagem C++. Vamos listar as palavras reservadas em seguida;
Também não é possível criar uma variável que tenha o mesmo nome de uma função, mesmo que essa função tenha sido criada pelo programador ou que seja uma função de biblioteca;
Não há limite para o tamanho de nome de variável em C++;Quando criarmos constantes, estas devem ser escritas com todas as letras em maiúsculas.
Portanto, as declarações de variáveis a seguir são válidas: int a;char a, b, c;unsigned int x1, x2, media;char _a;
Lendo e escrevendo em C++
Já vimos rapidamente como é o comando de saída de dados em C++, certo? Agora, vamos tratar um pouco mais profundamente deste assunto.
É muito importante criar formas de orientar o usuário com relação ao que o programa necessita para poder funcionar adequadamente. Ou seja, é importante mostrar mensagens na tela e receber informações do usuário de maneira eficiente.
Em C++, o comando que exibe uma mensagem na tela, ou seja, que faz a saída de dados, é o cout. Para esse comando funcionar, vimos que é necessário inserir duas linhas no início dos nossos programas:O código do programa mostrado no vídeo é:
include 
#include 
using namespace std;
int main(void){
string nome;
cout<<"Qual eh o seu nome?"<cin>>nome;
cout<<"Oi "<return 0;
Saiba mais
Vimos que o vídeo mostra o resultado do valor lido na variável nome. Perceba que no código estamos usando duas diretivas para o compilador (nas linhas 1 e 2). Uma carrega a biblioteca para os comandos cin e cout, e a outra carrega a biblioteca para o tipo string.
No vídeo, o valor que é armazenado na variável nome é exibido juntamente com a string “Oi _____, tudo bem com você?”.
O cin e cout são bem eficientes e você vai notar que eles são bastante usados em C++ e aparecem na maioria das referências que vamos encontrar sobre a linguagem.
É claro que a linguagem oferece outros comandos para escrever e ler informações, mas o cin e cout já dão conta muito bem do recado.
Operadores aritméticos em C++
Toda linguagem de programação possui capacidade para fazer contas aritméticas, e com o C++ não é diferente. Na programação de computadores, é possível fazer vários tipos de operações, além das aritméticas. É preciso conhecer o que são operações lógicas, relacionais e outros detalhes para poder construir programas.
Temos os seguintes operadores aritméticos em C++. 
Com eles, podemos fazer as contas mais comuns:
Funções do C++
Certo, já vimos que existem operadores na linguagem.
Mas o que acontece quando precisamos de operações um pouco mais complexas como o cálculo de senos, cossenos, raiz quadrada? Fazer isto em C++?
Assim como outras linguagens de programação, o C++ possui funções que auxiliam o programador em algumas tarefas. Da mesma forma que usamos bibliotecas para as strings e para o cin e cout, podemos usar outras bibliotecas para as funções matemáticas.
Uma destas bibliotecas é a cmath. Com ela, podemos calcular a raiz quadrada, por exemplo. 
Observe este programa:
SQRT é a forma mnemônica de square root em inglês. Vamos estudar as funções em C++ algumas aulas mais à frente. 
Novamente você pode perguntar:
“Como eu vou saber em qual biblioteca tem o que eu preciso?”.
Lembra-se da resposta?
A resposta é “estude a API”. Não tem jeito; é muito importante estudar a API da linguagem que você está aprendendo.
Operadores lógicos
Como já dissemos, na programação existem operações que não são só aritméticas. Em muitos e muitos casos, precisamos criar situações de comparação entre valores, e essa comparação faz parte de um tipo de operação chamada de operação lógica.
Esse tipo de operação faz parte de uma lógica chamada proposicional e foi muito estudada por um matemático chamado George Boole. Assim, também ganhou o nome de “álgebra booleana”.
Essa álgebra trabalha principalmente com valores booleanos ou lógicos, e basicamente nesta lógica só existem dois valores: verdadeiro (true) ou falso (false).
Tudo que conhecemos na computação atual é baseada nessa álgebra. Ela possui propriedades, teoremas e um monte de coisas que excedem o nosso contexto. Mas saiba que ela é muito importante na computação atual.
Aliás, quando trabalhamos com a aritmética binária, de certa forma, também estamos trabalhando com a álgebra de Boole, e neste caso normalmente usamos 0 para valores falsos e 1 para verdadeiros.
Na álgebra de Boole, temos basicamente três operadores:
Na álgebra booleana, usamos um recurso chamado de tabela verdade para mostrar os valores possíveis que as variáveis lógicas podem assumir.
A tabela verdade mostra todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas que são encontradas em somente duas situações e um conjunto de operadores lógicos. 
Nas tabelas verdade a seguir, A e B são proposições.
Os operadores lógicos “e” e “ou” em C++ são representados pelos símbolos “&&” e “||” respectivamente.
Veja suas tabelas verdades:
Saiba mais
Duas dicas que pode te ajudar nas operações envolvendo condições lógicas:
Em uma expressão envolvendo o operador E (&&), a expressão só será verdadeira se todas as partes da expressão forem verdadeiras. Se contiver uma só que seja falsa, toda a expressão será falsa;
Em uma expressão envolvendo o operador OU (||), a expressão só será falsa se todas as partes da expressão forem falsas. Se contiver uma só que seja verdadeira, toda a expressão será verdadeira.
Operadores relacionais
Os operadores relacionais são usados para fazer comparações entre dois operandos do mesmo tipo primitivo. Esses valores são representados por constantes, variáveis ou expressões aritméticas.
Vejamos um exemplo.
Considere:
a = 1;
b = 2;
c = verdadeiro;
Se fôssemos fazer essas declarações em C++, teríamos: 
int a = 1;
int b = 2;
bool c = true;
bool é um tipo em C++ e pode assumir os valores booleanos true ou false.
Vamos praticar um pouco com uma atividade. Preste atenção e veja algumas situações envolvendo expressões relacionais.
Usando os operadores que vimos nesta aula, observe:
a) a > b
a é maior que b? ( ) Sim / ( ) Não
b) b >= a
b é maior ou igual a a? ( ) Sim / ( ) Não
c) a == b
o valor de a é igual ao valor de b? ( ) Sim / ( ) Não
GABARITO
a) Não b) Sim c) Não
Saiba mais
Observe que quando estamos comparando a igualdade de dois valores, usamos 2 sinais de igual (==).
Atividade
Vamos ver se você está craque! Você consegue simplificar estas expressões? A primeira delas já está feita:
!(a==b) é equivalente a (a!=b)
!(a!=b) é equivalente a:_________________
!(a>b) é equivalente a:_________________
!(a<b) é equivalente a:_________________
!(a>=b) é equivalente a:_________________
!(a<=b) é equivalente a:_________________
GABARITO
b) (a==b)
c) (a<=b)
d) (a>=b)
e) (a>b)
f) (a<b)
Assinale a alternativa correta:
Em C++, quando usamos = é para atribuição, e == é para comparação. Certo
O símbolo para o operador “diferente” em C++ é <>.
Para armazenar strings em uma variável, usamos o tipo char.
Para armazenar valores booleanos, usamos o tipo boolean.
O cin e cout são comandos nativos da linguagem C++.
GABARITO
Em C++, quando usamos = é para atribuição, e == é para comparação. O símbolo para “diferente” em c++ é “!=”.Para armazenar strings, temos que importar a biblioteca string, que contém o tipo string. Para armazenar valores booleanos, o tipo é o bool. O cin e o cout são comandos que estão na biblioteca iostream. Não são nativos.
Verifique as afirmações abaixo:
I - Em C++, nem todos os recursos de que precisamos estão na linguagem nativa. É necessário incluir algumas bibliotecas quando necessário.
II - Em C++, existem quatro tipos de dados nativos: int, float, double e char.
III - cout>>”Oi gente!”; é uma linha correta em C++.
Qual é a alternativa verdadeira?
Somente a I está correta Certo
Somente a II está correta
Somente a III está correta
Nenhuma está correta
Todas estão corretas
Observe o seguinte programa em C++:
#include 
int main(void) {
string nome;
int idade;
std::cin >> nome >> idade;
std::cout << "\n\nNome " << nome << std::endl; 
std::cout << "Idade " << idade << std::endl;
return 0;
}
O programa está correto
O erro está no uso do std::endl;
O erro está no uso geral do std
O erro está na linha 5
O erro está na falta de uma biblioteca Certo
GABARITO
O único problema do programa é que falta incluir a biblioteca string. O restante está correto.
Coloque true ou false em cada uma das operações abaixo:
6<=7
3+5<=2*4
“oi” == “OI”
(64)^(1/2) > (5)*2
Observação: Quando usamos o “^” estamos nos referindo à exponenciação, ou seja, 3^2 =9.
False, false, false, false
False, true, true, true
True, true, false, false Certo
True, true, true, false
True, false, true, false
GABARITO
6 é menor ou igual a 7, true.8 é menor ou igual a 8, true.“oi” é diferente de “OI” em C++, false.641/2 = 8. 8 é menor que 10, false.
Idem ao exercício anterior:“mario” == “maria” 
2 + 4 = 6
10 - 4 > 7
(2*3)>(3*2)
!('a' == 'A')
false, false, true, true, true
false, true, false, false, false
false, false, false, false, false Certo
true, false, true, false, false
true, true, false, false, false
GABARITO
“mario” e “maria” são diferentes, false2 + 4 =6, true6>7, false6=6, false‘a’ == ‘A’, isso é true. Colocando o ! na frente da expressão, ela vira false.
1a Questão (Ref.: 201708880162)	 
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
	+, - e *
	&&, || e ~
 Certo	<, > e >=
	=, > e ||
	&&, >= e ||
 Código de referência da questão.2a Questão (Ref.: 201708880220)	 
Suponha um algoritmo desenvolvido em linguagem C++.
Em uma determinda linha aparece o comando CONT = (CONT + 1);
Neste caso, o que é executado? 
 
 
	 CONT recebe o valor zero
	 CONT permanece inalterado
 CONT recebe o próprio valor decrescido de uma unidade
 Certo CONT recebe o próprio valor acrescido de uma unidade
	 CONT recebe o valor 1
 Código de referência da questão.3a Questão (Ref.: 201708880604)	 
Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z.
Questionamentos:
- Esta expressão é VERDADEIRA ou FALSA?
- O valor do termo X * X + Y é igual a qual valor ?
	 A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
	 A expressão é FALSA, e o valor de X * X + Y = 6.
 Certo A expressão é FALSA, e o valor de X * X + Y = 3.
	 A expressão é FALSA, e o valor de X * X + Y = 4.
	 A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
 Código de referência da questão.4a Questão (Ref.: 201709150662)	 
Para ler um valor a ser armazenado na variável num do tipo inteiro em C++ deve ser utilizado:
	
	 printf(num);
 Certo cin>>num;
 cout>>num;
	 cin=num;
 Código de referência da questão.5a Questão (Ref.: 201708880735)	 
A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os dados de um programa. Indique os nomes de variáveis que são válidos em C++.
	
 double, int
	 8situacao, numero
 Certo mumero2Casa, idade
	 us# , tempo
	 preço, medida
 Código de referência da questão.6a Questão (Ref.: 201708880586)	
Assinale a alternativa que apresenta APENAS operadores relacionais.
	 &&, >= e ||
 Certo <, > e >=
	 &&, || e ~
	 =, > e ||
	 +, - e *
 Código de referência da questão.7a Questão (Ref.: 201708880225)	
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro.
	 ((pontos>=10) ! (pontos <=20))
 	 ((pontos>=10) # (pontos <=20))
 Certo ((pontos>=10) && (pontos <=20))
	 ((pontos>=10) % (pontos <=20))
	 ((pontos>=10) || (pontos <=20))
 Código de referência da questão.8a Questão (Ref.: 201708880742)	 
Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ?
 Certo PRECO_DESC = PRECO - PRECO * 7.5 /100;
	 PRECO_DESC = PRECO * 7.5%;
	 PRECO_DESC = PRECO * 0.075;
	 PRECO_DESC = PRECO * 0.75;
	 PRECO_DESC = PRECO * 7.5 / 100;
Quando definimos uma variável na verdade estamos fazendo uma reserva estática de memória. Esta reserva de memória é dita estática por ser definida em tempo de compilação, diferente da reserva dinâmica de memória que é feita em tempo de execução. Portanto, toda declaração de variáveis é a reserva de uma certa quantidade de memória antes da execução do programa, sendo assim é necessário que seja estabelecida a quantidade de memória que está sendo reservada e também seu endereço. Isto é feito, respectivamente, pela definição do:
	 identificador da variável apenas, pois uma variável sempre possui o mesmo tipo de dado.
 	 tipo da variável apenas, pois a alocação é feita sempre no mesmo endereço de memória.
 Certo tipo de dado e identificador da variável.
 compilador que está alocando a memória e pelo tipo de linguagem que está sendo utilizado.
	 identificador da variável e do tipo de dado.
Algoritmos / Aula 5 - Estrutura de decisão
Recordando...
Até agora, vimos os seguintes elementos de programação:
Para continuar nossos estudos, temos que começar a aplicar estes conceitos daqui para a frente e estudar alguns comandos que desviam o fluxo sequencial e natural de um algoritmo e de um programa.
É assim que ocorre também na estrada a seguir: o motorista que está nesta estrada tem uma importante decisão a fazer: ou toma o caminho da direita ou o da esquerda.
Exemplo
Nos programas de computador, as decisões são muito mais comuns do que você pensa. Quando você abre um arquivo, se ele for protegido, então vai aparecer uma janela avisando. No Word, se o botão de negrito estiver selecionado, então o seu texto ficará em negrito, e por aí vai.
Temos que aprender a fazer isso.
Vamos usar um exemplo mais fácil: pense nas suas notas escolares. Suponha que a média para aprovação seja 6.
Como você bolaria um programa para verificar se você está aprovado ou não?
O desvio é feito quando a média é maior que 6. E uma vez que a média for maior que 6, o programa pega um caminho que exclui a outra possibilidade (de ser menor que 6).Além disso, atente que, se a nota for exatamente igual a 6, nem assim o aluno estará aprovado.
Percebeu que a condição lógica é importante? Isto foi visto na aula anterior, e lá dissemos que estas condições têm que ser muito bem montadas para poder executar o programa corretamente.
Esse desvio é chamado de desvio condicional simples. Vamos observá-lo com mais detalhes em C++.
Calculando um desvio condicional simples
Você também deve ter percebido que grifamos algumas palavras desde o início desta aula.
Quais foram as palavras grifadas?
“Se” e “então”. Aí, entramos no conceito do primeiro tipo de desvio: o chamado desvio condicional simples.
Vamos fazer um exemplo para mostrar este tipo de desvio de fluxo. Trata-se do cálculo do IMC (índice de massa corporal). Este índice é muito fácil de ser calculado e, de acordo com seu resultado, precisamos consultar uma tabela para classificar o usuário.
Como programar um desvio condicional simples
Veja que o programa:
Compare a forma como usamos o if com a figura do comando exibida anteriormente. Tranquilo, né? Se o cálculo for menor que 17, o sujeito está bem abaixo do peso.
Essa classificação é feita de acordo com a tabela a seguir. Esta tabela pode ser obtida em qualquer site que mostre o cálculo do IMC.
Programando...
Portanto, como podemos perceber, a sintaxe de um if em C++ é assim:
Perceba que temos alguns detalhes que precisam ser seguidos para o if poder funcionar.
Exemplo
Em C++, não utilizamos a palavra “então”. Fica implícito que o código que virá a seguir é o que deve ser feito quando a condição testada é verdadeira.
O comando é simples. Dentro dos parênteses há um teste, o qual pode ser uma simples comparação ou uma expressão lógica maior. Isto vai depender do programa.
ntão, prepare-se para colocar dentro desse teste qualquer tipo de expressão que possa ser avaliada e retornar verdadeiro (true) ou falso (false). Se o teste for verdadeiro, o bloco é executado. Se for falso, o bloco é ignorado completamente e o fluxo do programa continua na linha seguinte ao bloco.
O tamanho do bloco pode ser de 1, 2, 200, 2.000 linhas. De qualquer forma, se o teste for false, todo o bloco, independentemente do tamanho que seja, será ignorado.
Você se lembra do fluxograma?
Para esta estrutura, o fluxograma correspondente é:
Voltando ao programa do cálculo do IMC, podemos torná-lo mais complexo.
Como você pode perceber, o programa só vai tratar daquelas pessoas bem magrinhas. As outras classificações existentesna tabela não foram contempladas.
É simples. Se for menor que 17, já fizemos, a situação é “muito abaixo do peso”.
Se estiver entre 17 e 18,49, a situação é “abaixo do peso”. Se estiver entre 18,5 e 24,99, a situação é “peso normal”.
E assim por diante.
Mas o que significa estar entre 17 e 18,49 (por exemplo)?
GABARITO
Resposta em “computes”: imc>=17 E imc<=18,49, ou melhor, imc>17 && imc<=18,49.
Como programar um desvio condicional composto
Até agora, aprendemos apenas uma parte da estrutura condicional. Vimos que, se uma condição for verdadeira, ela vai executar um bloco de programação, e em seguida, continuar com o fluxo normal do programa.
Veja o exemplo:
Observe que se a idade for menor que 18, o programa vai ignorar todo o bloco entre as linhas 10 a 14 e continuar o seu fluxo normal na linha 15.
Mas e se quisermos tratar a condição quando a idade for menor que 18 anos?
Sua primeira resposta pode ser: “mas isto já é feito no programa acima. A linha 15 é executada se a idade for menor que 18”.
Preste atenção: a linha 15 será executada de qualquer maneira.
O que estamos propondo agora é:
Se a idade for maior que 18, faça as linhas 11 a 14, senão faça outra coisa! A situação pode ser explicada de acordo com o fluxograma a seguir:
Programando um desvio condicional composto
Em C++, a sintaxe é a seguinte:
Vamos ver um exemplo em C++:
Na linha 10, o teste é feito. Se o número for positivo, o programa executa a linha 11, encontra o fim do bloco e (preste atenção agora) vai para a linha 16. O programa ignora o bloco do “else” (pois este bloco é a execução caso o teste for falso).
Se o teste da linha 10 for falso, o programa vai ignorar o bloco que começa com o { logo após o if e vai diretamente procurar o else, que está na linha 13. Ele executa o bloco do else, também passa pela linha 16 e finaliza o programa.
O código do programa executado no vídeo é o seguinte:
Durante o vídeo, temos duas execuções. Cada uma delas mostra o resultado do teste da linha 10.
Veja que, quando o teste é positivo, o programa executa o bloco das linhas 10 a 13, e quando o teste é falso, o bloco das linhas 14 a 17 é executado. E para finalizar, a frase da linha 18 é sempre mostrada.
Atividade
O pedaço de programa abaixo está correto?
Sim, e vai imprimir “Idade maior ou igual a 15”.
Sim, e vai imprimir “Idade menor que 15”.
Não, pois o operador relacional está errado.
Não, há um erro de sintaxe na primeira linha. Certo
Não, o cout pede o operador “>>”.
GABARITO
Letra d. Após o if e a condição, não pode ter o “;”.
3) Em um programa para determinar se o número é par ou ímpar, vamos precisar dos seguintes recursos:
I - Do operador mod (%);
II - De um desvio condicional composto;
III - Da biblioteca cmath.
Apenas I.
Apenas II.
Apenas III.]
Apenas I e II. Certo
Apenas II e III.
GABARITO 
4) Dentre os recursos que aprendemos, quais seriam usados para um programa que verifica se uma letra informada é uma vogal ou consoante?
I - Um if simples
II - Um if composto
III - Operador de igualdade (==)
IV - Operador &&
V -Operador ||
Somente I e III.
Somente I, III e V.
Somente I, III e IV.
Apenas II, III e IV. 
Apenas II, III e V. Certo
GABARITO
5) Analise o trecho de programa em C++ abaixo e escolha a alternativa correta:
int main(void) {
int A, B;
cin>>B
cin>>A;
if (A > B)
B = A + B;
if (A < B)
A = (B%2);
cout<<A;
}
Se A=62 e B=32, o que o programa vai imprimir?
62.
32.
0. Certo
34.
93.
Gabarito
3) Escolha a condição que fará que o número 13 seja impresso:
int main(void){
int num1, num2;
num1 = 13;
num2 = 22;
if ( ________________________)
cout<else
cout<<num1;
}
(num1>num2)||(num2<20)
(num2>num1)&&(num2<25)
(num1>num2)||(num1<20)
(num1==num2)||(num2<25)
(num1<num2)&&(num2<20) Certo
Gabarito
1a Questão (Ref.: 201708880435)	 Fórum de Dúvidas (2 de 2) Saiba (0)
Analise o trecho do algoritmo abaixo e indique a alternativa que apresenta as saídas obtidas para os valores: A=17, B=21 e C=13.
SE (A > (B+C)) ENTÃO
ESCREVA("+++++")
SENÃO
SE (B<=C) ENTÃO
ESCREVA("%%%%%")
SENÃO 
ESCREVA("^^^^^")
FIM SE 
ESCREVA("=====")
 FIM SE
	
^^^^^
	
+++++ 
 =====
=====
%%%%%
 	
^^^^^ Certo
 =====
 Código de referência da questão.2a Questão 
Quando estudamos sobre a estrutura do se ... entao...senao, sempre nos é dito que, quando tivermos duas possibilidades de respostas, devemos escolher a estrutura do se composto ao invés de usar duas estruturas do se simples.
Observe as afirmativas abaixo e, depois, escolha a resposta que respalda o uso do se composto pelo que foi dito acima ao invés do se simples.
I Maior clareza no código, mas não influência na eficiência do mesmo
II Maior eficiência porque diminui o número de testes no código
III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo
IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo
	 A II E A III estão corretas
 Certo Somente a II está correta
	 A II E IV estão corretas
	 Somente a I está correta
	 Somente a IV está correta
 Código de referência da questão.3a Questão (Ref.: 201708880257)	 
Se a minha média for maior ou igual a 6 estarei aprovado, caso contrário, estarei reprovado. Qual dos trechos abaixo escritos em C++ representa esta situação?
if (media > 6)
 cout << "Aprovado";
else
 cout << "Reprovado";
if (media != 6)
{
 cout << "Aprovado";
}
else
{
 cout << "Reprovado";
}
	
if (media > 6)
{
 cout << "Aprovado";
}
else
{
 cout << "Reprovado";
}
	
Certo if (media >= 6)
 cout << "Aprovado";
else
 cout << "Reprovado";
	
 if (media <= 6)
 cout << "Aprovado";
else
 cout << "Reprovado";
 Código de referência da questão.4a Questão (Ref.: 201708917556)	
Considere o trecho de programa em C++. O que é impresso na tela ? 
int x = 10, y = 3, z, k; 
y = x + y - 1; 
z = x/y; 
k = y % x; 
if (k == 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
	 x= 11 y = 11 z = 2 k = 0
	 x = 10 y = 12 z = 0.833 k = 0
 Certo 11 11 2 0
	 10 12 2 0
 	 x = 10 y = 12 z = 0 k = 0
 Código de referência da questão.5a Questão (Ref.: 201708880914)	
Analise o código abaixo e marque as saídas corretas:
#include
int main () {
int x, i;
x = 1;
cout << x;
i = 6;
x = x + i;
cout << x;
if ( x <= 7) {
cout << x;
x = x + 10; 
} else {
cout<< x;
}
retun 0;
}
	 0, 6 e 7
	 1, 7, 17
	 1, 6 e 16
 	 1, 6 e 7
 Certo 1, 7 e 7
 Código de referência da questão.6a Questão (Ref.: 201708919807)	 Fó
Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. 
int x = 4, y = 14, t;
float z;
if( x < y ) { t=x; x=y; y=t;}
z = (x % y) / y;
cout << x << " " << y << " " << z ;
	
4 14 0	
14 4 0 Certo	
0.5 4 14	
14 4 0.5	
4 14 0.5
 Código de referência da questão.7a Questão (Ref.: 201708914355)	 
Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela.
 
#include
using namespace std;
int main()
{
int N1, N2;
N1= 27;
N2= 54;
if ( ______________ )
{
 cout<< N2;
}
else
{
 cout<< N1;
}
return 0;
}
	 N2 > N1 || N1 > 50
 Certo N1 > N2 || N2 < 50
	 N2 == N1 || N2 > 20
	 N1 < N2 && N1 < 50
	 N1 < N2 && N1 > 20
 Código de referência da questão.8a Questão (Ref.: 201708914064)	
Examine as afirmativas a seguir e marque a alternativa correta.
I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo.
II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples,

Continue navegando