SSC304 Introdução à Programação Para Engenharias

Documentos relacionados
SSC512 Elementos de Lógica Digital. Sistemas de Numeração. GE4 Bio

MATA49 Programação de Software Básico

Introdução à Computação: Sistemas de Numeração

Sistema Supervisório - IHM

Sistemas de Numeração

Sistemas de Numeração. Tiago Alves de Oliveira

Engenharia Civil. Representação da Informação. Introdução à Computação

Como representar um algoritmo?

INTRODUÇÃO À PROGRAMAÇÃO

Programação em C. Victor Amorim dos Santos

HARDWARE SISTEMA NUMÉRICO E CODIFICAÇÃO. Wagner de Oliveira

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

Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.

Sistemas de Numeração

Representação de Dados

14/03/2011. A INFORMAÇÃO E SUA REPRESENTAÇÃO (Parte I)

Introdução. Universidade Federal de Campina Grande. A Informação e sua Representação (Parte I) Centro de Engenharia Elétrica e Informática

Sistemas de Numeração e Códigos

Estrutura de Dados Algoritmos

Capítulo 04 : Sistemas Numéricos

Sistemas de Numeração

Algoritmos e Programação

Binário Decimal

1 x 10 3 = x 10 2 = x 10 1 = x 10 0 = 8 + Total

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

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

ELETRÔNICA DIGITAL I

Sistemas de Numeração.

Introdução à Computação

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

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

Métodos Numéricos. Turma CI-202-D. Josiney de Souza.

Representação em nível de máquina

Sistemas Digitais Módulo 1 Introdução e Sistemas de Numeração

Prof. Jorge Cavalcanti

Objetivo. Sistemas de Numeração e Códigos. Apresentar técnicas de representação e converção de números em diversos sistemas de numeração.

Algoritmos e Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Eletrônica Digital Sistemas de Numeração. Prof. Wanderley

Algoritmos Fundamento e Prática

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

Noções de Algoritmos

ALB - Álgebra de Boole Aula 2 Sistemas Numéricos. Prof. Antonio Heronaldo de Sousa (Heron)

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

ELETRÔNICA DIGITAL. Prof. Fabio Martins Domingues

Unidade III. Sistemas Numéricos e o Computador

ELETRÔNICA DIGITAL Aula 1- Sistemas de Numeração. Prof.ª Msc. Patricia Pedroso Estevam Ribeiro

Disciplina: Introdução à Engenharia da Computação

11 a EDIÇÃO SISTEMAS DIGITAIS

Linguagem C: Introdução

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

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

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

ELE 0316 / ELE 0937 Eletrônica Básica

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Introdução a Computação

Estruturas de Repetição

Programação Estruturada Aula VisualG

SISTEMAS DE NUMERAÇÃO (Unidade 2)

Arquitetura de computadores BASE NUMÉRICAS

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Lógica Matemática Elementos de Lógica Digital. Sistema de numeração 09/08/2016 1

Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS

Conversão de Bases. Introdução à Organização de Computadores 5ª Edição/2007 Página 54. Sistemas Numéricos - Aritmética. Prof.

Eletrônica Digital Apresentação e Cap.1 PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Representação de Dados e Sistemas de Numeração

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Cálculo Numérico Conceitos Básicos

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. Prof. Jonatas Bastos Site:

Sistemas Numéricos - Aritmética. Conversão de Bases. Prof. Celso Candido ADS / REDES / ENGENHARIA

Introdução a Computação

SEBENTA INTRODUÇÃO Á ALGORITMIA

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Linguagem de Descrição de algoritmos

PCS 3115 Sistemas Digitais I Códigos Prof. Dr. Marcos A. Simplicio Jr.

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.

Computação e Programação

Transcrição:

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr. Danilo Spatti São Carlos - 2018

2 Definições de Algoritmos Características Algoritmos é um conjunto de passos ordenados visando a solução de um problema específico. As características desejadas dos algoritmos são: Legibilidade Portabilidade

3 Definições de Algoritmos Legibilidade Pode-se definir legibilidade como sendo o nível de clareza com que a lógica do algoritmo está expressa. Legibilidade pequena: alta complexidade. Legibilidade alta: baixa complexidade.

4 Definições de Algoritmos Portabilidade Pode-se definir a portabilidade como sendo a capacidade do algoritmo ser convertido, com facilidade, para qualquer linguagem de programação. É sempre desejável ao se construir um algoritmo que o mesmo seja portável, ou seja, possa ser implementado em qualquer linguagem de programação.

