Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Aula 1 - Fundamentos da Lógica
Na computação, o raciocínio lógico é o que nos ajuda a explicar por que as coisas acontecem da maneira como acontecem.
A lógica é fundamental para o funcionamento dos computadores; tudo o que a máquina faz é controlado pela lógica e podemos usá-la para raciocinar sobre o comportamento dos programas.
Pensamento Computacional
Processo de solução de problemas. Passos:
1. Identificação e descrição de um problema;
2. Verificação de detalhes importantes para a solução;
3. Decomposição do problema em partes menores;
4. tratamento dos segmentos na criação de um processo de solução;
5. aplicação e avaliação da solução proposta.
Pilares do Pensamento Computacional
· Decomposição - Envolve a decomposição do problema em partes menores e mais gerenciáveis;
· Reconhecimento de padrões - Busca semelhanças entre o problema e outras soluções anteriores e também dentro do próprio problema;
· Abstração - Concentra-se nas informações relevantes para o problema, ignorando detalhes que não são importantes;
· Algoritmos - Desenvolvem uma solução passo a passo para o problema, incluindo as regras a serem seguidas para tal.
Conceitos e definições
· Algoritmo - Solução passo a passo para um problema que inclui regras a serem seguidas. Os algoritmos representam soluções para problemas que podem ser do cotidiano ou especificamente computacionais. São independentes de linguagens de programação, podendo serem convertidos em qualquer linguagem. Soluções ordenadas para resolução de problemas.
· Raciocínio Lógico - Processo de estruturação do pensamento que permite que se chegue a uma conclusão ou se resolva um problema. Ajuda na organização do pensamento de forma que se possa identificar a melhor solução para um problema.
· Pensamento Computacional - Processo que orienta a solução de um problema de forma que um computador possa executá-la. Nos ajuda a formular soluções que possam ser executadas por um computador. Essas soluções devem ser estruturadas e nada do que seja necessário ser feito pode ser omitido ou o computador não se comportará como se espera.
· Pilares do Pensamento Computacional - Decomposição, reconhecimento de padrões, abstração e algoritmo. Representam as etapas pelas quais devemos passar antes que cheguemos à solução de um problema. Todos os pilares são igualmente relevantes e não devem ser menosprezados.
Fluxogramas
	Representação gráfica dos algoritmos.
Mais comuns:
Pseudocódigo
	Não é uma linguagem de programação, então não segue uma sintaxe específica. Maneira simples de descrever um conjunto de instruções que deverão ser executadas pelo computador.
O portugol não é uma linguagem de programação, portanto seus algoritmos não podem serem executados por um computador.
Sintaxe: regras que especificam de que maneira devem ser utilizadas as instruções e declarações de uma linguagem de programação.
Aula 2 - Conceitos básicos de programação
	O princípio básico do funcionamento dos computadores envolve as etapas de:
entrada > processamento > saída
Os dados ficam armazenados na memória principal (RAM).
Variáveis
	É um espaço da memória principal dedicado ao armazenamento temporário de valores. 
Variáveis criadas precisam de um identificador, que funciona como um rótulo. Podem conter letras e números, não podem ter espaços em branco, não podem começar com números. Idealmente, deverá ser algo que represente o dado armazenado. Algumas linguagens são case sensitive.
	As variáveis podem ser de três tipos:
· Numerais - Agrupa tipos que identificam variáveis cuja intenção é armazenar valores numéricos;
· Literais - Permitem a criação de variáveis para armazenamento de caracteres;
· Lógicos - Permitem a criação de variáveis para armazenamento de valores do tipo verdadeiro ou falso.
	Tipos de Variáveis
	Portugol Studio
	C++
	Inteiro: número sem casa decimal significativa
	int / long int
	Real: número com casa decimal significativa
	float / double
	Caracter: somente um caractere
	char
	Cadeia: conjunto de caracteres
	char
	Logico: verdadeiro ou falso
	bool
	
Para ser utilizada, a variável precisa ser declarada.
	Declaração de Variáveis
	Portugol Studio
	C++
	cadeianome = “Luciana”
inteiroidade = 42
realsaldo = 550.00
cadeiasexo = ‘F’
logicotrabalha = verdadeiro
	charnome[ ] = “Luciana”;
intidade = 42;
floatsaldo = 550.00;
charsexo[ ] = “F”;
booltrabalha = true;
	Nas linguagens de programação forte,emte tipadas, o tipo de dado a ser armazenado na variável deve ser explicitamente definido.
A variável somente armazenará valores do tipo definido em sua declaração, e a tentativa de armazenar valores de tipo distintos acarretará em erro.
No Portugol Studio, as aspas simples são usadas para delimitar um único caractere (como em sexo), e as aspas duplas delimitam cadeias de caracteres (como em nome).
No C++ isso não acontece e as aspas duplas são utilizadas em ambos os casos.
Constantes
	É um valor que não se altera e não pode ter seu valor modificado ao longo do programa. Devem ser declaradas e devem ter seu tipo e identificador definidos.
	Declaração de Constantes
	Portugol Studio
	C++
	const real PI = 3.14
