Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de Programaçao de Computadores, Notas de estudo de Engenharia Civil

*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

2014

Compartilhado em 15/03/2014

junior-sousa-43
junior-sousa-43 🇧🇷

1 documento

1 / 53

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Prof. Alessandro Bertolani Oliveira
1
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35

Pré-visualização parcial do texto

Baixe Apostila de Programaçao de Computadores e outras Notas de estudo em PDF para Engenharia Civil, somente na Docsity!

Programação de Computadores I

UNIDADE 1 – Conceitos introdutórios

O QUE VAMOS ESTUDAR:

Abstração e LógicaLógica estruturada: padrõesAlgoritmos: conceitos e representaçõesConceitos: 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.

PADRÕES

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ãoVariável: Identificadores, Tipos, declaração e comando de atribuiçãoExpressões: Aritméticas, Relacionais e LógicasComando de Entrada e SaídaBloco 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:

PADRÃO

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.

l

×

M

l

×

M

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

PADRÃO

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

símbolo =.

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

EXEMPLO:

 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

 COMANDOS DE ENTRADA E SAÍDA

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

PADRÃO

(^) leia (Saldo); leia (Nome, CPF, Idade);

ENTRADA SAÍDA

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

PADRÃO

escreva (“Carros em estoque: ”, QuantidadeCarros); escreva (“Bom dia: ”, Nome); escreva (“Você pesa: ”, Peso, “quilos”);

 BLOCO DE INSTRUÇÕES

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

PADRÃO

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

PADRÃO

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)

PADRÃ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)

PADRÃO

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.