Manipulação de informação. Algoritmos computacionais

Documentos relacionados
A linguagem algorítmica utiliza o português para a definição dos comandos e tem as seguintes característica:

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

Noções de algoritmos - Aula 1

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

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Introdução à Computação

Introdução à Computação

Algoritmo e Programação Matemática

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

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

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

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

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

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

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007

Princípios de Desenvolvimento de Algoritmos MAC122

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

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

Unidade 4: Introdução à Lógica de Programação - Parte II

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

4 Variáveis. Unesp Campus de Guaratinguetá

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

PROGRAMAÇÃO COMPUTACIONAL I

Introdução à Computação MAC0110

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Linguagem Computacional

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Aula 4 Expressões e Operadores Cleverton Hentz

Pseudocódigo e Visualg

SEBENTA INTRODUÇÃO Á ALGORITMIA

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

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

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

Desenho de algoritmos

Aula 4: Introdução à Linguagem C++

Fábio Rodrigues / Israel Lucania

Execução de instruções. Aula nº4

Tipos de dados, constantes e variáveis. Prof.: Jesus

INTRODUÇÃO À COMPUTAÇÃO - EPET006 -

Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis

Português Estruturado

Programação Básica. Estrutura de um algoritmo

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

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

Introdução. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e Algoritmo. Lógica e programação Aula 02

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

Introdução à Computação

Algoritmos Computacionais

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

Conceitos Básicos de Algoritmos

Algoritmos e Estruturas de Dados I

Instruções, dados e expressões

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Programação de Computadores

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

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.

Capítulo 2 Operadores. A função scanf()

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Professora Martha Spalenza Professora de Informática da Faetec

ARQUITETURA DE COMPUTADORES

Conceitos básicos de programação

Computação e Programação

(53)

Introdução a Programação de Jogos

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

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Sistemas de Numeração

Representação da Informação no Computador

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Algoritmos. Conceitos e Comandos

Engenharia Elétrica AAM. Professor: Marco Shawn Meireles Machado

Linguagem C: Introdução

Representação de Dados

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Tipos de Dados e Expressões

Programação de Computadores

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Linguagem Computacional

Variáveis, Tipos de Dados e Operadores

Introdução. 17-out-08 Leandro Tonietto 2

Noções de Algoritmos

Noções de algoritmos - Aula 1

Linguagem de Programação I. Aula 03 Estruturas de Controle

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

TIPOS DE DADOS E VARIÁVEIS

3. Tipos de dados e variáveis

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano

Introdução à Programação

Programação de Computadores III

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Fluxogramas e variáveis

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

MATA49 Programação de Software Básico

Transcrição:

Manipulação de informação Algoritmos computacionais

Sumário Algoritmos não computacionais Algoritmos computacionais Bases de Numeração Números binários Programas em linguagem máquina Linguagem estruturada Variáveis Operadores aritméticos Leitura e escrita Funções

Algoritmos não computacionais

Algoritmos não computacionais Missionários e canibais Algoritmo Escrito numa folha de papel A4 A5 Duas folhas Letra manuscrita Possivelmente ilegível Instruções Numeradas Com marcas Com desenhos Instruções ambíguas Vai para A Rema para A Navega para A Atravessa o rio Executor Aluno Inteligente

Componentes dos algoritmos Dados Nº de missionários no lado A Nº de missionários no lado B Nº de canibais no lado A Nº de canibais no lado B Posição do Barco Situação inicial (0,0,0) / (3,3,1) Situação final (3,3,1) / (0,0,0) Instruções Embarcar Missionário Canibal Desembarcar Missionário Canibal Atravessar o rio As instruções (1,1,1) / (2,2,0) (1,0,0) / (3,2,1)

Algoritmos não computacionais Formato ambíguo Instruções ambíguas Definição das instruções disponíveis Escritos em linguagem natural Passível de várias interpretações Executado por pessoas Entendem a linguagem natural Inteligentes e conseguem resolver ambiguidades Estão inseridas no contexto do problema Conseguem adivinhar passos intermédios

Bases de Numeração Transformar instruções, dados e endereços em números

Computador digital O computador para processar e armazenar informação utiliza a linguagem binária Converter para binário Instruções número da instrução Endereços endereços sequenciais Dados - são sempre números Linguagem binária Bit = digito binário Pode assumir dos valores 0 1 diferença de potencial baixo Ausência de energia Campo magnético negativo buraco diferença de potencial Alto presença de energia Campo magnético positrivo Sem buraco 1 1 0 1 0 0 0 1

Representação digital Dois Bits Acesa Bit Apagada 2 estados Acesa Apagada 4 estados

Representação digital da informação (byte) 1 bit 2bits 3 bits 4 bits 0 1 00 01 10 11 000 001 010 011 100 101 110 111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 n bits permitem representam 2 n estados 1 0 1 BYTE 1 0 1 2 8 = 256 Estados 0 diferentes 1 1 byte = 8 bits Unidade fundamental de informação 0

Conversão de binário para decimal 1 BYTE 0 1 0 1 1 1 1 0 128 64 32 16 8 4 2 1 0 64 0 16 8 4 2 0 94 0 *2 7 + 1*2 6 + 0*2 5 + 1*2 4 + 1*2 3 + 1*2 2 + 1*2 1 + 0* 2 0 = 94 2 BYTES 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 410 Conversor de Bases

Representação binária de números negativos Representação de números inteiros negativos em complemento de 2 Valor decimal Representação binária Valor decimal Representação binária 0 0 0 0 0 0 0 0 0-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1-2 1 1 1 1 1 1 1 0 2 0 0 0 0 0 0 1 0-3 1 1 1 1 1 1 0 1 3 0 0 0 0 0 0 1 1-4 1 1 1 1 1 1 0 0 4 0 0 0 0 0 1 0 0-5 1 1 1 1 1 0 1 1 5 0 0 0 0 0 1 0 1-6 1 1 1 1 1 0 1 0 6 0 0 0 0 0 1 1 0-7 1 1 1 1 1 0 0 1 7 0 0 0 0 0 1 1 1-8 1 1 1 1 1 0 0 0

Representação de números reais

Conversão de caracteres Tabela ASCII NULL 0 Espaço 32 Zero 48 A 65 a - 97 Á 143 á - 160

Linguagens de alto nível Linguagem estruturada

Linguagens de programação Calcular a área do rectângulo Algoritmo Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area Linguagem máquina 0000 00000100 0100 0000 00000101 0101 0110 01100100 01000101 01010110 0110 0011 00110110 0110 0110 0110 PORTUGOL Linguagem de de alto alto nível nível Ler Ler lado1 lado1 Ler Ler lado2 lado2 area area <- <-lado1 * lado2 lado2 Escrever area area Assembler Ler Ler C0 C0 Ler Ler C1 C1 MUL MUL C0 C0 C1 C1 C2 C2 IMP IMP C2 C2 FIM FIM

Tipos de dados Inteiro Real Caracter Texto Lógico Variáveis Um nome Um Tipo Um só valor Que espaço ocupam estes tipos de dados em memória? Depende do: HW, SW, Linguagem de programação Inteiro (32 bits) Real (32, 64 bits) Carácter (8 bits) Texto Lógico (conj. de caracteres) (1 bit)

Tipos de dados

Declaração de variáveis Onde? Antes da sua utilização Porquê? Para o compilador reservar um espaço de memória Como? Definindo o tipo da variável (tipo) e o nome variável tipo nome1 variável tipo nome1, nome2, ou apenas tipo nome1 tipo nome1, nome2, Exemplos inteiro inteirolado real reallado1 lado1,, lado2 lado2 caracter sexo sexo logico logicorepetente, trabalhador

Regras dos nomes de variáveis Pode ser constituído por letras do alfabeto por dígitos e pelo caracter _ (underscore) O primeiro caracter não pode ser um dígito As letras maiúsculas e minúsculas representam caracteres diferentes Não pode ter o nome de uma palavra reservado da linguagem Deve ser descritivo daquilo que armazena Caso tenha mais que uma palavra utilizar o caracter _ para unir as palavras ou capitular as iniciais Não é aconselhado A utilização de caracteres acentuados Começar por _ Ter apenas letras maiúsculas

Exercício Quais dos seguintes nomes são nomes válidos de variáveis? idade Num_Cliente A1b2c3 7dias Vinte% Sim?não _alfa Variavel Nome Principal Cliente NomePrincipalCliente

Ler e escrever Instrução ler Utilização Ler nome_da_variável Instrução escrever Utilização escrever nome_da_variável escrever texto escrever texto, nome_da_variável escrever nome_da_variável, texto,..... Separar os elementos por virgulas

Exemplo de Ler e escrever Programa Ola OlaMundo inicio inicio escrever "ola" "ola mundo" fim fim Programa cordial cordial inicio inicio texto textonome escrever " Qual Qual o seu seu nome" nome" ler ler nome nome escrever "Bemvindo ",, nome nome fim fim

Atribuição de Valores operador <-< Exemplos Soma Soma <- <-10 10 saldo saldo <- <-soma + 1 area area <- <-lado1 * lado2 lado2 NOTA NOTA variavel <- expressão O operador = (igual) é o operador de de comparação e devolve verdadeiro ou ou falso O operado <- é o operador de de atribuição e significa que a variável passa a ter um novo valor

Operadores Aritméticos Variáveis numéricas Unários - (menos) Binários + (adição) - (subtracção) * (multiplicação) / (divisão) ^(potenciação) Variáveis Texto Binário + ( concatenação) Prioridade dos operadores Prioridade 1 ^ Prioridade 2 * / Prioridade 3 + - Os parêntesis alteram a prioridade

Expressões matemáticas/computacionais Distancia entre dois pontos Matemática d = ( x1 x2) + ( y1 y2) 2 2 2 Computacional D <- ( (x1 x2)^2 + (y1 y2) ^2 ) ^0.5 (x1,y1) (x2,y2)

Expressões matemáticas/computacionais Zeros de uma equação de segundo grau Matemática Computacional X1 <- ( -b + ( b^2 4*a*c) ^0.5 )/ ( 2 * a) X2 <- ( -b - ( b^2 4*a*c) ^0.5 ) / ( 2 * a)

Expressões matemáticas/computacionais Fórmula Matemática x = 2ΠR 3 2 ΠR 6 5 + 4 3 ΠR 3 Expressão Computacional X <- (2*3.14*R^2-5)/ ((3.14*R)/6)^(1/3) + (4/3)* 3.14*R^3

Área do rectangulo Programa Área Área do do rectângulo inicio inicio real real lado1, lado1, lado2, lado2, area area escrever "introduza o lado lado 1" 1" ler ler lado1 lado1 escrever "Introduza o lado lado 2" 2" ler ler lado2 lado2 area area <- <-lado1 * lado2 lado2 escrever " A área área é ",, area area fim fim

Exemplo de Concatenação Programa cordial cordial inicio inicio Texto Texto nome, nome, apelido, nome_completo escrever "Qual "Qual o seu seu primeiro nome" nome" ler ler nome nome escrever "Qual "Qual o seu seu apelido" ler ler apelido nome_completo <- <- nome nome + " " + apelido escrever "Benvindo" ",, nome_completo fim fim

Exercício Construa um programa que calcule a área e o perímetro de um círculo Perimetro = 2 R Area = R 2

Exercício Construa um programa que calcule a área e o volume de um paralelepípedo

Exercício Construa um programa que calcule a distância de um ponto à origem num plano 2D

Exercício Construa um programa que calcule o tempo de trabalho de um trabalhador dado a hora de entrada e a hora de saída. Entrada 08:30:00 Tempo de trabalho 4:30:10 Saída 13:00:10