Fundamentos da Computação Prof. Yandre Maldonado - 1

Documentos relacionados
Fundamentos da Computação. O Computador. O Computador. Evolução tecnológica: Prof. Yandre Maldonado e Gomes da Costa

Fundamentos de Algoritmos (5175/31)

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Computação

Introdução à Computação

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Introdução à Ciência da Computação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Algoritmos e Estruturas de Dados I

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

Técnicas de Programação

INTRODUÇÃO A PROGRAMAÇÃO

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação Introdução

Introdução à Computação

Lógica de Programação I. Gilson de Souza Carvalho

Introdução à Computação

Apêndice A. Pseudo-Linguagem

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Capítulo 1 Conceitos Básicos

Oficina de Python Prof. Me. José Carlos Perini

Linguagem Computacional

5. Expressões aritméticas

Introdução a Computação

Introdução à Computação

CONCEITOS DE ALGORITMOS

Oficina de Python Prof. Me. José Carlos Perini

Informática Fundamentos em C++ Revisão 1

Linguagem Computacional

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Fundamentos de Programação

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

Capítulo 2 Introdução à Programação

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Capítulo 2 Introdução à Programação

Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação

Algoritmos Computacionais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Ciência da Computação A&P

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

Programação de Computadores:

Programação Estruturada Aula VisualG

AEDI Fundamentos Revisão 1

Prof. José Remo / Prof. Ildeberto Rodello 1

I - CONCEITOS INICIAIS

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

CAPÍTULO 4 - OPERADORES E EXPRESSÕES

Algoritmos e Programação - Engenharia da Computação -

Introdução a programação Visão geral

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

CAI Fluxograma Revisão 7

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 4

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Programação de Computadores I. Professor Ilaim Costa Junior

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos. Prof. Jonatas Bastos Site:

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Prof. Jorge Cavalcanti

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Português Estruturado

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Linguagem de Programação I. Linguagem Pascal

Lógica de Programação I

Portugol. Tiago Alves de Oliveira

PC Fluxograma Revisão 8

Introdução a Programação de Jogos

Algoritmos. Conceitos e Comandos

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

PDF created with pdffactory trial version Elementos Básicos de Algoritmos. Elementos Básicos de Algoritmos Palavras Reservadas

Fundamentos de Programação1

LINGUAGEM ALGORÍTMICA

Algoritmos e Lógica de Programação Introdução e formas de representação

Conceitos Básicos de Algoritmos

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Métodos para a construção de algoritmo

Transcrição:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Fundamentos da Computação Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

O Computador Prof. Yandre Maldonado - 2 Evolução tecnológica: Válvulas primeira geração Transistor segunda geração Circuitos integrados (vários transistores) terceira geração Integração em alta escala (VLSI) quarta geração

O Computador Prof. Yandre Maldonado - 3

O Computador Estrutura: Unidade Lógica e Aritmética Prof. Yandre Maldonado - 4 Unidade de Entrada Unidade de Controle Memória (Principal) UCP Unidade de Saída

O Computador Prof. Yandre Maldonado - 5 Unidade de Entrada: codifica informações introduzidas por dispositivos de entrada para que a UCP possa entender; Memória: armazena dados e o programa em execução; Unidade Lógica e Aritmética: realiza cálculos aritméticos e manipulação de dados; Unidade de Controle: responsável pelo trafego dos dados: UE MEM MEM ULA MEM MEM US

O Computador Unidade de Saída: converte os dados processados para um formato que possa ser exibido em dispositivos de saída. Prof. Yandre Maldonado - 6 Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc. Software: os programas que executam sobre o hardware. HARDWARE + SOFTWARE = COMPUTADOR

Software Programa em processamento no computador (Fedeli et al., 2003); Hardware Software Usuário Prof. Yandre Maldonado - 7 Softwares básicos: Programas que definem o padrão do equipamento, sendo necessários para o funcionamento do computador. Tipos: sistema operacional ambiente operacional linguagens de programação (tradutores) utilitários

Software Prof. Yandre Maldonado - 8 Sistema operacional: programa ou conjunto de programas cuja função é gerenciar os recursos do sistema;

