Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Unidade 1 
 
Aula 1 
 
Pensamento Computacional 
 
O pensamento computacional visa desenvolver e testar soluções práticas 
para resolver diferentes tipos de problemas, utilizando essencialmente quatro 
habilidades que são: decomposição, reconhecimento de padrões, abstração e 
algoritmos. Deste modo, o objetivo é interpretar e entender um determinado 
problema da vida real, abstrair alguns pontos que não interferem em sua 
existência ou solução e, assim, resolvê-lo. 
O pensamento computacional pode ser dividido em quatro habilidades 
essenciais: decomposição, reconhecimento de padrões, abstração de padrão e 
projeto de algoritmos (FORBELLONE; EBERSPACHER, 2005). 
Observamos que pensar computacionalmente não significa pensar igual 
a um computador (rápido e com precisão), mas, sim, dividir um problema em 
partes menores e, a partir de cada uma dessas partes menores, resolvê-lo. 
 
O pensamento computacional não envolve obrigatoriamente o uso de 
computadores! Podemos utilizá-lo em atividades desplugadas. 
 
Decomposição 
 
 O primeiro pilar é a decomposição. A decomposição é a habilidade de 
dividir problemas complexos em pedaços menores e que possam ser mais bem 
gerenciados. 
 
Reconhecimento de Padrões 
 
 O segundo pilar é o reconhecimento de padrões, semelhanças e 
tendências dentro de um determinado problema. Essa habilidade é essencial, 
pois, se alguns problemas são de natureza semelhante (tanto no problema atual 
que está sendo enfrentado quanto nos problemas anteriores), há uma boa 
chance de que eles possam ser resolvidos usando técnicas semelhantes ou 
repetidas. 
 O reconhecimento de padrões é uma habilidade-chave quando se trata de 
criar soluções eficientes e eficazes para determinados problemas. 
Essencialmente, é dar uma resposta para a seguinte pergunta: o que 
aprendemos no passado que pode nos ajudar a resolver esse problema? 
 
Abstração 
 
 Qual a função de um arquiteto? Colocar no papel uma casa ou um edifício. 
Observe que não podemos morar em um papel ou explorar cada canto daquele 
desenho, caminhando internamente por aquela construção (no papel). Essa é a 
terceira habilidade do pensamento computacional que diz que, em vez de olhar 
para detalhes específicos, devemos ter a capacidade de filtrar os elementos 
desnecessários de um problema para que você se concentre apenas nos 
elementos importantes. Em outras palavras, esqueça o fato de ser apenas um 
desenho, abstraia o fato de estar apenas em um papel. 
Identificar as informações cruciais em um problema e desconsiderar as 
informações irrelevantes é uma das partes mais difíceis do pensamento 
computacional. 
 
Algoritmos 
 
 O pensamento computacional envolve o desenvolvimento de soluções 
para um problema e, entre essas soluções, temos os algoritmos. 
Especificamente, o pensamento algorítmico cria regras sequenciais a serem 
seguidas para resolver um problema. 
 
Todo algoritmo é uma sequência finita de instruções! 
 
Aula 2 
 
Flowgorithm 
 
 Desenvolvimento de algoritmos com fluxogramas. 
Um fluxograma é utilizado para representar um algoritmo graficamente. 
Trata-se de um diagrama com diversos tipos de blocos, em que cada um destes 
representam um determinado tipo de instrução. 
Algoritmo 
 
Assim, é possível concluir que um algoritmo deve possuir as seguintes 
características: 
Cada passo do algoritmo deve ser uma instrução possível de ser 
realizada; a ordem de cada uma das instruções deve ser respeitada; e o 
algoritmo deve ser finito. 
Existem pelo menos três formas principais para representação de 
um algoritmo: descrição narrativa, fluxograma e pseudocódigo. 
 
Descrição Narrativa 
 
Um algoritmo pode ser representado em linguagem natural, ou seja, como 
as pessoas em geral falam. 
Esse tipo de algoritmo é pouco usado na prática, afinal, pode gerar 
múltiplos sentidos de interpretação. 
 
Fluxograma 
 
O fluxograma é um conjunto de estados que é utilizado para representar 
graficamente um algoritmo (FORBELLONE; EBERSPACHER, 2005). Cada um 
desses estados (instruções e comandos) é representado por uma forma 
geométrica específica. 
 
Pseudocódigo 
 
 Além da representação narrativa ou textual de um algoritmo, uma outra 
maneira de representá-lo é em pseudocódigo, o que não vem a ser um código 
de programação (ainda), porém, contém instruções inteligíveis por humanos e 
que se assemelha a códigos para computadores. 
Trata-se, portanto, de uma linguagem intermediária entre a linguagem de 
máquina (linguagem de computador) e a linguagem humana. 
 
 
 
Unidade 2 
 
Aula 3 
 
 Compreendemos que o computador segue a arquitetura de von Neumann, 