5 Lógica de Informação A tarefa principal de qualquer computador é a manipulação de dados ou informações com alto desempenho. INFORMAÇÃO Dados Constantes Variáveis Instruções

6 Lógica de Construção de Algoritmos Em geral, a construção de um algoritmo irá envolver os seguintes passos: 1. Definição dos dados de entrada 2. Definição do processo (ou processamento) 3. Definir os dados de saída 4. Construção do algoritmo (utilizar alguma técnica de representação) 5. Rastreio do algoritmo

7 Lógica de Características Lógica de programação é a ferramenta empregada para ordenação do raciocínio sobre um determinado programa de computação. Alguns conceitos são necessários para que a lógica de programação seja corretamente empregada: Conceito de variável Iniciação (Inicialização) de variáveis

8 Lógica de Exemplo de Programa (I) Suponha que você deseje que o computador calcule a soma de dois números inteiros: 20 e 30 1. Sejam a, b variáveis inteiras 2. Faça a 20 3. Faça b 30 4. Calcule a a + b 5. Imprima a a b 20 50 30

9 Lógica de Exemplo de Programa (I) Suponha que você deseje que o computador calcule a soma de dois números inteiros: 20 e 30 1. Sejam a, b, x variáveis inteiras 2. Faça a 20 3. Faça b 30 4. Calcule x a + b 5. Imprima x a b x 20 30 50

10 Lógica de Variáveis (I) É a representação simbólica dos elementos de um determinado conjunto. Corresponde a uma posição na memória, cujo conteúdo pode variar ao longo da execução do programa. Armazena apenas um único valor a cada instante.

11 Lógica de Variáveis (II) Toda variável é identificada por um nome e deve ser de um determinado tipo. Exemplo: a, b, x, no algoritmo do exemplo. A inicialização é o processo de criação e atribuição de valores às variáveis.

12 Lógica de Constantes As constantes assumem um único valor durante a execução do código. Para ter seu valor alterado, é necessário chamar a instrução que atribua um novo valor para esta constante. Exemplo: π = 3.1415925

13 Lógica de Inicialização de Variáveis Existem basicamente dois processos de inicialização de variáveis: (A) LEITURA: leia um valor de x a partir de um arquivo, ou entre com o valor de x pelo teclado (B) ATRIBUIÇÃO: atribua a x um valor y

14 Formas de Representação de Algoritmos Tipos Descrição narrativa Fluxograma convencional Pseudocódigo Diagrama hierárquico de funções (D.H.F.) Diagrama de fluxo de dados (D.F.D.)

15 Descrição Narrativa Características Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplo: Calculo da média aritmética de um aluno Passos: 1. Obter as notas da primeira e segunda provas 2. Calcular a média aritmética das notas 3. Se a média é maior ou igual que cinco o aluno está aprovado. Caso contrário está reprovado.

16 Fluxograma Convencional Características O fluxograma convencional fornece uma representação gráfica das operações a serem realizadas no algoritmo. Para distinguir as diferentes classes de operações emprega-se formas geométricas com significado claramente definido.

17 Fluxograma Convencional Início e fim de processamento Principais Formas Geométricas Operação de entrada de dados Operação de saída de dados Operação de atribuição / chamada de subalgoritmo Operação de teste lógico

18 Fluxograma Convencional Exemplo da Média Aritmética Início N 1, N 2 Média=(N 1 +N 2 )/2 Média 5 SIM Aprovado Fim NÃO Reprovado

19 Pseudocódigo Características Esta forma se assemelha bastante com a forma em que os programas de computador são escritos. Esta forma apresenta grande aceitação pois é rica em detalhes de implementação.

20 Pseudocódigo Forma Geral Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> Inicio Fim <corpo_do_algoritmo>

21 Pseudocódigo Palavras Reservadas Algoritmo: indica que um novo algoritmo vai ser escrito <nome_do_algoritmo>: indica o nome dado ao algoritmo para diferenciá-lo dos demais <declaração_de_variáveis>: é o lugar do algoritmo onde as variáveis são declaradas <subalgoritmos>: lugar onde outros algoritmos são definidos Inicio: significa onde o algoritmo vai começar a ser executado Fim: indica o fim do algoritmo

22 Pseudocódigo Algoritmo média_das_notas Var N1, N2, média : real Inicio Leia (N1) Leia (N2) Média (N1+N2)/2 Se média 5 então Escreva (Aprovado) Senão Escreva (Reprovado) Fim Se Fim Exemplo da Média Aritmética