Software Prof. Yandre Maldonado - 9 Sistemas operacionais: programa, em geral, fornecidos pelo fabricante do equipamento.; Constituição do sistema operacional: programas escritos em linguagem de programação de baixo nível; Exemplos de sistemas operacionais: Linux; Windows; Mac-OS; Android...

Software Ambiente operacional: Pr rof. Yandre Maldonado - 10 ambientes que adicionam recursos ao sistema operacional para permitir uma interface gráfica com o usuário, ou seja, é um sistema operacional com recursos gráficos. Exemplo: todas as versões do Windows e Linux incluem um ambiente operacional. Linguagens de programação: conjunto de símbolos (vocabulário) e regras (gramática) que Divisão: especificam um padrão sintático para estabelecer a comunicação entre usuários (programadores) e computador. linguagem de baixo nível linguagem de alto nível linguagem de máquina linguagem simbólica

Software Linguagem de máquina: baseada em código binário, em 0s e 1s. Interpretada diretamente pelo computador. Pr rof. Yandre Maldonado - 11 Exemplo: Linguagem de máquina Significado 0010 0001 1110 carrega no registrador 1 o conteúdo da posição de memória 14 0010 0010 1111 carrega no registrador 2 o conteúdo da posição de memória 15 0001 0001 0010 soma o conteúdo do registrador 1 com o conteúdo do registrador 2 e coloca no registrador 1 0011 0001 1111 armazena o conteúdo do registrador 1 na posição de memória 15

Software Linguagem de baixo nível simbólica: simplificação da linguagem de máquina. Faz uso de Pr rof. Yandre Maldonado - 12 códigos mnemônicos para expressar as instruções. Exemplo: Assembly Linguagem de máquina Linguagem simbólica 0010 0001 1110 LOAD R1, val1 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2

Software Linguagem de alto nível: Pr rof. Yandre Maldonado - 13 combinação de um conjunto de símbolos de acordo com certas regras de sintaxe para expressar uma seqüência de operações de máquina. Linguagem que não exige conhecimento do código de máquina. Exemplos: FORTRAN, ALGOL, COBOL, BASIC, PASCAL, LOGO, C, LISP, PROLOG, Phyton etc. Linguagem de máquina Linguagem simbólica Linguagem de alto nível 0010 0001 1110 LOAD R1, val1 val2 = val1 + val2 0010 0010 1111 LOAD R2, val2 0001 0001 0010 ADD R1, R2 0011 0001 1111 STORE R1, val2

Definições: Pr rof. Yandre Maldonado - 14 Redação que descreve de forma lógica e sem ambigüidades, uma seqüência de passos (ações) para se resolver um problema que tenha um comportamento padrão. Franco e Polidório Uma seqüência de passos que visam atingir um objetivo bem definido. Forbellone e Eberspächer

Pr rof. Yandre Maldonado - 15 É a descrição de um padrão de comportamento, expressado em termos de um repertório bem definido e finito de ações primitivas, das quais damos por certo que elas podem ser executadas. Guimarães e Lages Descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. Farrer e outros

Pr rof. Yandre Maldonado - 16 O algoritmo deve ensinar a resolver o problema, e não trazer a solução. Exemplo: receita de bolo; Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um resultado final previsível e bem definido. Objetivo: solução do problema.

Pr rof. Yandre Maldonado - 17 Aspecto lógico: ordenar o pensamento. Organização seqüencial das ações pertinentes à solução de um problema; Exemplo: o bolo só pode ser levado ao forno depois que a massa estiver pronta. Lógica no dia-a-dia: Todo mamífero é animal. Todo cavalo é mamífero. Portanto, todo cavalo é animal.

Pr rof. Yandre Maldonado - 18 Padrão de comportamento: uma seqüência de ações para resolver um problema. Exemplos: Trocar uma lâmpada (problema cotidiano): pegue uma escada; posicione-a sob a lâmpada; busque uma lâmpada nova; suba na escada; retire a lâmpada velha; coloque a lâmpada nova. Calcular a área de um retângulo (problema matemático): obtenha a medida da base do retângulo; obtenha a medida da altura do retângulo; multiplique a medida da base pela medida da altura.

Pr rof. Yandre Maldonado - 19 Aspecto estático e aspecto dinâmico: Estático: não depende do tempo, mas do espaço físico onde o algoritmo está sendo escrito; Dinâmico: como se comporta a execução de cada ação do algoritmo com o passar do tempo. Todo algoritmo deve produzir resultados corretos, e ser finito tanto estática quanto dinamicamente.