recebendo uma entrada, processando essa entrada e gerando uma saída. Em 
seguida, conhecemos o conceito de variável que, em uma comparação prática, 
é como uma casa em uma rua, sendo responsável por armazenar 
temporariamente um valor. Compreendemos também que uma variável possui 
um único valor, logo, se tentarmos atribuir outro valor a ela, o antigo será 
sobrescrito. 
Além disso, aprendemos que, em programação, podemos utilizar os 
operadores aritméticos para realizar as operações básicas da matemática como 
adição, subtração, multiplicação e divisão. 
Scratch, possui oito categorias de blocos: 
. Movimento – responsável pela movimentação do personagem; 
. Aparência – blocos de saída, apresentam uma mensagem na tela...; 
. Som – responsável pelos sons no projeto; 
. Eventos – blocos de entrada no projeto; 
. Controle – controle de fluxo; 
. Sensores – capturam a interação do usuário (clique do mouse...); 
. Operadores – blocos com operadores aritméticos, lógicos...; 
. Variáveis – blocos para criar variáveis. 
 No Scratch, as variáveis podem começar com letras maiúsculas ou 
minúsculas ou com underscore. 
 
Aula 4 
 
 Os Operadores de Comparação ou Relacionais compara um 
valor/expressão do lado esquerdo com um valor/expressão do lado direito. O 
resultado de qualquer operação de comparação será true (verdadeiro) ou false 
(falso). 
 Os Operadores Lógicos realizam uma conexão entre duas expressões, 
é o que se denomina expressões lógicas ou expressões booleanas. 
 A Estrutura Condicional tem o objetivo de dividir o fluxo do código. 
 A Estrutura de Repetição ou loop permite repetir trechos do código. 
 
Resumindo: 
 
Operadores Aritméticos (+ - / *) 
Operadores de Comparação ou Relacionais (> < >= <= == !=) 
Operadores Lógicos (e ou não) 
Estrutura Condicional (If, If/Else) 
Estrutura de Repetição 
 
Unidade 3 
 
Aula 5 
 
Programação com Linguagem Imperativa 
 
 Foca em ordens, comandos para o computador executar. Possui 
declaração de variáveis, funções, linguagem orientada a objetos. 
 
Linguagem Imperativa: 
 
Paradigma Procedural - está relacionado à chamada de procedimentos, os 
quais podem ser sub-rotinas, métodos ou funções. 
Paradigma Orientado a Objetos - considera que o código pode ser dividido em 
objetos (como os objetos da vida real), os quais possuem propriedades e 
executam diferentes ações. 
Paradigma de Processamento Paralelo - usa o princípio de dividir diferentes 
partes de uma tarefa entre vários processadores, os quais trabalham 
simultaneamente para resolver um problema. 
 
 
 
 
Programação com Linguagem Declarativa 
 
 Foca na lógica, no resultado acima do modo como fazer. Exemplo: a 
linguagem HTML. 
 
Linguagem Declarativa: 
 
Paradigma Lógico - os programas são escritos como uma série de fatos e 
regras que seguem uma estrutura lógica. 
Paradigma Funcional – é baseado na execução de uma série de funções 
matemáticas. Essas linguagens evitam estruturas de controle de fluxo, como 
loops. 
Paradigma Database - é baseado em dados, logo, as instruções são definidas 
para manipular os dados em um banco de dados. 
 
Tipos de Variáveis na Linguagem C# 
 
Números Inteiros 
 
O tipo byte vai de 0 até 255 (System.Byte), ou seja, 2 elevado a 8 
O tiposbyte vai de -128 até 127 (System.SByte), ou seja, 2 elevado a 8 
O tipo short vai de -32768 até 32767 (System.Int16), ou seja, 2 elevado a 16 
O tipo ushort vai de 0 até 65535 (System.UInt16), ou seja, 2 elevado a 16 
O tipo int vai de -2147483648 até 2147483647 (System.Int32), ou seja, 2 elevado a 32 
O tipo uint vai de 0 até 4294967295 (System.UInt32), ou seja, 2 elevado a 32 
O tipo long vai de -9223372036854775808 até 9223372036854775807 (System.Int64), ou seja, 2 elevado a 64 
O tipo ulong vai de 0 até 18446744073709551615 (System.UInt64), ou seja, 2 elevado a 64 
 
Números Reais 
 
float - suporta até 7 casas decimais de precisão - números float precisam ter um "F" ou “f” no final (System.Single) 
double - suporta até 15-16 casas decimais de precisão (System.Double) 
decimal - suporta até 28-29 casas decimais de precisão - números decimal precisam ter um "M" ou “m” no final 
(System.Decimal) 
 
 
Texto 
 
char - para um caractere (entre aspas simples) 
string - para uma cadeia de caracteres (entre aspas duplas) 
 
Lógico 
 
bool - aceita true ou false 
 
Comandos de Saída de Dados: 
 
Console.Write( ); apresenta na tela apenas a string fornecida 
Console.WriteLine( ); apresenta a string e também se move para o início da 
próxima linha 
 
Concatenação e String Formatada: 
 
Console.WriteLine("A idade de José é " + idade); 
Console.WriteLine("A idade de José é {0} ", idade); 
Console.WriteLine("{0} + {1} = {2}", numA, numB, resultado); 
Console.WriteLine($“A idade de José é {idade}”); 
 
Comandos de Entrada de Dados: 
 
Console.Read( ); 
Console.ReadLine( ); 
Console.ReadKey( ); lê a tecla pressionada pelo usuário. É um método usado 
para segurar a tela até que o usuário digite uma tecla qualquer 
 
 
 
Observação: 
 
Todo valor recebido pelo ReadLine() é uma cadeia de caracteres, ou seja, é do 
tipo string. Logo, se você receber dois valores numéricos, o resultado será um 
erro. Desse modo, se você solicitar um valor do tipo inteiro para o usuário, é 
necessário que primeiramente você converta a entrada do ReadLine() para int, 
utilizando o método ToInt32. Um exemplo de código é: int valor = 
Convert.ToInt32(Console.ReadLine()). O método Convert.ToInt32 converterá o 
conteúdo recebido pelo Console.ReadLine() para inteiro e armazenará na 
variável valor. 
 
int valor = Convert.ToInt32(Console.ReadLine()); 
 
Existem três formas principais de conversão: 
 
int valor = Convert.ToInt32(Console.ReadLine()); 
int valor = int.Parse(Console.ReadLine()); 
int.TryParse(Console.ReadLine(), out valor); 
 
Aula 6 
 
Estrutura Condicional 
 
If (Condição Simples) 
If / Else (Condição Composta) 
If / Else If / Else (Condição Aninhada ou Encadeada) 
 
 
 
 
 
 
 
Unidade 4 
 
Aula 7 
 
Estrutura de Repetição 
 
while – quando não sabemos o número de repetições 
do / while – quando não sabemos o número de repetições 
for (inicialização; condição; passo) – quando sabemos o número de repetições 
 
Aula 8 
 
Existem três categorias principais de estruturas de controle: 
 
. Estrutura Sequencial 
. Estrutura Condicional ou de Seleção 
. Estrutura de Repetição ou de Iteração 
 
Sequência – Seleção – Iteração 
 
Função: 
 
. com ou sem parâmetros; 
. que podem ou não ter os valores de retorno, dependendo do requisito fornecido. 
 
<modificadores_de_acesso> <tipo_retorno> <nome_função> (<parâmetros>) 
 
Exemplos: 
public int multiplicar(int a, int b) { } 
public void quadrado(int numero) { } 
Vamos Entender Funções: 
 
(public/private) (static) (void) (tipo do retorno) (nome da função) (parâmetros) 
 
(public/private) são os modificadores de acesso 
(static) orientação a objetos 
(void) para funções sem retorno 
(tipo de retorno) tipo primitivo que retorna 
(nome da função) em maiúsculo e com CamelCase 
(parâmetros) conhecidos como parâmetros formais 
 
Funções Sem Parâmetros e Sem Retorno: 
 
namespace ConsoleApp1 
{ 
 internal class Program 
 { 
 static void Main(string[] args) 
 { 
 Console.Write("Veja nossa saudação: "); 
 Saudacao(); 
 Console.ReadKey(); 
 } 
 
 public static void Saudacao() 
 { 
 Console.WriteLine("Olá, seja Bem Vindo!"); 
 } 
 } 
} 
Funções Com Parâmetros e Com Retorno: 
 
namespace ConsoleApp1 
{ 
 internal class Program 
 { 
 static void Main(string[] args) 
 { 
 Console.Write("Digite um valor inteiro: "); 
 int.TryParse(Console.ReadLine(), out int n1); 
 Console.Write("Digite um outro valor inteiro: "); 
 int.TryParse(Console.ReadLine(),out int n2); 
 
 Console.WriteLine("O resultado é igual a: {0}", Soma(n1, n2)); 
 
 Console.ReadKey(); 
 } 
 
 public static int Soma(int a, int b) 
 { 
 int resultado; 
 
 resultado = a + b; 
 return resultado; 
 } 
 } 
} 
 
 
 
Passagem de Parâmetro por Valor: 
 
 Nossos valores das variáveis da função Main não são alterados. 
 
 
 
 
 
 
 
 
Passagem de Parâmetro por Referência: 
 
 Nossos valores das variáveis da função Main são alterados. 
 
 
 
 
 
 
 
 
Exercícios: 
 
Operadores Aritméticos (ordem de precedência): 
 
( ) 
^ 
+ - quando unários 
* / % fatores multiplicativos 
+ - quando binários 
 
Operadores Lógicos (ordem de precedência): 
 
não (!) 
e (&&) 
ou (||) 
 
Um Fluxograma apresenta cinco formas geométricas principais: início/fim, 
operador de entrada, operador de saída, operador de atribuição e estrutura 
condicional. 
 
Regras Nomenclatura Variáveis C#: 
 
. Pode começar com uma letra, sublinhado ou @; 
. Maiúsculas e minúsculas fazem diferença; 
. Só usa letras, números e sublinhado; 
. Podemos usar acentos; 
. Não pode conter espaços; 
. Não pode conter símbolos (só o sublinhado e a @); 
. Não pode usar palavras reservadas.

Mais conteúdos dessa disciplina