23 Pseudocódigo Var N1, N2, média: real Begin Read(N1) Read(N2) Média:=(N1+N2)/2 If média >= 5 then Write ( Aprovado ) Else Write( Reprovado ) End Conversão de Pseudocódigo Para Pascal

24 Pseudocódigo main() float N1, N2, media scan ( %f,fn1) scan ( %f,fn2) media = (N1+N2)/2 if (media>=5) printf( Aprovado ) else printf( Reprovado ) end end Conversão de Pseudocódigo Para C

25 Um dígito binário é chamado de bit (BInary digit). O bit mais significativo é chamado de MSB (most significant bit) e o menos significativo de LSB (least significant bit). Nibble 4 dígitos binários Byte 8 dígitos binários Sistema Binário Características (II) Pesos Decimal 2 2 2 1 2 0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 MSB LSB

26 Conversão Decimal x Binário Qualquer número binário pode ser convertido para seu equivalente decimal pela soma dos pesos das posições em que o número binário possuir um bit 1. 1010 2 = 1x2 3 + 0x2 2 + 1x2 1 + 0x2 0 1010 2 = 8 + 0 + 2 + 0 1010 2 = 10 10 Binário para Decimal 1010,11 2 = 1x2 3 + 0x2 2 + 1x2 1 + 0x2 0 + 1x2-1 + 1x2-2 1010,11 2 = 8 + 0 + 2 + 0 + 0,5 + 0,25 1010,11 2 = 10,75 10

27 Conversão Decimal x Binário Decimal para Binário Divisões sucessivas por 2 até que um quociente zero seja obtido. O resultado é dado pelos restos da divisão na ordem inversa que foram obtidos. 47 2 1º resto... 1 23 2 2º resto... 1 11 2 3º resto... 1 5 2 4º resto... 1 2 2 5º resto... 0 1 101111 2

28 Sistema de numeração muito utilizado na programação de microprocessadores. Sistema com 16 símbolos diferentes (base 16): os números de 0 a 9 (decimal) e as letras de A a F (hexa). As posições dos dígitos recebem pesos como potências de 16. Exemplo: 1BC2 16 para decimal? 1BC2 16 = 1x16 3 + Bx16 2 + Cx16 1 + 2x16 0 1BC2 16 = 4096 + 2816 + 192 + 2 1BC2 16 = 7106 10 Sistema Hexadecimal Características Hexa Decimal Binário 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111

29 Conversão Decimal x Hexa A conversão de números hexadecimais para decimais é feita da mesma forma que para converter binários para decimais. 356 16 = 3x16 2 + 5x16 1 + 6x16 0 356 16 = 768 + 80 + 60 356 16 = 854 10 Hexa para Decimal 2AF 16 = 2x16 2 + 10x16 1 + 15x16 0 2AF 16 = 512 + 160 + 15 2AF 16 = 687 10

30 Conversão Decimal x Hexa Decimal para Hexa A conversão de decimal para hexa, usam-se divisões sucessivas por 16 similar à conversão de decimal para binário. 255 16 224 16 31 16 32 16 15 15 = FF 16 0 14 = E0 16 15 1 = 1F 16 0 2 = 20 16 65 16 109 16 1 4 = 41 16 13 6 = 6D 16 428 16 12 26 16 10 1 = 1AC 16 1016 16 8 63 16 15 3 = 3F8 16

31 Binário x Hexa Hexa para Binário A conversão de hexa em binário é realizada pela troca de cada dígito hexa pelo seu equivalente binário com 4 bits. 9F2 16 = 9 F 2 9F2 16 = 1 0 0 1 1 1 1 1 0 0 1 0 9F2 16 = 100111110010 2

32 Binário x Hexa Binário para Hexa A conversão binário em hexa é o inverso, ou seja, arranjam-se os bits em grupos de quatro e os substituem por dígitos hexa. 1110100110 2 = 0011 1010 0010 1110100110 2 = 3 A 6 1110100110 2 = 3A6 16

33 Codificações ASCII (American Standard Code for Information Interchange) Codificação alfanumérica, utilizada para representar letras, números e outros símbolos. O código ASCII padrão usa 7 bits, 128 combinações possíveis. Código ASCII A versão estendida utiliza 8 bits, 256 combinações.

34 Codificações Código ASCII

35 Fim spatti@icmc.usp.br GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos