Post on 21-Dec-2015
description
INTRODUÇÃO A PROGRAMAÇÃO
Unidade I – INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO
PROFESSORA GELLARS TAVARES
gellarstavares@yahoo.com.br
2015
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 2
CURSO: SI/ADS/GTI/REDES DISCIPLINA: INTROD. PROGRAMAÇÃO PROFESSORA: GELLARS TAVARES
Entendendo o Computador COMPUTADORES Dispositivo capaz de executar cálculos e tomar decisões lógicas em velocidades milhões, e até bilhões, de vezes mais rápidas do que os seres humanos; Computadores processam dados sob o controle de conjunto de instruções chamado de programas de computador; Estes programas de computador guiam o computador através de conjuntos ordenados de ações especificados por pessoas chamadas de programadores de computador. ARQUITETURA BÁSICA DO COMPUTADOR Modelo de Von Neumann
► Dispositivos de entrada – São dispositivos que captam dados, convertendo-os em sinais elétricos para que possam ser armazenados na Memória Principal. Exemplos: teclado, mouse, unidades de disco, scanner, unidade de DVD, pen drive, modem, etc.
► Dispositivos de saída – São dispositivos que convertem sinais elétricos para formas que possam ser entendidas pelo usuário, exibindo-os, quando for o caso, sob a forma de textos, imagens ou som. Exemplos: impressora, monitor, unidades de disco, unidade de DVD, plotter, pen drive, modem, etc.
► CPU (Central Processing Unit) – Unidade Central de Processamento: Formada pela Unidade de Controle (ULA – Unidade Aritmética e Lógica) e registradores.
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 3
Unidade de Controle – Gerencia as instruções de controle de fluxo de dados entre todos os componentes e é responsável pela busca e decodificação das instruções e por gerar sinais que possibilitam a execução da instrução. ULA – Responsável por qualquer operação aritmética, lógica ou de deslocamentos. Registradores – São áreas especiais de memória que podem, ou não, serem manipulados pelo programador. Geralmente, de alta velocidade para aumentar o fluxo entre a MP (memória principal) e os demais componentes. Memória Principal – É um dispositivo capaz de armazenar dados e programas que está associado à CPU. Sistemas de Barramento – Todos os componentes, CPU, Memória Principal e os dispositivos de E/S são interligados através de três barramentos: Dado/Endereço/Controle. • O computador só entende números! • Dispositivos de Entrada: convertem informações externas (usualmente fornecidas pelo usuário) em números para o computador.
• Dispositivos de Saída: convertem números fornecidos pelo computador em informações para o usuário.
Funcionamento da CPU Busca Instrução: CPU lê a memória em busca do que deve fazer. Lê entrada: Supondo que a instrução indica a leitura de um dado de entrada, CPU lê entrada. Busca Instrução: CPU lê a memória em busca do que deve fazer com dado lido. Cálculos: Supondo uma instrução de cálculo, a CPU realiza a operação Busca Instrução: CPU lê a memória em busca do que deve fazer Armazena dado: Supondo que a instrução solicitava armazenamento do dado na memória, guarda o mesmo na memória Busca Instrução: CPU lê a memória em busca do que deve fazer Apresenta saída: Supondo que a instrução indica que um dado deve ser apresentado ao usuário, CPU escreve na saída E assim sucessivamente... A Memória Principal • A Memória Principal é formada por células, sendo cada célula endereçável. • O tamanho da célula é expresso em bits. Logo, se uma célula é formada por n bits, teremos 2n possibilidades de valores, isto é, se a célula for formada por 8 bits, poderemos representar valores de 0 a 255.
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 4
Suponha que a memória seja um arquivo com várias gavetas: • Cada gaveta é chamada posição de memória • Cada gaveta possui um número que a identifica, chamado endereço de memória • Em cada uma das gavetas, cabe um único número
A memória principal (RAM) é...
O Que o Computador Entende? • O computador entende apenas números... • ...em um dialeto chamado “binário” 0101001010111b • O que significa isso? • Pode significar várias coisas, depende da interpretação! – Música, imagem, números... • Comecemos com os números! – Mas para entender os números do computador, precisamos primeiro entender os nossos!
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 5
Os Números Decimais • Temos DEZ dedos, contando ambas a mãos • Como consequência, lidamos com números DECIMAIS • Isso significa que cada um dos dígitos de um número pode ser preenchido com um de 10 símbolos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • Quando precisamos representar um número maior que 9, acrescentamos um dígito 1 à esquerda... E o dígito da direita volta a zero:
Os Números Binários • Para representar números, o computador conta apenas com sinais elétricos • Por motivo de precisão, apenas DOIS estados elétricos são usados para indicar números: ligado e desligado. • Cada “fio” do computador – pelo qual pode estar passando corrente elétrica ou não – representa um dígito para ele – chamado bit • Sendo assim, os números são compostos por apenas dois “símbolos”: 0, 1 • Quando precisamos representar um número maior que 1, acrescentamos um dígito 1 à esquerda... E o dígito da direita volta a zero: 0 1 10 11 100 REPRESENTAÇÃO DA INFORMAÇÃO O bit (BInary digiT) é a menor unidade de informação existente em um computador,
podendo assumir os valores 0 (zero) e 1 (um), o que tem relação com a arquitetura do processador;
Para cada dado, o computador utiliza diversos 0 e 1 seguidos: 0011010101001011. Podemos dizer então que o computador tem como base o sistema binário;
A unidade padrão de medida na Informática é o Byte (BinarY TErm), que é o conjunto de 8 (oito) Bits. A um caractere (letra, número, ou símbolo especial) associamos um byte, como ilustrado abaixo:
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 6
INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO LÓGICA MATEMÁTICA – Descreve as formas, as propriedades e as relações das
preposições, graças à construção de um simbolismo regulado e ordenado que permite diferenciar linguagem cotidiana e linguagem formalizada. A linguagem formal nada tem a ver com a linguagem cotidiana, pois se trata de uma linguagem inteiramente construída por ela mesma, baseada no modelo da matemática. (CHAUÍ, 2000).
LÓGICA DE PROGRAMAÇÃO – Uso correto das leis do pensamento, da “ordem da razão” e de processos de raciocínio e simbolização formais na programação de computadores, objetivando racionalidade e o desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar. (FORBELLONE, A.; EBERSPACHER, H., 2000).
DESAFIO Problema da Torre de Hanói - Eduard Lucas em 1883 Seja a seguinte situação:
deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original
em cada movimento, pode-se mover apenas um disco um disco maior nunca poderá ser sobreposto por outro menor
LÓGICA Ciência que estuda as leis do raciocínio. Correção/validação do pensamento. Encadeamento/ordem de ideias. Arte de bem pensar. Modo de raciocinar: as soluções dos problemas utilizam a lógica para serem criadas, ou
seja, elas são ordenadas de uma forma que sejam possíveis de ser realizadas e de uma maneira que essa forma seja a mais adequada para o que se deseja obter.
Exemplos de aplicação da lógica O quarto está fechado e meu livro está no quarto. Então, preciso primeiro abrir o quarto para
pegar o livro. Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana. Então, Júlia é neta de Rosa e
sobrinha de Paula. Todo mamífero é animal e todo cavalo é mamífero. Então, todo cavalo é animal. Todo mamífero bebe leite e o homem bebe leite. Então, todo homem é mamífero e animal
(mas não é um cavalo). PROGRAMAÇÃO O que é Programação? = ABSTRAÇÃO! A realidade é complexa e rica em detalhes!
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 7
Abstração
O que você abstrai dessa realidade? Abstração = Operação mental que observa a realidade e captura apenas os
aspectos relevantes para um contexto
NOÇÕES DE LÓGICA Em Lógica um conceito importante é o de “Proposição” Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambiguidade, um valor lógico verdadeiro (V) ou falso (F). Exemplos de proposições: ► Ronaldinho Gaúcho é jogador de futebol. (V) ► 3 + 5 == 10 (F) ► 5 < 8 (V) Contraexemplos de Proposições: ► Onde você vai ? ► 3 + 5 ► Os estudantes jogam vôlei. (Quais ?) OPERAÇÕES LÓGICAS: São usadas para formar novas proposições a partir de proposições existentes.
– Considerando p e q duas proposições genéricas, podem-se aplicar as seguintes operações lógicas básicas sobre elas:
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 8
Definindo a prioridade:
Usar parênteses Exemplo: ((p v q)^(~q)) ou Obedecer (~) > (^) > (v)
Exemplos de aplicação das operações lógicas Considere: p = 7 é primo = (V) q = 4 é ímpar = (F) Então: 4 NÃO é ímpar = ~q = (~F) = (V) 7 NÃO é primo = ~p = (~V) = (F) 7 é primo E 4 NÃO é ímpar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V) 7 é primo E 4 é ímpar = p ^ q = (V ^ F) = (F) 4 é ímpar E 7 é primo = q ^ p = (F ^ V) = (F) 4 é ímpar E 7 NÃO é primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)
– Resumindo:
– Ou seja: – Não (~) troca o valor lógico. Se for F passa a ser V e vice-versa. – E (^) só tem valor V quando as duas proposições forem V. Basta uma
proposição ser F para o resultado ser F. – OU (v) só tem valor F quando as duas proposições forem F. Basta uma
proposição ser V para o resultado ser V. ALGORITMO Um procedimento passo a passo para a solução de um problema. Sequência lógica e não ambígua de instruções que levam à solução de um problema num
tempo finito. Sequência lógica de instruções que devem ser seguidas para a resolução de um problema ou
para a execução de uma tarefa. Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa
sucessão finita de ações;
p q p ^ q p v qV V V VV F F VF V F VF F F F
~pFFVV
pp qq p ^ qp ^ q p v qp v qVV VV VV VVVV FF FF VVFF VV FF VVFF FF FF FF
~p~pFFFFVVVV
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 9
– Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido;
A construção de algoritmo consiste na primeira fase de resolução de problemas utilizando-se recursos computacionais. Somente após a sua construção, verificação de sua correção e codificação, tem-se um programa;
– Um programa é a formalização de um algoritmo em uma determinada linguagem de programação, segundo suas regras de sintaxe e semântica, de forma que o computador possa entender a sequência de ações;
A base da boa programação consiste na construção de bons algoritmos. Alguns passos:
– Compreender o problema identificando as suas entradas e saídas; – Desenvolver um procedimento para a solução do problema; – Verificar manualmente a sua correção; – Codificar o algoritmo; – Executá-lo e testá-lo; – Refinar se necessário, o algoritmo e documentá-lo.
CARACTERÍSTICAS BÁSICAS DE UM ALGORITMO: Sequência lógica
As instruções devem ser definidas em uma ordem correta. Não ambígua
A sequência lógica e as instruções não devem dar margem à dupla interpretação. Solução de um problema
A sequência lógica deve resolver exatamente (nem mais e nem menos) o problema identificado. Tempo finito
A sequência lógica não deve possuir iterações infinitas.
Exemplos de algoritmos – Receitas de comidas – Coreografia – Manuais de instalação
Contraexemplos de algoritmos – Listas de compras – Dança informal – Índice remissivo de um livro
Algoritmo Textual Informal Modo de preparo de um bolo:
– Bata a margarina, as gemas e o açúcar até ficar cremoso. – Junte o leite, o coco e a farinha e continue batendo. – Acrescente o fermento e, por último, as claras em neve. – Unte uma forma com manteiga e leve ao forno para assar.
Algoritmo Textual Informal Refinado Modo de preparo:
– Bata a margarina, as gemas e o açúcar por 15 minutos – Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos – Acrescente 20 g de fermento e, por último, às claras em neve – Unte uma forma com manteiga e leve ao forno para assar por 30 minutos
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 10
Atenção: – Um algoritmo é “uma solução” e não “a solução” de um problema.
Um problema pode ser resolvido por mais de um algoritmo! – Tarefas que possuem “padrão de comportamento” podem ser descritas por um
algoritmo. Ex: Qual será o próximo número das sequências a) 0,1,4,9,16,25? b) 7,8,10,13,17? Lógica de Programação = É o encadeamento lógico de instruções para o
desenvolvimento de programas. Programa = É a implementação das instruções (codificação+tradução+execução) de um
algoritmo em uma linguagem de programação. Estes programas podem ser escritos em Linguagem de máquina, ou ainda em
linguagens de programação tais como: C, C++, Cobol, VB, dentre outros. Instrução = Informação que representa uma ação elementar que deve ser executada.
Atenção O “;” (ponto-e-vírgula) indica o fim de uma instrução!
RESUMINDO Algoritmo – sequência de etapas que visam atingir um objetivo específico. Por exemplo,
resolver um determinado problema; Programa - conjunto de comandos específicos que traduzem para o computador o que um
algoritmo determinou que deva ser realizado. Existe a necessidade da construção de modelos do mundo real, de forma que seja possível
traduzir isso para a linguagem de computadores. Os principais problemas encontrados no desenvolvimento de algoritmos são:
• Dificuldade na resolução de problemas; • Dificuldade na interpretação de enunciados; e • Dificuldade em abstrair e formalizar informações.
Dessa forma, é necessário desenvolver essas habilidades, começando pela solução de problemas sem a necessidade do uso de ferramentas computacionais.
Lógica - Modo de raciocinar: As soluções dos problemas utilizam a lógica para serem criadas, ou seja, elas são ordenadas de uma forma que sejam possíveis de ser realizadas e de uma maneira que essa forma seja a mais adequada para o que se deseja obter (a ordenação do procedimento da solução segue uma lógica de raciocínio; a formalização dos procedimentos de resolução de problemas precisa ser refinada para aproximar-se do que será aplicado na prática: a lógica de programação);
Lógica de programação - “uso correto das leis do pensamento, da ‘ordem da razão’ e de processos de raciocínio e simbolização formais na programação de computadores, objetivando racionalidade e o desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar”. (Forbellone; Eberspacher, 2005).
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 11
POR QUE APRENDER ALGORITMOS? Para desenvolver o raciocínio lógico e conceber uma solução a um dado problema,
independente de uma linguagem de programação (Ex: Pascal, C e Java). Porque, a partir do algoritmo desenvolvido, fica mais fácil implementar o respectivo
programa. Segundo grandes pesquisadores...
– “A noção de algoritmo é básica para toda a programação de computadores”. KNUTH KNUTH - Professor da Universidade de Stanford e autor da coleção “The art
of computer programming”. – “O conceito central da programação e da ciência da computação é o conceito de
algoritmo”. WIRTH WIRTH - Professor da Universidade de Zurique, autor de diversos livros na
área e responsável pela criação de linguagens de programação como ALGOL, PASCAL e MODULA -2.
Estruturas básicas de um algoritmo: – Sequência – Início/Fim
Define uma estrutura onde as instruções serão executadas na ordem que aparecem.
– Seleção (ou Condicional)– Se-Então/Senão Define uma estrutura condicional que, dada a sua avaliação (V ou F),
determina qual “caminho” do algoritmo será executado. – Repetição – Repita (Faça/enquanto), Enquanto ou Para
Define uma estrutura de iteração condicional (V ou F) ou contada (predefinida) de instruções.
Algoritmo para ligar de um telefone público – Sequência Início 1- Tirar o fone do gancho; 2-Ouvir o sinal de linha; 3- Introduzir o cartão; 4- Teclar o número desejado; 5- Conversar; 6- Desligar; 7- Retirar o cartão; Fim. Algoritmo para ligar de um telefone público – Seleção Início 1- Tirar o fone do gancho; 2- Se ouvir o sinal de linha, então 2.1 Introduzir o cartão; 2.2 Teclar o número desejado; 2.3 Conversar; 2.4 Desligar; 2.5 Retirar o cartão; 3- Senão 3.1 Ir para o próximo telefone; Fim.
Este algoritmo usa uma estrutura de sequência
“Inicio/Fim”
Este algoritmo usa uma estrutura de decisão
“Se-então/senão”
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 12
Algoritmo para ligar de um telefone público – Repetição Início {o telefone precisa estar funcionando} 1- Repita 1- Tirar o fone do gancho; 2- Se ouvir o sinal de linha então 2.1 Introduzir o cartão; 2.2 Teclar o número desejado; 2.3 Conversar; 2.4 Desligar; 2.5 Retirar o cartão; 3- Senão 3.1 Desligar; 4. Continua(S/N) 2- Até Continua=‘N’ Fim.
E se o telefone chamado estiver com defeito? E se o telefone chamado estiver ocupado? E se acabarem os créditos do cartão telefônico? E se...?
É normal que um algoritmo sofra melhorias sucessivas. (Técnica de refinamentos sucessivos)
SISTEMA COMPUTACIONAL
A programação de um sistema computacional pode ser resumida em 3
passos básicos: Entrada, Processamento e Saída.
Arquitetura de Von Newman
Este algoritmo usa uma estrutura de repetição
“Repita/Até”
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 13
Exemplo 1 – Exibir a média de dois números
Exemplo 2 – Exibir se o aluno está aprovado ou reprovado
LINGUAGENS DE PROGRAMAÇÃO O conjunto de instruções, que será executado pelo processador, é
chamado de linguagem de máquina. As linguagens de programação são classificadas de acordo com a
similaridade que esta linguagem tem com a linguagem de máquina.
Processamento
Entrada
Saída
Dispositivo de Entrada
Dispositivo de Saída
Memória
UCP
6 , 8 (6 + 8) / 2
7
Processamento
Entrada
Saída
Dispositivo de Entrada Dispositivo
de Saída Memória
UCP
Ana, 5, 3 Se (5+3)/2>=7 aprovado Senão reprovado
Ana, reprovado
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 14
Tipos de Linguagens de Programação 1 - Totalmente codificadas em binário (0´s e 1´s) 2 - Usam instruções simbólicas para representar os 0´s e 1´s 3 - Voltadas para facilitar o raciocínio humano
Um computador compreende apenas linguagens compostas por números
0’s e 1’s. Então imagina criar um programa utilizando apenas esses números, isso
seria extremamente complicado. Por esse motivo foi necessário a criação de um código que relacionasse a
linguagem de máquina a uma linguagem mais fácil de ser compreendida. Dessa forma, foi criada uma linguagem de montagem (chamada
Assembly) que é um código que tem uma instrução alfanumérica para cada instrução numérica em linguagem de máquina.
FORMAS DE REPRESENTAR UM ALGORITMO
Algoritmos podem ser representados, dentre outras maneiras, por:
PSEUDOCÓDIGO – Também chamado de PORTUGUÊS ESTRUTURADO.
DESCRIÇÃO NARRATIVA – Linguagem natural para especificar os passos de uma tarefa.
FLUXOGRAMA – Também chamado de DIAGRAMA DE BLOCOS, representação gráfica dos passos de uma tarefa.
DIAGRAMA DE CHAPIN – Também chamado de DIAGRAMA DE NASSI-SHNEIDERMAN, diagrama com visão hierárquica e estruturada.
Linguagem
Assembly
( Mnem ô nica )
LOAD R1, val1
LOAD R2, val2
ADD R1, R2
STORE R1, val2
Linguagem
de
M á quina
0010 0001 1110
0010 0010 1111
0001 0001 0010
0011 0001 1111
Linguagem
de
Alto N í vel
val2 = val1+val2
Baixo Nível Alto Nível
Um algoritmo é “uma solução” e não “a solução” de um problema. Um problema pode ser resolvido por mais de um algoritmo!
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 15
Exemplos de representação de um algoritmo
Diagrama de Blocos
Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Descrição narrativa do algoritmo Fahrenheit-Celsius:
- solicite a temperatura em Fahrenheit; - transforme a temperatura em Fahrenheit para Celsius; - informe a temperatura em Celsius. Antes, veremos os símbolos para elaborar um fluxograma (Diagrama de Módulos)
Seus principais símbolos gráficos são:
Agora voltaremos ao exemplo: Fluxograma do algoritmo Fahrenheit-Celsius
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 16
Linguagem algorítmica (pseudocódigo) A forma geral de um algoritmo em pseudocódigo:
Algoritmo <nome_do_algoritmo> [<declaração_de_variáveis>] Início <corpo_do_algoritmo> Fim. LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO)
Onde:
Algoritmo Indica o início da definição do algoritmo.
<nome_do_algoritmo>
Nome dado ao algoritmo para distingui-lo dos demais.
[<declaração_de_variáveis>] Parte opcional onde são declaradas as variáveis usadas
no algoritmo e, eventualmente, nos sub-algoritmos (partes de um algoritmo).
LINGUAGEM ALGORÍTMICA (PSEUDOCÓDIGO)
Onde:
[<subalgoritmos>] Parte opcional onde são definidos os sub-algoritmos
(quebra do algoritmo em partes: modularização).
Início Palavra que delimita o início do corpo do algoritmo.
<corpo_do_algoritmo>
Conjunto de instruções do algoritmo.
Fim Palavra que delimita o término do corpo do algoritmo.
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 17
Pseudocódigo do algoritmo Fahrenheit-Celsius programa Fahrenheit-Celsius var real Fahrenheit, Celsius; início
leia (Fahrenheit); Celsius ← 5 /9 * (Fahrenheit – 32); escreva (Celsius);
fim COMPARATIVO ENTRE AS FORMAS DE REPRESENTAÇÃO:
Linguagem C++ #include<iostream> using namespace std; int main() { float Fahrenheit, Celsius; cout<<"Digite Temperatura em Fahrenheit: "; cin>>Fahrenheit; Celsius = 5 /9 * (Fahrenheit - 32); cout<<"Temperatura em Celsius = "<<Celsius<<"\n"; system("pause"); }
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 18
Tarefas que possuem “padrão de comportamento” podem ser descritas por um algoritmo. PSEUDOCÓDIGO Início real NOTA1, NOTA2, MEDIA; Leia (NOTA1, NOTA2); MEDIA := (NOTA1 + NOTA2) / 2; SE MEDIA >= 5 escreva ( “Aprovado” ); SENÃO escreva ( “Reprovado”); Fim VANTAGENS E DESVANTAGENS TIPOS DE DADOS PRIMITIVOS
• Numéricos – Inteiros: dados numéricos positivos e negativos pertencentes ao
conjunto de números inteiros, excluindo qualquer valor numérico fracionário. Ex. 10, 0, -3, etc.;
– Reais: dados numéricos positivos e negativos pertencentes ao
conjunto de números inteiros, incluindo qualquer valor numérico fracionário e inteiro. Ex. 10, 0, -34.435, etc.;
• Não-numéricos – Caracteres: sequência de valores delimitados por aspas (“ “)
formados por letras (de A até Z), números (0 até 9) e símbolos (%,@,$,...). Este tipo também é conhecido como alfanumérico, string, literal ou cadeia. Ex. “q”, “linguagem c++”;
– Lógicos: dados que sugerem uma única opção entre duas possibilidades existentes: verdadeiro ou falso, sim ou não, 1(um) ou 0 (não).
Vantagens Desvantagens Descrição Narrativa
O português é bastante conhecido por nós.
Imprecisão. Pouca confiabilidade (a imprecisão
acarreta a desconfiança). Extensão (normalmente, escreve-se
muito para dizer pouca coisa). Fluxograma Padrão mundial.
Ferramenta bem conhecida. Figuras dizem muito mais que
palavras.
Complica-se à medida que o algoritmo cresce.
Pouca atenção aos dados, não oferecendo recursos para declará-los.
Linguagem Algorítmica
Independência de linguagem de programação.
Usa o português como base. Define-se melhor quais e como os
dados vão estar estruturados. Passagem quase imediata do
algoritmo para uma linguagem de programação qualquer.
Exige a definição de uma linguagem não real para trabalho.
Não é padronizada.
FLUXOGRAMA
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 19
CONSTANTES
• Tudo que é fixo, estável, inalterável, imutável, contínuo, invariável, de valor fixo;
• As constantes não sofrem alterações ao longo do programa. Exemplos: pi = 3.14159265 resultado = “aprovado” situacao = .falso. VARIÁVEIS
• Variável é tudo aquilo que é sujeito a variações, que é incerto instável ou inconstante;
• As informações variáveis são armazenadas na memória do computador; • A memória pode ser vista como um conjunto de gavetas. Para utilizar
uma gaveta é preciso identificá-la com uma etiqueta. A identificação é feita pelo nome da variável;
• Cada variável guarda uma informação de cada vez, sendo sempre do mesmo tipo.
• Todo valor atribuído a uma variável será feito por meio do símbolo de atribuição:
em algoritmo: ← (uma seta) em C++: = (igual) em Pascal: := (dois pontos igual)
Ex. de declaração de variável: real nota; Ex. de atribuição em uma variável: nota = 5.7; REGRAS DE DEFINIÇÃO DE IDENTIFICADORES
• Constantes e variáveis são identificadores. As regras de definição de nomes devem ser observadas:
– O primeiro caractere do identificador deve ser sempre alfabético. Os demais podem ser alfanuméricos;
– Não podem ser utilizados espaços em branco para formação de identificadores com nomes compostos. Os nomes deverão ser separados por sublinhado (_);
– Não podem ser utilizados caracteres especiais; – Não podem ser utilizadas palavras reservadas; – Os nomes devem refletir o conteúdo do identificador;
• Exs. Válidos: nome, nome_usuario, fone1; • Exs. Inválidos: 1X, fone#, inteiro, nome usuario;
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 20
OPERADORES ARITMÉTICOS: são as operações aritméticas básicas
Símbolo Significado / Divisão * Multiplicação + Adição - Subtração
ou mod Resto da divisão de inteiros div Quociente da divisão de inteiros
Soma - Na matemática, representada pelo sinal + e, em expressões em termos computacionais, pelo mesmo sinal. A + B Expressão que simboliza a soma do valor de duas variáveis. 2 + 3 Nesta expressão, o valor retornado é a soma dos valores dados, isto
é, 5. Subtração - Na matemática, representada pelo sinal - e, em expressões em termos computacionais, pelo mesmo sinal. A - B Expressão que simboliza a subtração do valor de duas variáveis. 3 - 2 Nesta expressão, o valor retornado é o resto, isto é, 1. Multiplicação - Na matemática, representada pelos sinais x ou. e, em expressões em termos computacionais, pelo sinal * . B * D Expressão que simboliza a multiplicação do valor de duas variáveis. 3 * 2 Nesta expressão, o valor retornado é o produto dos valores dados,
isto é, 6.
Divisão - Na matemática, representada pelo sinal e, em expressões
computacionais, pelo sinal /. A / B Expressão que simboliza a divisão do valor de duas variáveis. 6 / 2 Nesta expressão, o valor retornado é a divisão dos valores dados,
que, no caso, será equivalente a 3. 5 / 2 Nesta expressão, o valor retornado é a divisão dos valores dados,
que no caso será equivalente a 2,5. % - Resto (em outras linguagens, conhecido como mod). É usado em expressões em termos computacionais quando se deseja encontrar o resto da divisão de dois números inteiros. K % Y Expressão que simboliza a intenção de achar o valor do resto da
divisão do valor da variável K pelo valor da variável Y. 5 % 2 Nesta expressão, o valor retornado é o resto da divisão do primeiro
pelo segundo número que, no caso, será equivalente a 1. 7 % 4 Nesta expressão, o valor retornado é o resto da divisão do primeiro
pelo segundo número que, no caso, será equivalente a 3.
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 21
Observação: Normalmente, as linguagens de programação assumem que a divisão é uma operação que retorna um valor REAL. Atenção especial, portanto, para variáveis que receberão o resultado de uma divisão. Em algumas linguagens, quando se divide dois números inteiros, o resultado será um inteiro.
PRIORIDADE OPERADORES RELACIONAIS: são operadores binários (de mesma prioridade) que somente retornam os valores lógicos V ou F.
Símbolo Significado
== ou = Igual a
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
!= ou <> Diferente
Como exemplos de Expressões relacionais têm:
A != B X == 1 7 > 6 8 < 9
1 <= Y 4 >= W
A diferente de B X é igual a 1
7 maior que 6 8 menor que 9
1 é menor ou igual ao valor da variável Y 4 é maior ou igual ao valor da variável W
PRIORIDADE
Operador Precedência
() Calculados em primeiro lugar da esq. p/ dir. *, / ou % Calculados em segundo lugar da esq. p/ dir.
+ ou - Calculados em terceiro lugar da esq. p/ dir. <, <=, > ou >= Calculados em quarto lugar da esq. p/ dir.
== ou != Calculados em quinto lugar da esq. p/ dir. = Calculados em último lugar da dir.p/ esq.
Operador Precedência
( ) Calculados em primeiro lugar da esq. p/ dir.
*, / ou % Calculados em segundo lugar da esq. p/ dir.
+ ou - Calculados por último da esq. p/ dir.
INTROD. PROGRAMAÇÃO – Professora Gellars Tavares – ano 2015 Página 22
Estes somente são usados para efetuar comparações, as quais só podem ser feitas entre dados do mesmo tipo.
O resultado de uma comparação é sempre um valor lógico. OPERADORES LÓGICOS OU BOOLEANOS: são usados para combinar expressões relacionais e lógicas. Também retornam como resultado valores lógicos V ou F. Operador lógico de disjunção ( e )
Op. Lóg. de Disjunção .e.
Cond.1 Cond.2 Resultado
F F F
V F F
F V F
V V V
Operador lógico de conjunção ( ou )
Op. Lóg. de Conjunção .ou.
Cond.1 Cond.2 Resultado
F F F
V F V
F V V
V V V
Operador lógico de negação ( não )
Op. Lóg. de Negação .não.
Condição Resultado
V F
F V
ORDEM DE PRIORIDADES
Operador Prioridade
Aritméticos 1
Relacional 2
Lógico 3