Pr rof. Yandre Maldonado - 20 Ambigüidade: relacionada à sintaxe e semântica de linguagens naturais. O artista produz formas perfeitas. Linguagens naturais são muito extensas, possuindo ambigüidade; Linguagem Natural X Linguagem Computacional

Linguagem Algorítmica Linguagem Computacional Pr rof. Yandre Maldonado - 21 Nos algoritmos, devemos utilizar construções que executarão uma ação específica bem definida; Uma linguagem algorítmica deve ter sintaxe rígida e semântica bem definida; Toda linguagem possui sintaxe e semântica.

Pr rof. Yandre Maldonado - 22 Sintaxe: dita as regras de como as sentenças e cada um de seus elementos devem ser construídos corretamente; Semântica: se preocupa com o significa de uma sentença construída.

Pr rof. Yandre Maldonado - 23 A sintaxe por si só não define completamente uma linguagem. Exemplo: Descoloridas idéias verdes sonham furiosamente (Chomsky) Por outro lado: Nóis foi, mais já vortemo

Pr rof. Yandre Maldonado - 24 Todo algoritmo deve ser descrito em alguma linguagem; Assim, o algoritmo deve respeitar um padrão sintático; Primeira linguagem: Pascal; Compilador a ser utilizado: Pascalzim

Estrutura básica do algoritmo em Pascal: Pr rof. Yandre Maldonado - 25 program teste; var x: integer; const nome = Fulano ; begin instruções... end. Identificação do algoritmo Bloco de declarações: variáveis Bloco de declarações: constantes Bloco de comandos

Um primeiro algoritmo em Pascal: Pr rof. Yandre Maldonado - 26 Program Primeiro_programa; Begin write('engenharia de Produção'); End.

Algoritmos geralmente descrevem algum processamento de dados: Pr rof. Yandre Maldonado - 27 Dados de Entrada Processamento (Computador) Dados de Saída Estes dados precisam ser representados (descritos) nos algoritmos;

Pr rof. Yandre Maldonado - 28 Um algoritmo para fins computacionais é a descrição de ações que manipulam objetos em função do tempo. Objetos descrevem o estado computacional; Objetos têm função específica; Ações são direcionadas aos objetos; Objetos são definidos como parte do programa; Estados diferentes requerem objetos diferentes. * Objetos frequentemente serão chamados de variáveis.

Pr rof. Yandre Maldonado - 29 A cada objeto é associado um nome que identifica este objeto ao longo da programação. Este nome é chamado identificador. De forma geral, podemos dizer que um identificador está associado à uma célula de memória. O termo variável é freqüentemente utilizado como sinônimo de identificador.

Pr rof. Yandre Maldonado - 30 Em geral, as linguagens de programação exigem nomes de identificadores com as seguintes característica: Use somente letras e números; O primeiro caracter do nome deve ser uma letra; Não é permitido o uso de caracteres especiais. Exemplos válidos: ImpostoDeRenda, F1, soma, produto, desconto, SalarioHora. Exemplos inválidos: 1f, Imposto-renda, salario hora.

Pr rof. Yandre Maldonado - 31 Atributos (características) de um objeto: Nome; Célula de memória; Valor associado; Tipo: define a categoria dos dados que podem ser armazenados no objeto. Nome identificador do objeto conteúdo (valor armazenado na célula de memória) célula de memória

Pr rof. Yandre Maldonado - 32 O tipo: especifica uma classe de valores que podem ser armazenados na célula de memória associada ao identificador; define as operações válidas sobre o identificador;

Pr rof. Yandre Maldonado - 33 Tipo de Dado Um identificador armazena um único dado num instante, mas este dado não pode ser qualquer um; Os objetos serão classificados segundo um tipo; Os dados podem ter estruturas físicas diferentes; As células de memória do computador precisam ser compatíveis com o tipo de dado que vão armazenar;

Pr rof. Yandre Maldonado - 34 Devemos informar ao computador qual o tipo de dado que vamos armazenar; Esta informação determina quantas células de memória serão necessárias para armazenar o dado; Esta informação define quais serão as operações possíveis de se aplicar sobre os dados; Exemplo: em um dado numérico pode-se aplicar uma operação aritmética.

Pr rof. Yandre Maldonado - 35 Os tipos de dados podem variar de uma linguagem para outra. No entanto, existem dois tipos básicos: Tipos simples; Tipos estruturados (estudados mais adiante); Numérico Tipos de Dados Simples Caracter Lógico Inteiro Real

Pr rof. Yandre Maldonado - 36 Os Tipos de Dados Numéricos são divididos basicamente em dois grandes conjuntos: Inteiros; Reais; Os inteiros podem ser positivos, negativos ou nulos, mas não possuem um componente decimal;

Pr rof. Yandre Maldonado - 37 Os inteiros são compatíveis com os reais, mas os reais não são compatíveis com os inteiros; Assim, um objeto real pode receber um valor inteiro, mas um objeto inteiro não pode receber um valor real; Declaração: Pascal: integer; C: int;

Pr rof. Yandre Maldonado - 38 Os reais podem ser positivos, negativos ou nulos, e possuem sempre um componente decimal; Exemplos: 2,34; 0,0; -214,123; Computacionalmente, existem muitas diferenças entre o armazenamento de números inteiros e números reais;

Pr rof. Yandre Maldonado - 39 Os números inteiros consomem menos espaço de armazenamento em memória; Declaração do tipo real: Pascal: real; C: float;

Pr rof. Yandre Maldonado - 40 Os tipos de dados não numéricos: Caracter: formado pelas letras (de A a Z, e de a a z), dígitos (de 0 a 9) e caracteres especiais (~,.,?, >, <,...); A diferença entre caracteres e dados numéricos estão na forma de armazenamento, e nas operações legais permitidas sobre os mesmos; Exemplo: operações aritméticas sobre os dados numéricos.

Para diferenciar um caracter de um identificador ou de um dado numérico, utilizaremos apóstrofes. Assim: Pr rof. Yandre Maldonado - 41 8 é um dado numérico; 8 é um caracter; A é um identificador; A é um caracter

Pr rof. Yandre Maldonado - 42 Objetos declarados como do tipo caracter poderão armazenar um único caracter; Para armazenar uma seqüência de caracteres será utilizada a estrutura cadeia de caracteres, que consiste num tipo de dado estruturado; Exemplo: Z é um caracter; ANA é uma cadeia de caracteres; Declaração do tipo caracter: Pascal e C: char;

Pr rof. Yandre Maldonado - 43 Tipo Lógico: os valores lógicos podem assumir uma entre duas possibilidades (verdadeiro ou falso); Só poderá armazenar um destes dois valores; Muito utilizados em controle do fluxo lógico do algoritmo; Pascal: boolean; C: não definido;

Declaração do tipo do identificador (objeto): em Pascal. Pr rof. Yandre Maldonado - 44 var identificador: tipo;

Pr rof. Yandre Maldonado - 45 Caso haja mais de uma variável do mesmo tipo: var identificador1, identificador2: tipo; Se houver identificadores de tipos diferentes (inteiro,real, lógico): var i1, i2, i3: integer; r1, r2: real; l1: boolean;

Pr rof. Yandre Maldonado - 46 Escolha do tipo de um identificador: deve-se conhecer bem a solução do problema. Exemplos de inteiros: número de pessoas; um número par ou ímpar; idade de uma pessoa; quantidade de objetos; Exemplos de reais: o peso de uma pessoa; um percentual; nota de uma avaliação; média; preço de um produto;

Pr rof. Yandre Maldonado - 47 Situações de dúvida Exemplos: raíz quadrada de um número; divisão entre dois números inteiros; Quando houver alguma possibilidade de um identificador numérico receber um valor não inteiro, deve ser declarado como real. Reais Inteiros

Pr rof. Yandre Maldonado - 48 Valores dos dados os dados são valores que são armazenados em células de memória e que são acessados (ao longo do algoritmo) por referêcia aos identificadores; assim, se tivermos os identificadores i, r e l, para objetos do tipo inteiro, real e lógico respectivamente, e atribuírmos os valores 100; 3,14; e falso, teríamos a seguinte configuração: i r l 100 3,14 falso Estes são os valores exibidos quando se utiliza a instrução escreva.

Pr rof. Yandre Maldonado - 49 Argumentos de Entrada e Saída Entrada: objetos cujos valores são conhecidos em tempo de execução; permitem um comportamento mais genérico dentro do caráter específico do comportamento padrão; Saída: objetos que armazenam a solução objetivo de um problema;

h b Pr rof. Yandre Maldonado - 50 Exemplo:considerando a figura mostrada acima (um retângulo), faça um algoritmo que calcule a área da mesma. Neste problema existem três valores (estados) a serem representados: Altura do retângulo (h); Largura (ou base) do retângulo (b); Área do retângulo. Dados de Entrada Dados de Saída

Solução em Pascal: program retangulo; Pr rof. Yandre Maldonado - 51 var h, b, area: real; begin write ('Digite um valor para a altura do retângulo: '); read (h); write ('Digite um valor para a base do retângulo: '); read (b); area := h*b; write ('Valor da área: ', area); end.

Pr rof. Yandre Maldonado - 52 Nesta solução, os valores de a e de h só serão conhecidos em tempo de execução, e deverão ser fornecidos pela pessoa que executa o algoritmo. Assim, a preocupação não é com o valor do resultado produzido, e sim com a produção de resultados corretos. Questão 01: Qual é o valor final do objeto área informado pelo descrito algoritmo no slide anterior?

Exemplo: no algoritmo para calcular a área de um triângulo retângulo, descrito abaixo, os objetos base e altura são argumentos de entrada, enquanto o objeto area é argumento de saída. Pr rof. Yandre Maldonado - 53 1 2 3 4 5 6 7 8 9 10 11 12 13 program triangulo; var base, altura, area: real; begin write ('Digite um valor para a altura do retângulo: '); read (altura); write ('Digite um valor para a base do retângulo: '); read (base); area := altura*base/2; write ('Valor da área: ', area); end.

Pr rof. Yandre Maldonado - 54 Teste de mesa: tabela que demonstra os resultados obtidos ao longo da execução de um algoritmo. Exemplo: execução do algoritmo do slide 26 para entrada dos valores 3 para o objeto base e 5 para o objeto altura; Linha Base Altura Area 8-5 - 10 3 5-11 3 5 7.5 12 3 5 7.5

Pr rof. Yandre Maldonado - 55 Escreva um algoritmo que calcule o diâmetro, a área e a circunferência de um círculo, sabendo que o único dado disponível é o seu raio. Diâmetro = 2 * Raio Área = Pi * Raio * Raio Circunferência= 2 * Pi * Raio Ler dois números inteiros e imprimir a soma. Entrar com dois números inteiros e imprimir a média aritmética. Criar um algoritmo que solicite e imprima os valores da diagonal maior, diagonal menor e calcule a área de um losango. Fórmula: (diagonal maior * diagonal menor) dividido por 2 Elaborar um algoritmo para calcular e apresentar o volume de uma lata de óleo, utilizando a fórmula: VOLUME = 3.14159 * (R*R) * ALTURA.

Pr rof. Yandre Maldonado - 56 Escreva um programa em Pascal que pergunte o nome a altura (em metros) e a massa (em Kg) do usuário. Em seguida o programa deverá exibir uma mensagem dizendo o nome do usuário e a sua densidade corporal. Densidade = peso / altura 2

Algritmos Operadores Aritméticos Operador Significado Prioridade Pr rof. Yandre Maldonado - 57 * / + multiplicação divisão adição - subtração II As operações são realizadas em uma expressão de acordo com a ordem de prioridade. Quando houver empate entre operações, elas serão realizadas da esquerda para a direita. I I II

Pr rof. Yandre Maldonado - 58 Expressões Aritméticas Expressão Matemática 2.a+b a.x 2 a 2 +b Expressão Algoritmica 2*a+b a*x^2 a/2+b Os parênteses quebram o ordem de prioridade natural. a 2+b a/2+b a/(2+b) errado certo

Quando houverem parênteses aninhados, a prioridade será do mais interno. Pr rof. Yandre Maldonado - 59 a / (a + b) - (2 * (b + c)) 1 2 4 3 5

Operadores Relacionais Comparação entre objetos (ou entre um objeto e um valor) do mesmo tipo; O resultado será sempre do tipo lógico (V ou F); Pr rof. Yandre Maldonado - 60 Operador Significado Exemplo de uso > Maior que A>B, 4>3, C>3 < Menor que 2*A<B <> Diferente de A+B<>C = Igual a A=0 <= Menor ou igual a B*A<=0 >= Maior ou igual a a >= b'

Pr rof. Yandre Maldonado - 61 O operador relacional perde em prioridade para os operadores aritméticos; O operador relacional é binário, isto é, ele deve envolver um operando a sua esquerda e um a sua direita. Assim, a expressão -3 < X <=2 não é válida, pois nela X está relacionando-se com outros dois operandos. Para isto, teremos que utilizar um operador lógico.

Pr rof. Yandre Maldonado - 62 Exercício: qual o resultado da expressão relacional A+3 > B quando: A tem valor igual a 5 e B igual a 8; A tem valor igual a 0 e B igual a -3; A tem valor igual a 1 e B igual a 1; A tem valor igual a -3 e B igual a 1;

Pr rof. Yandre Maldonado - 63 Operadores Lógicos Constrói expressão lógica que envolve operandos lógicos; Utilizados no processo de tomada de decisão e em controles de repetição; Operadores: e - usado na conjunção de proposições, em Pascal and ou - usado na disjunção de proposições, em Pascal or não - usado na negação de proposições, em Pascal not Proposição é qualquer elemento que possa produzir valor lógico (variável lógica, expressão relacional ou expressão lógica);

Pr rof. Yandre Maldonado - 64 Os operadores and e or são binários; O operador not é unário; Ordem de prioridade: not I and II or III

Pr rof. Yandre Maldonado - 65 A expressão A e B será verdadeira quando o operando A e o operando B produzirem resultados verdadeiros simultaneamente. Qualquer outra combinação de valores destes operandos produzirá resultado falso; A expressão A ou B será verdadeira quando uma das proposições (operando A e B) produzir resultado verdadeiro;

Tabela do operador e: Pr rof. Yandre Maldonado - 66 A B A e B V V V V F F F V F F F F

Tabela do operador ou: Pr rof. Yandre Maldonado - 67 A B A ou B V V V V F V F V V F F F

Tabela do operador não: A não A Pr rof. Yandre Maldonado - 68 V F Agora, com o uso de operador lógico, pode-se representar a expressão y<=x<z da seguinte forma: F V (y<=x) e (x<z)

Prioridade geral de operadores Pr rof. Yandre Maldonado - 69 Operadores não *, /, e +, -, ou Ordem de prioridade Exercício: encontre as prioridades das operações envolvidas na seguinte expressão I III IV <, >, <>, <=, >=, = V não((a>b)ou(a+b<c)e(c<d))

Sugestões Bibliográficas Pr rof. Yandre Maldonado - 70 FEDELI, R. D.; POLLONI, E. G. F.; PERES, F. E. Introdução à Ciência da Computação. São Paulo: Pioneira Thomson Learning, 2003. WIRTH, N. Algoritmos e Estruturas de Dados. Rio de Janeiro: Prentice-Hall do Brasil, 1989. VELOSO, P.; SANTOS, C.; AZEREDO, P.; FURTADO, A. Estruturas de Dados. Rio de Janeiro: Editora Câmpus, 1984. AZEREDO, P. A. de. Métodos de Classificação de Dados e Análise de Suas Complexidades. Rio de Janeiro: Editora Câmpus, 1996. FORBELLONE, A. L. V. & EBERSPACHER, H. F. Lógica de Programação - A Construção de Algoritmos e Estruturas de Dados. São Paulo: Makron Books, 2000.

Sugestões Bibliográficas Pr rof. Yandre Maldonado - 71 SALVETTI, D. D.; BARBOSA, L. M. Algoritmos. São Paulo: Makron Books, 1998. MANZANO, J. A.; OLIVEIRA, J. F. Estudo Dirigido Algoritmos. São Paulo: Editora Érica, 1997. FARRER, H. e outros. Algorimtos Estruturados. Rio de Janerio: LTC, 1989. GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1985. Apostila: Algoritmos: uma abordagem sintática e semântica Universidade Estadual de Maringá Airton Polidório e Clélia Franco