const inteiro MESES = 12
	const float PI = 3.14;
const int MESES = 12;
	Por convenção, os identificadores de constantes costumam ser escritos em caixa alta, mas essa não é uma obrigatoriedade.
Operadores
	São símbolos que, combinados às variáveis e constantes, nos permitem construir expressões aritméticas, relacionais e lógicas. Podem ser unários ou binários. Os tipos são: aritméticos, relacionais, lógicos, de atribuição, de incremento e de decremento.
	Operadores Matemáticos
	+
	Soma
	 - 
	 Subtração 
	 / 
	 Divisão 
	 * 
	 Multiplicação 
	 % 
	 Resto da divisão 
	Operadores Relacionais
	 > 
	 Maior que 
	 < 
	 Menor que 
	 >= 
	 Maior ou igual 
	 <= 
	 Menor ou igual 
	 == 
	 Igual a 
	 != 
	 Diferente de 
	Operadores Lógicos
	!
	Não
	&&
	E
	||
	Ou
	Operadores Especiais de Atribuição
	 += 
	 Soma e atribui. Exemplo: res+=2 
	 -= 
	 Subtrai e atribui. Exemplo: res-=2 
	 /= 
	 Divide e atribui. Exemplo: res/=5 
	 *= 
	 Multiplica e atribui. Exemplo: res*=3 
	Operadores de Atribuição
	 = 
	 Atribuição de valor a variáveis ou constantes. 
	Operadores de Incremento / Decremento
	 ++ 
	 Incremento 
	 -- 
	 Decremento 
Aula 3 - Expressões e tabela da verdade
Expressões Matemáticas
	Para que exista, é necessário que tenha, no mínimo, dois valores ou variáveis e um operador.
	Precedência dos operadores matemáticos
	1º.
	Multiplicação, divisão, módulo
	2º.
	Adição, subtração
	Parênteses tem precedência, assim como na matemática.
Expressões Relacionais
	São construídas de modo a avaliar a relação entre os termos da expressão. Composta por termos de um mesmo tipo e por operadores relacionais, e o resultado sempre terá um valor lógico.
Expressões Lógicas
	(Ou booleanas) São construídas com o auxílio dos operadores lógicos e são responsáveis por avaliar uma ou mais condições. Resultam sempre em um valor lógico.
	Operador && (E)
	A
	B
	A && B
	Verdadeiro
	Verdadeiro
	Verdadeiro
	Verdadeiro
	Falso
	Falso
	Falso
	Verdadeiro
	Falso
	Falso
	Falso
	Falso
	Operador || (OU)
	A
	B
	A || B
	Verdadeiro
	Verdadeiro
	Verdadeiro
	Verdadeiro
	Falso
	Verdadeiro
	Falso
	Verdadeiro
	Verdadeiro
	Falso
	Falso
	Falso
	Operador ! (NÃO)
	A
	!A
	Verdadeiro
	Falso
	Falso
	Verdadeiro
	Precedência dos operadores lógicos
	1º.
	Não (!)
	2º.
	E (&&)
	3º.
	Ou (||)
Tabela da Verdade
	Tabela matemática capaz de apresentar todos os resultados possíveis para uma expressão lógica, a partir das diferentes combinações de valores para as variáveis avaliadas.
1º. Passo
Identificar a quantidade de variáveis.
A && B || !C → Três variáveis: A, B e C
2º. Passo
Utilizar a quantidade de variáveis como expoente de uma base 2.
2ˆ3 Quantidade de variáveis da expressão
3º. Passo
Resolver a potenciação para descobrir a quantidade decombinações possíveis.
2ˆ3 = 8 → Quantidade de combinações possíveis
A quantidade de combinações possíveis nos ajudará a definir quantas linhas irão compor a tabela da verdade.
Operadores de Atribuição
	Armazenam valores em constantes e variáveis.
Operadores de Incremento e Decremento
· Incremento = aumenta em uma unidade o valor da variável.
· Decremento = diminui em uma unidade o valor da variável
Aula 4 - Comandos de entrada e saída
Estrutura básica
	Portugol C++
	programa
{
 funcao inicio()
 {
 }
}
	#include <iostream>
using namespace std;
int main()
 {
 }
Comando de entrada e saída
	Portugol C++
	escreva
	cout <<
	leia
	cin >>
Arredondando valores reais no Portugol
	Portugol 
	programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
 {
 
 real pi_Longo = 3.14159265358979323846
 real pi_Curto
 // Arredonda o valor de pi_Longo para 2 casas decimais
 pi_Curto = mat.arredondar(pi_Longo,2)
 }
}
Exibindo a acentuação gráfica no C++
	C++
	#include < iostream >
#include < locale >
using namespace std;
int main()
{
setlocale(LC_ALL, "ptb");
…
}
Aula 5 - Estrutura de seleção simples e composta
se | if
	Portugol C++
	se (condição)
{
// Comandos a serem executados se a condição for verdadeira.
}
	if (condição)
{
// Comandos a serem executados se a condição for verdadeira.
}
	se (idade>=16)
{
escreva("Você já pode votar!")
}
	if (idade>=16)
{
cout <<"Você já pode votar!";
}
Observe que estamos avaliando a condição (idade>=16) – que é uma expressão relacional – e, se ela for verdadeira, exibimos a mensagem informando ao usuário que ele já pode votar.
senao | else
	Portugol C++
	se (condição)
{
// Comandos a serem executados se a condição for verdadeira.
}
senao
{
// Comandos a serem executados se a condição for falsa.
}
	if (condição)
{
// Comandos a serem executados se a condição for verdadeira.
}
else
{
// Comandos a serem executados se a condição for falsa.
}
	se (idade>=16)
{
escreva("Você já pode votar!")
}
senao
{
escreva("Você ainda não pode votar!")
}
	if (idade>=16)
{
cout <<"Você já pode votar!";
}
else
{
Cout <<"Você ainda não pode votar!";
}
Avaliar duas ou mais condições
	Portugol C++
	se (resto==0 e num>0)
{
escreva("Este número é par e positivo!")
}
	if (resto==0 && num>0)
{
cout <<"Este número é par e positivo!";
}
Aula 6 - Estrutura de seleção com múltiplas alternativas
se / senao se / senao
	if / else if / else
	Portugol C++
	se (num>0)
 {
 escreva("Este número é positivo!")
 }
senao se (num<0)
 {
 escreva("Este número é negativo!")
 }
senao
 {
 escreva("Este número é nulo!")
 }
	if (num>0)
 {
 cout <<"Este número é positivo!";
 }
else if (num<0)
 {
 cout <<"Este número é negativo!";
 }
else
 {
 cout <<"Este número é nulo!";
 }
ESCOLHA ou SWITCH
	Não aceita operadores lógicos ou relacionais. Os valores a serem testados precisam ser definidos e a variável será igual a eles ou diferente dos mesmos.
	Portugol 
	escolha (variável_a_ser_testada)
{
 caso valor1:
 // Comandos a serem executados.
 pare
 caso valor2:
 // Comandos a serem executados.
 pare
 caso valorN:
 // Comandos a serem executados.
 pare
 caso contrario:
 // Comandos a serem executados caso a variável testada não seja
 // igual a nenhum dos valores testados nos “casos”.
}
	C++ 
	switch (variável_a_ser_testada)
{
 case valor1:
 // Comandos a serem executados.
 break;
 case valor2:
 // Comandos a serem executados.
 break;
 case valorN:
 // Comandos a serem executados.
 break;
 default:
 // Comandos a serem executados caso a variável testada não seja
 // igual a nenhum dos valores testados nos “cases”.
}
Aula 7 - Estrutura de repetição com pré-teste e pós-teste
pré-teste (enquanto | while)
	Portugol 
	enquanto (condição)
{
 //Comandos a serem executados enquanto a condição for verdadeira.
}
	 programa
 {
 funcao inicio()
 {
 inteiro num
 num=10
 enquanto (num<=100)
 {
 escreva(num, "\n")
 num+=2
 }
 }
 }
	C++ 
	while (condição)
{
 //Comandos a serem executados enquanto a condição for verdadeira.
}
	 #include <iostream>
 using namespace std;
 int main()
 {
 int num=10;
 while (num<=100)
 {
 cout <<num<<"\n";
 num+=2;
 }
 }
pós-teste (faca/enquanto | do/while)
	Portugol 
	faca
{
 //Comandos a serem executados enquanto a condição for verdadeira.
} enquanto (condição)
	 faca
 {
 se (num%2==0)
 {
 escreva("Este número é par!\n")
 }
 senao
 {
 escreva("Este número é ímpar!\n")
 }
 escreva("Informe um número qualquer: ")
 leia(num)
 } enquanto (num!=-1)
 
	C++ 
	do
{
 //Comandos a serem executados enquanto a condição for verdadeira.
} while (condição)
	faca
 {
 res = num * contador
 escreva(num, " x ", contador, " = ", res, "\n")
 contador++
 } enquanto (contador<=10)
 
Aula 8 - Estrutura de repetição com variável de controle
para | for
	Portugol 
	para (inicialização_contador;condição;incremento_ou_decremento)
{
//Comandos a serem executados enquanto a condição for verdadeira.
}
	para (num=10;num<=100;num+=2)
{
escreva(num, "\n")
} 
	C++ 
	for (inicialização_contador;condição;incremento_ou_decremento)
{
//Comandos a serem executados enquanto a condição for verdadeira.
}
	for (num=10;num<=100;num+=2)
{
cout <<num<<"\n";
}

Mais conteúdos dessa disciplina