













































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
*Conceitos introdutórios , Pseudocódigo: Português estruturado e padrão , Variável: Identificadores, Tipos, declaração e comando de atribuição , Expressões: Aritméticas, Relacionais e Lógicas , Comando de Entrada e Saída, Estruturas de Controle,
Tipologia: Notas de estudo
1 / 53
Esta página não é visível na pré-visualização
Não perca as partes importantes!














































Programação de Computadores I
UNIDADE 1 – Conceitos introdutórios
O QUE VAMOS ESTUDAR:
Abstração e Lógica Lógica estruturada: padrões Algoritmos: conceitos e representações Conceitos: pseudocódigos, linguagens de programação e codificação
Abstração e Lógica
A lógica é um termo comumente utilizado no cotidiano nas formas mais simples sem denotar conceitos (Generalização – Encadeamento – Inferência). Utilizamos de lógica cotidiana em sentenças:
Generalização (Todo – Partes) Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal.
Encadeamento A gaveta está fechada. A caneta está dentro da gaveta. Precisamos primeiro abrir a gaveta para depois pegar a caneta.
Inferência Anacleto é mais velho que Felisberto. Felisberto é mais velho que Marivaldo. Portanto, Anacleto é mais velho que Marivaldo.
Entretanto, a lógica cotidiana não representa com fidelidade esta ciência que é linha de pesquisa da filosofia e pode ser estendida a outras disciplinas.
E ainda, percebemos que a ilógica leva a desorganização (caos) e a falta de padronização.
Figura 1 – O pensamento “sem lógica” leva a desordem e ao caos.
LÓGICA : É a arte de “ bem pensar ”. Pensar neste contexto significa abstrair (Imaginar – Generalizar – Modelar) dados e fatos encontrados no mundo real. Com isso, a lógica é uma ciência que objetiva colocar “ ordem nos pensamentos ” – dados e fatos – generalizados (abstraídos) do mundo real.
Outro fato é que na arte de “ bem pensar ”, a forma mais complexa do pensamento é o raciocínio. O raciocínio livre é devaneio que, não educado e treinado, facilmente se “perde”. Portanto, a lógica também visa “ corrigir o raciocínio ”, realinhando idéias e estabelecendo padrões.
Figura 2 – A lógica estabelece critérios corrigindo e realinhando o raciocínio.
Figura 4 – O mesmo pensamento – objetivo (construir a torre) e muitos idiomas.
Entretanto; na lógica de programação esbarramos novamente na limitação em relação à “ Forma de Expressão” do raciocínio (“Pensamento”). Com isso, no intuito de fugir dos padrões (“Torre de Babel”) e representar mais fielmente o raciocínio foram idealizados os Algoritmos.
Figura 5 – A lógica humana e computacional com seus muitos padrões de representação.
ALGORITMOS : É uma seqüência de passos que visa atingir um objetivo bem definido. Para definir uma seqüência de passos, precisamos utilizar ordem, ou seja, “pensar em ordem”, com isso utilizamos “lógica” (de programação).
Exemplo de algoritmo : RECEITA DE BOLO.
Figura 6 – Exemplo de algoritmo e muitas formas de expressão.
A combinação Raciocínio – Padrão (Formas de Expressão) – Raciocínio é de complexa dissociação. Essa dissociação somada à idéia de fugir dos padrões realmente nos poupa de uma série de detalhes computacionais pertencentes à lógica de programação que poderíamos incluir posteriormente.
Contudo, assim como a forma de expressão do raciocínio humano passa pela forma falada ou escrita, a forma de expressão da lógica de programação, através dos algoritmos (“Raciocínio computacional”), passa por formas de expressão gráfica ou textual.
Figura 9 – Distorção da linha de raciocínio devido à falta de padrão
Para evitarmos essa confusão, adotamos (à priori) uma falsa codificação ( Pseudocódigo ) que fixa e estrutura o padrão (textual) de elaboração do algoritmo e ao mesmo tempo o afasta de detalhes computacionais, objetivando assim o raciocínio, a lógica e não; a forma.
Por outro lado, em contrapartida, precisamos de uma linguagem estruturada de programação que possa desenvolver o algoritmo (e seu raciocínio) de uma forma computacionalmente válida; em verdadeiros códigos de Linguagens de Programação , por exemplo, C ou Pascal. Esse processo de conversão de falsos códigos, para uma linguagem de programação verdadeiramente estrutura, dá-se o nome de Codificação.
UNIDADE 2 – Tópicos preliminares
O QUE VAMOS ESTUDAR:
Pseudocódigo: Português estruturado e padrão Variável: Identificadores, Tipos, declaração e comando de atribuição Expressões: Aritméticas, Relacionais e Lógicas Comando de Entrada e Saída Bloco de Instruções
Na unidade anterior, vimos que para focar no raciocínio e não na “forma (Padrão) de expressão” , devemos utilizar uma solução intermediária para desenvolvimento de algoritmos que estrutura a lógica de programação através de pseudocódigo. Com isso, vamos utilizar um padrão estabelecido nesta apostila que é o “ Português Estruturado ”.
Para isso, vamos estabelecer um padrão que, direciona para a correção do raciocínio , para o treinamento de habilidades lógicas e para o desenvolvimento dos algoritmos , sem a obrigatoriedade (a princípio) de serem computacionalmente válidos. Contudo, ao mesmo tempo, treina (ordena – Corrigi) a mente (“Pensamento” – Raciocínio) para uma futura etapa de codificação.
Pseudocódigo: Português estruturado e padrão
O padrão estruturado segue na apostila da seguinte forma de expressão:
PSEUDOCÓDIGO: Português estruturado COMANDO:
o LÓGICO : Variável que somente pode assumir duas situações (Biestável).
As variáveis (dados) dos tipos inteiros e reais seguem a notação matemática de conjunto e são assim representados:
FIGURA 10 – Representação de conjunto Exemplos de variáveis – Inteiras: Constam 175 CDs e 55 DVDs em estoque. O prédio tem exatos 30 andares. Tivemos que estornar negativamente 500 pares de tênis do mostruário.
Exemplos de variáveis – Reais: A temperatura ambiente é de -5.3 Graus Celsius em NY. A inflação deste mês foi 0.641 porcento com certa precisão. Um total de R$ 962.85 foi gasto no supermercado este mês. Exemplos de variáveis – Caracteres: O nome do bebê é “Ana”. O sexo do animal é “fêmea”. O nome da rua é “ Projetada A ” provisoriamente.
Exemplos de variáveis – Lógicas : Vamos convencionar que as variáveis lógicas podem receber somente como valores Zero ( 0 ) ou Um ( 1 ). Sendo que:
ZERO ( 0 ): Falso / Errado / Não / Desligado / Fechado UM ( 1 ): Verdadeiro / Certo / Sim / Ligado / Aberto
EXEMPLOS:
A questão da prova está certa ou errada. A porta pode estar aberta ou fechada. No júri sua resposta apenas será verdadeira ou falsa. Sua decisão final é sim ou não para o caso.
Todas as variáveis lógicas acima (destacadas em negritos) somente podem receber como valores Zero ( 0 ) ou Um ( 1 ).
PADRÃO :
PSEUDOCÓDIGO: Português estruturado COMANDO: Tipos de variáveis e Identificadores
inteiro Degrau, Pessoas, Carros; real Temperatura, Inflacao, Saldo; caractere Nome, Sexo, Rua; logico Questao, Resposta, Decisao, Porta;
COMANDO DE ATRIBUIÇÃO – O comando de atribuição nos permite fornecer e alterar o valor de uma variável ao longo do algoritmo e no padrão utilizado aqui será utilizado o
Operador Função Exemplos == Igual a 3 == 3, x == - 15. != Diferente de 5 != 3, x != y
Maior que 15 .4 > 4.8, x > - 1 = Maior ou igual que 15 >= 15, y >= x < Menor que 31 < 4, x < - 3 <= Menor ou igual que 31 <= 4, x <= - 3. OBSERVAÇÃO : Os operadores > e < quando em comparações de igual valor retornam sempre Falso (0). Exemplos:
5 > 5 implica em Falso (0). -15.2 < -15.2 implica em Falso (0).
EXPRESSÕES LÓGICAS – São cálculos utilizando variáveis lógicas e os seguintes operadores:
Operador Função Exemplos ! Negação (não) !x,! (!y) && Conjunção (e) x && y || Disjunção (ou) y || x
As operações envolvendo os operadores lógicos compõem uma estrutura denominada de tabela verdade. Portanto, Tabela Verdade é o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais apresentam por valor apenas dois estados: Zero ( 0 ) ou Um ( 1 ).
Construiremos a tabela-verdade com o objetivo de dispor de uma maneira prática os valores lógicos envolvidos em uma expressão lógica. Os operadores lógicos são:
Operação de negação A !A 0 1 1 0
Se chover e relampejar , os pássaros não voam. Como é conjunção (e), os pássaros não voam se chover e relampejar forem simultaneamente condições verdadeiras (1). Se chover ou relampejar , os pássaros não voam. Como é disjunção (ou), os pássaros não voam se chover ou relampejar amplia a possibilidade dos pássaros não voarem em três circunstâncias diferentes: somente chovendo , somente relampejando , chovendo e relampejando simultaneamente.
As variáveis lógicas, por apresentarem apenas dois estados (0 ou 1), podem ser combinadas numa proporção de , onde é o número de variáveis. Exemplo de combinações :
Operação de disjunção A^ ou^ B A B A || B 0 0 0 0 1 1 1 0 1 1 1 1
Operação de conjunção A e B A B A &&B 0 0 0 0 1 0 1 0 0 1 1 1
Os algoritmos precisam ser “alimentados” com dados para efetuarem as operações e cálculos (aritméticos e lógicos) que são necessários a fim de alcançar o resultado (objetivo) desejado. Vejamos uma analogia desse processo com uma atividade que nos é corriqueira, como a respiração.
No processo respiratório, inspiramos os diversos gases que compõem a atmosfera; realizamos uma entrada de substância que agora são processadas pelo organismo, sendo que, depois de devidamente aplicados por ele, serão devolvidos, alterados, ao meio, como saída de substâncias.
FIGURA 11 – Processo respiratório: Entrada – Processamento – Saída de ar.
Em analogia, o computador também realiza as atividades de Entrada, Processamento e Saída de dados.
ENTRADA DE DADOS – Para que o algoritmo possa receber os dados de que necessita adotaremos um comando de entrada de dados denominado leia , cuja finalidade é atribuir o dado a ser fornecido à variável identificada.
PSEUDOCÓDIGO: Português estruturado COMANDO: Comando de Entrada de Dados
(^) leia (Saldo); leia (Nome, CPF, Idade);
PROCESSAMENTO PROCESSAMENTO
INSPIRAR EXPIRAR
SAÍDA DE DADOS – Para que o algoritmo possa mostrar os dados que calculou, como resposta ao problema que resolveu, adotaremos um comando de saída de dados denominado escreva , cuja finalidade é exibir o conteúdo da variável identificada.
PSEUDOCÓDIGO: Português estruturado COMANDO: Comando de Saída de Dados
escreva (“Carros em estoque: ”, QuantidadeCarros); escreva (“Bom dia: ”, Nome); escreva (“Você pesa: ”, Peso, “quilos”);
Um bloco de instruções pode ser definido como um conjunto de ações, com uma função definida; neste caso, um algoritmo pode ser visto como um bloco. Ele serve também para definir os limites nos quais as variáveis declaradas em seu interior são conhecidas.
PSEUDOCÓDIGO: Português estruturado COMANDO: Bloco de Instruções
Programa // Início do Algoritmo Início // Início do bloco // Declaração das variáveis // seqüência de ações
Fim. // Fim do bloco
COMENTÁRIOS NO ALGORITMO – Com o objetivo de comentarmos certas linhas importantes nos algoritmos, estaremos utilizando os símbolos // seguido das explicações e anotações, se necessárias. Não é obrigatório o uso de comentários e anotações.
O padrão a seguir demonstra esse seqüenciamento de ações numa forma estruturada:
PSEUDOCÓDIGO: Português estruturado COMANDO: Estrutura seqüencial
Programa // Início do Algoritmo Início // Início do bloco // Declaração das variáveis // seqüência de ações // Ação 1; // Ação 2; // Ação 3; . . . // Ação n; Fim. // Fim do bloco
Essa estrutura seqüencial de ações visa justamente atingir o objetivo estabelecido para resolução do problema através do algoritmo. Essas ações correspondem aos comandos de entrada e saída, expressões aritméticas, relacionais e lógicas assim como as estruturas de seleção e repetição.
O comando de atribuição (=) altera o valor das variáveis ao longo do seqüenciamento do bloco de instruções (Comandos e expressões matemáticas) através dos operadores aritméticos, relacionais e lógicos. Desta forma, os dados são transformados na seqüência de ações e as informações de saída podem ser exibidas como resolução do problema.
O último padrão ( estrutura seqüencial ) estabelece o modelo básico para desenvolvimento dos algoritmos. Ao longo da disciplina, utilizaremos o modelo básico como ponto de partida para representação textual do algoritmo. Esse modelo básico padroniza um falso código para elaboração dos algoritmos privilegiando seu desenvolvimento e não detalhes computacionalmente válidos pertencentes a uma verdadeira codificação.
Estrutura de Seleção
Uma estrutura de seleção permite a escolha de um grupo de ações (Bloco) a ser executado sob certas condições , representadas por expressões relacionais ou lógicas, quando estas são satisfeitas ou não.
Portanto, Condição é uma expressão relacional ou lógica que, quando inspecionada, pode resultar como resposta: falso (0) ou verdadeiro (1).
SELEÇÃO SIMPLES – Este comando é utilizado quando precisamos testar uma única condição antes de executarmos uma ou mais ações (Bloco) dentro do algoritmo sob certas condições. A seleção simples segue como padrão.
PSEUDOCÓDIGO: Português estruturado COMANDO: Seleção Simples (única ação)
(^) se (Condição) então // Ação 1;
Padrão de seleção simples para um bloco de ações:
PSEUDOCÓDIGO: Português estruturado COMANDO: Seleção Simples (Duas ou mais ações)
se (Condição) então inicio // Ação 1; // Ação 2; . . . // Ação n; fim ;
A ação ou ações (do bloco) é executada se a condição for Verdadeira e nenhuma ação é executada se a condição for Falsa.