Baixe o app para aproveitar ainda mais
Prévia do material em texto
26/05/2013 1 João Monlevade, 26 de maio de 2013 Universidade Federal de Ouro Preto Campus João Monlevade Prof. Mateus Ferreira Satler CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER2 1 •Sistemas de Numeração•Sistemas de Numeração 2 •Sistemas Computacionais•Sistemas Computacionais 4 •Sistemas Operacionais•Sistemas Operacionais 5 •Algoritmos – Introdução•Algoritmos – Introdução 26/05/2013 2 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Como fazer a conversão entre o sistema decimal e o sistema utilizado num computador? HEXADECIMAL DECIMAL BINÁRIO 3 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Base ◦ Base ou raiz de um sistema de numeração: é o número de algarismos distintos usados nesse sistema de numeração. Exemplo: o sistema decimal possui base 10, isto é, usa 10 algarismos distintos. 4 26/05/2013 3 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Notação Posicional ◦ É o nome dado à notação usada por alguns sistemas numéricos, onde cada algarismo tem, além do seu valor absoluto, um valor de posição dentro de cada número desse sistema em que ele aparece. Por exemplo, no sistema decimal: O valor absoluto 2 no número 2000 representa uma grandeza diferente do que 2 em 20. 5 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Exemplo de Sistema de Numeração que não usa Notação Posicional ◦ O sistema de numeração romano é constituído de um conjunto N de 7 algarismos diferentes, cada um representando um valor fixo, independentemente de sua posição relativa no número: N = (I, V, X, L, C, D, M) Indicando, respectivamente, os valores: 1, 5, 10, 50, 100, 500 e 1000 Observe que neste sistema não há representação para o zero. Tente multiplicar XIII x XVII 6 26/05/2013 4 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Sistema Decimal ou de Base 10 ◦ Possui 10 algarismos distintos (algarismos arábicos = 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9) e usa notação posicional. ◦ Ex.: 7 = 7 x 100 35 = 30 + 5 = 3 x 101 + 5 x 100 81,508 = 8 x 101 + 1 x 100 + 5 x 10-1 + 0 x 10-2 + 8 x 10-3 ◦ Obs.: Na notação posicional (qualquer que seja a base) o primeiro algarismo a esquerda da vírgula, representa uma potência da base com expoente igual a 0 (zero) e esse expoente é inteiro e crescente para a esquerda. 7 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Sistema Decimal: ◦ Como Funciona 0 1 2 3 4 5 6 7 8 9 10 Zera e vai-um 8 26/05/2013 5 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Sistema Binário ou de Base 2 ◦ Usa notação posicional e possui dois algarismos distintos: 0 e 1. 00 01 10 11 Zera e vai-um 9 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Usa notação posicional e possui dois algarismos distintos: 0 e 1. Decimal Binário 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 Problema: ◦ como converter 2358(10) para a base 2? ◦ E 100101(2) para a base 10? 10 26/05/2013 6 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Sistema Hexadecimal ou de Base 16 ◦ Usa notação posicional e possui 16 algarismos distintos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F. Decimal Hexadecimal 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F Decimal Hexadecimal 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 11 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão de Base ◦ Conversão da base b (qualquer) para decimal: Para converter um número na base b em decimal, basta somar os produtos dos algarismos pelas potências da base b que eles representam. Ex.: Converter os números abaixo para a base 10 (10)16 = 1 x 161 + 0 x 160 = (16)10 (F30A)16 = 15 x 163 + 3 x 162 + 0 x 161 + 10 x 160 = (62218)10 (1101)2 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = (13)10 (10001111)2 = 27 + 23 + 22 + 21 + 20 = (143)10 12 26/05/2013 7 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão de Base ◦ Conversão de decimal para a base b (qualquer): Para converter um número decimal para a base b, devem ser feitas divisões inteiras sucessivas por b até que se encontre quociente 0 (zero). O número correspondente na base b será formado pelos restos das divisões, da última até a primeira divisão, nessa ordem. 13 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão de Base ◦ Converter o número 18 em decimal para binário 14 26/05/2013 8 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão Binário ↔ Hexadecimal ◦ Como 16 é potência de 2 (24 = 16), nesta conversão, cada algarismo hexadecimal dá origem a quatro algarismos binários. ◦ Tabela de conversão: Hexadecimal Binário 1 0 0 0 1 2 0 0 1 0 4 0 1 0 0 8 1 0 0 0 Valor da Posição 8 4 2 1 15 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão Binário ↔ Hexadecimal ◦ Ex.: Hexadecimal em Binário: 8 4 2 1 ◦ (9)16 = (1 0 0 1)2 (isto é, 8 + 1 = 9) ◦ (D)16 = (1 1 0 1)2 ◦ (13A)16 = ( 0 0 0 1 | 0 0 1 1 | 1 0 1 0 )2 ◦ (FB09)16 = ( 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1)2 16 26/05/2013 9 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conversão Binário ↔ Hexadecimal ◦ Ex.: Binário em hexadecimal: 8 4 2 1 ◦ (1 0 0 1)2 = (9)16 ◦ (0 0 1 0 | 1 1 0 1 | 1 0 1 1 | 0 1 0 1)2 = (2DB5)16 ◦ (1 0 0 0 | 1 0 0 1 | 1 0 1 1 | 1 1 1 1)2 = (89BF)16 17 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Resumo: DECIMAL ÷2 x2n tabela x16n BINÁRIOHEXADECIMAL ÷16 18 26/05/2013 10 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Hardware ◦ Corresponde à parte material, aos componentes físicos do sistema. É o computador propriamente dito. Software ◦ Conjunto de programas (instruções arranjadas logicamente) e dados. Peopleware (usuário) Software (programas) Hardware (máquina) 19 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Estrutura de um Computador Digital 20 26/05/2013 11 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Processador ◦ Também chamada de microprocessador ou unidade de processamento central (UPC ou CPU) e é responsável pelo gerenciamento de todas as funções do sistema. ◦ A CPU distingue somente dois estados físicos, representados pelos números 0 e 1 – dígitos binários. ◦ É dividida em: Unidade Aritmética e Lógica: encarregada de realizar operações aritméticas e lógicas elementares. Unidade de Controle: encarregada de coordenar os diversos componentes. 21 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Memória Principal - (RAM – Random Access Memory) ◦ É a unidade encarregada de armazenar os programas e dados ( recebidos das unidades de entrada) para imediato processamento pela CPU. ◦ Após a execução de cada instrução do programa, a CPU armazena o resultado gerado na memória principal. ◦ A memória é considerada um meio temporário de armazenamento de dados, que permanecem ali somente durante o tempo em que estiverem sendo processados. CPU Memória Principal 22 26/05/2013 12 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: Bit, Byte e Word ◦ Bit (“Binary DigiT” – dígito binário) Unidade de Informação, tem somente os valores “0” ou “1”. ◦ Byte (“BinarY Term” – termobinário) Conjunto de 8 bits, com o qual pode-se representar os números, as letras, os sinais de pontuação, etc. ◦ Palavra (Word) É a quantidade de bits que a CPU processa por vez. 23 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: Bit, Byte e Word ◦ CPU ou micro de: Palavra de: 8 bits 8 bits = 1 byte = 1 caractere 16 bits 16 bits = 2 bytes = 2 caracteres 32 bits 32 bits = 4 bytes = 4 caracteres 64 bits 64 bits = 8 bytes = 8 caracteres 128 bits 128 bits = 16 bytes = 16 caracteres ◦ Exemplo: se a palavra (texto) TRADUTOR tiver sido transferida da memória para uma CPU de: 8 bits <= este precisará de 8 operações para processá-la; 16 bits <= este precisará de 4 operações para processá-la; 32 bits <= este precisará de 2 operações para processá-la; 64 bits <= este precisará de uma operação para processá-la; 24 26/05/2013 13 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Unidades de Medida: Unidades Usual Informática Kilo (K) 103 210 bytes Mega (M) 106 220 bytes Giga (G) 109 230 bytes Tera (T) 1012 240 bytes 25 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Memória Principal ◦ Representação de uma memória de 1 KB: ◦ O processador acessa o conteúdo de um byte a partir do endereço desse byte. No byte de endereço 2 está armazenado o código ASCII do caractere “A”. 26 26/05/2013 14 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Memória Secundária ◦ A memória secundária pode ser composta por vários dispositivos capazes de ampliar a capacidade de armazenamento da memória principal. Eles podem armazenar grandes quantidades de dados e programas. ◦ A memória secundária é um tipo de memória não volátil, teoricamente permanente e mais lenta. ◦ Outra função da memória secundária é oferecer uma expansão virtual da memória principal – Memória Virtual. CPU MemóriaPrincipal Memória Secundária 27 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Interface ◦ Representa o meio de comunicação entre duas partes do sistema. Exemplo: disco e computador, teclado e computador, computador e impressora. ◦ Existem dois tipos de interface: Serial: os dados são enviados um bit de cada vez (cabos com um único fio); Paralela: um byte de cada vez (cabos com 8 fios); 28 26/05/2013 15 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Linguagens de Programação ◦ É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. 29 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Linguagens de Programação ◦ Lista de 2500 linguagens de programação http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm ◦ Linha do tempo com aproximadamente 50 linguagens de programação http://www.levenez.com/lang/lang.pdf 30 26/05/2013 16 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Linguagens de Programação ◦ Para que um algoritmo possa ser executado pelo computador, é necessário que ele seja programado, isto é, que ele seja transcrito para uma linguagem que o computador possa “entender”, direta ou indiretamente. 31 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Tradutor ◦ Os computadores só podem executar diretamente os algoritmos expressos em linguagem de máquina (que é um conjunto de instruções capazes de ativar diretamente os dispositivos eletrônicos do computador). ◦ Um tradutor é um programa que traduz um algoritmo que está escrito em uma determinada linguagem de programação em linguagem de máquina. 32 26/05/2013 17 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Processo de Tradução: ◦ O Processo de tradução pode ser feito por: Compilação: Lê, analisa e traduz todos os comandos do programa fonte, criando o programa objeto. Interpretação: Traduz ou interpreta cada comando ao executá- lo. 33 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Principais Tipos de Linguagens de Programação ◦ Linguagem de Máquina (ou Absoluta): É a única linguagem que atende ao computador, por satisfazer o seu projeto lógico. Instruções representadas por códigos binários. Exemplo de instrução: Esta instrução ordena que o conteúdo do endereço 0A3516da memória seja somado (1016) ao acumulador (registrador especial usado para acumular resultados) e que o resultado fique guardado no acumulador. 34 26/05/2013 18 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Principais Tipos de Linguagens de Programação ◦ Linguagem Simbólica (de Baixo Nível, de Montagem ou Assembler): Surgiu afim de simplificar a difícil programação da linguagem de máquina. Substitui os códigos binários por abreviações de nomes sugestivos que lembram a função da instrução. Exemplo de instrução: ADD X ADD ordena que o valor da variável X seja somado ao acumulador e que o resultado fique nele guardado. X é o nome da variável, criado pelo programador, que representa um endereço da memória (por exemplo 0A3516) que contém armazenado o valor desta variável. Surgimento do conceito de variável. 35 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Principais Tipos de Linguagens de Programação ◦ Linguagem Automática ( ou de Alto Nível ): São semelhantes às linguagens usadas para descrever o problema que se deseja resolver, ressaltando a linguagem profissional a que o usuário está acostumado. Existem várias linguagens automáticas: FORTRAN (FORmula TRANslation), ALGOL, PLI, APL, BASIC, LISP, SNOBOL, PASCAL, ADA, MODULA etc. Exemplo de comando: Y = 3 + X; Ordena que a constante 3 seja somado ao valor da variável X e que o resultado seja armazenado como novo valor da variável Y. Obs.: C é considerada uma linguagem de médio nível. 36 26/05/2013 19 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Linguagem C ◦ Linguagem de programação que será utilizada durante a disciplina ◦ As bases da linguagem C foram desenvolvidas entre os anos 1969-1973, em paralelo com o desenvolvimento do sistema operacional Unix. O período mais criativo ocorreu em 1972. 37 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Linguagem C ◦ A linguagem C é amplamente utilizada, principalmente no meio acadêmico. ◦ O sucesso do sistema operacional Unix auxiliou na popularização do C. ◦ A linguagem C é considerada simples. 38 26/05/2013 20 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER É um programa especial que controla e coordena todas as operações básicas de um computador. Ele controla a execução de outros programas e pode proporcionar funções como: ◦ Controle de entrada e saída de dados; ◦ Alocação de memória; ◦ Gerenciamento de dados, etc . Os programas que compõem os SOs são, na maioria dos casos, escritos em linguagens de nível mais baixo, fazendo com que eles sejam mais rápidos e eficientes no gerenciamento de recursos do hardware. 39 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Os SOs podem ser classificados em: ◦ Monousuário: somente um usuário pode processar dados por vez na CPU; ◦ Multiusuário: vários usuários podem acessar “ao mesmo tempo” a CPU de um sistema; ◦ Monotarefa:somente um programa de cada vez é executado pela CPU. ◦ Multitarefa: vários programas podem ser executados de maneira concorrente pela CPU (eles concorrem pela mesma CPU). 40 26/05/2013 21 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER O uso de algoritmos surgiu como uma forma de indicar o caminho para a solução dos mais variados problemas. Dado um problema, as principais funções de um programador são: ◦ Entender perfeitamente o problema ◦ Escolher métodos para sua solução ◦ Desenvolver um algoritmo baseado nos métodos ◦ Codificar o algoritmo na linguagem de programação disponível 41 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER A parte mais importante da tarefa de programar é a construção de algoritmos. Segundo Niklaus Wirth: ◦ “Programação é a arte de construir e formular algoritmos de uma forma sistemática” ◦ “Algoritmos + Estruturas de Dados = Programas” 42 26/05/2013 22 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Como estudar algoritmos? ◦ O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios. ◦ Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos ◦ Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos 43 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: ◦ Ação: é um evento que ocorre num período de tempo finito, estabelecendo um efeito intencionado e bem definido. Ex.: “Colocar o livro em cima da mesa”; “Atribuir o valor 3,1416 em uma variável”; ◦ Observação: toda ação deve ser executável em um tempo finito (do instante t0 até o instante t1); O que realmente interessa é o efeito produzido na execução da ação; Pode-se descrever o efeito de uma ação comparando o estado no instante t0 com o estado no instante t1. 44 26/05/2013 23 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: ◦ Estado de um dado sistema de objetos é o conjunto de propriedades desses objetos que são relevantes em uma situação considerada. ◦ Ex.: “Livro na estante ou sobre a mesa”; “Conjunto de valores das variáveis do programa num certo instante da execução”; 45 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: ◦ Processo: é um evento considerado como uma sequência temporal de (sub) ações, cujo efeito total é igual ao efeito acumulado dessas (sub) ações. ◦ Observação: Pode-se, geralmente, considerar um mesmo evento como uma ação ou como um processo, dependendo se o interesse está em simplesmente no efeito total (da ação) ou se interessa um ou mais estados intermediários (do processo). Em outras palavras, se há interesse, uma ação pode ser geralmente detalhada em um processo. 46 26/05/2013 24 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: ◦ Padrão de Comportamento: em todo o evento pode-se reconhecer um padrão de comportamento, isto é, cada vez que o padrão de comportamento é seguido, o evento ocorre. ◦ Ex.: seja a seguinte descrição: “Uma dona-de-casa descasca as batatas para o jantar” “traz a cesta com batatas do porão”; “traz a panela do armário”; “descasca as batatas”; “devolve a cesta ao porão”; ◦ Essa descrição pode ser usada para descrever eventos distintos (dias diferentes, batatas diferentes etc.). Isso só é possível porque os eventos possuem o mesmo padrão de comportamento. ◦ O efeito de um evento fica totalmente determinado pelo padrão de comportamento e eventualmente pelo estado inicial. 47 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Conceitos: ◦ Algoritmo: é a descrição de um padrão de comportamento, expressado em termos de um repertório bem definido e finito de ações primitivas que, com certeza, podem ser executadas. ◦ Um algoritmo possui caráter imperativo, razão pela qual uma ação em um algoritmo é chamada de comando. Ex.: algoritmo para descascar batatas para o jantar: “traga a cesta com batatas do porão”; “traga a panela do armário”; “descasque as batatas”; “devolva a cesta ao porão”; 48 26/05/2013 25 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Um algoritmo (ou programa) apresenta dois aspectos complementares: ◦ Aspecto estático: é a representação concreta do algoritmo através de um texto contendo comandos que devem ser executados numa ordem prescrita (atemporal). ◦ Aspecto dinâmico: que é a execução do algoritmo no tempo. O problema central da computação consiste em relacionar esses dois aspectos, isto é, consiste no entendimento (visualização) das estruturas dinâmicas das possíveis execuções do algoritmo a partir da estrutura estática do seu texto. 49 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER A restrição a um número limitado de estruturas de controle (de execução dos comandos do algoritmo) permite reduzir o abismo existente entre o aspecto estático e o dinâmico do algoritmo. Só são usadas três estruturas de controle: ◦ Sequência Simples ◦ Alternativa ◦ Repetição “A arte de programar consiste na arte de organizar e dominar a complexidade” (Dijkstra) 50 26/05/2013 26 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER A generalização do algoritmo para descascar batatas para o jantar pode ser: “traga a cesta com batatas do porão”; “traga a panela do armário”; se “saia é clara” então “coloque avental”; enquanto “número de batatas é insuficiente” faça “descasque uma batata”; “devolva a cesta ao porão”; Um algoritmo deve ser determinístico, isto é, dadas as mesmas condições iniciais, deve produzir em sua execução, os mesmos resultados. Só interessam os algoritmos executáveis em tempo finito. 51 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Formas de representação: ◦ Dentre as formas de representação de algoritmos mais conhecidas, sobressaltam: A Descrição Narrativa O Fluxograma Convencional O Diagrama de Chapin A Pseudolinguagem 52 26/05/2013 27 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Descrição Narrativa ◦ Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. ◦ Como por exemplo, têm-se os algoritmos seguintes: Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas 53 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Descrição Narrativa Cálculo da média de um aluno: Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 6, o aluno foi aprovado, senão ele foi reprovado. ◦ Obs: Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambiguidades e imprecisões. 54 26/05/2013 28 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Fluxograma ◦ Representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. ◦ Tal propriedade facilita o entendimento das ideias contidas nos algoritmos. 55 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Fluxograma ◦ Principais formas geométricas usadas em fluxogramas. 56 26/05/2013 29 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Fluxograma ◦ Principais formas geométricasusadas em fluxogramas. 57 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Fluxograma ◦ A figura a seguir mostra a representação do algoritmo de cálculo da média de um aluno sob a forma de um fluxograma. 58 26/05/2013 30 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Diagrama de Chapin ◦ O diagrama foi criado por Ned Chapin. ◦ Substituir o fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa. 59 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Diagrama de Chapin ◦ A figura abaixo apresenta um exemplo do tipo de diagrama de Chapin para o algoritmo de cálculo da média de um aluno. 60 26/05/2013 31 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Pseudolinguagem ◦ Esta forma de representação de algoritmos, também conhecida como pseudocódigo, português estruturado ou portugol, é bastante rica em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. ◦ Esta representação é suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. 61 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Pseudolinguagem ◦ Representação de um Algoritmo na Forma de Pseudolinguagem: principal { <declaração_de_variáveis> <comandos> } 62 26/05/2013 32 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Pseudolinguagem ◦ A seguir é mostrado a representação do algoritmo de cálculo da média de um aluno na forma de um pseudocódigo: principal { real n1, n2, media; leia(n1, n2); media (n1 + n2)/2; se (media >= 6) { imprima ("Aprovado"); } senão { imprima ("Reprovado"); } } 63 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Programas de Computadores ◦ Programas devem ter uma finalidade específica: Games Processadores de Texto Navegadores (Browsers) Etc. ◦ Programa = conjunto de instruções que podem ser executadas pelo computador, de tal forma que a execução de subconjuntos destas instruções permitem a realização de ações mais genéricas. 64 26/05/2013 33 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER Lógica de programação ◦ Desenvolvimento de um programa requer a utilização de um raciocínio ímpar em relação aos raciocínios utilizados na solução de problemas de outros campos do saber. ◦ Para resolver um determinado problema é necessário que encontremos uma sequência de instruções cuja execução resulte na solução da questão. ◦ Programa = Algoritmo que pode ser executado em um computador. ◦ Lógica de Programação = conjunto de raciocínios utilizados para o desenvolvimento de algoritmos (e, portanto, de programas). 65 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - Integrated Development Environment ◦ Ambiente Integrado de Desenvolvimento Programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. Editor, compilador, depurador, etc. 66 26/05/2013 34 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks ◦ CodeBlocks: IDE disponível para Linux, Mac e Windows http://www.codeblocks.org/downloads ◦ Download gratuito 67 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 68 26/05/2013 35 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 69 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 70 26/05/2013 36 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 71 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 72 26/05/2013 37 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 73 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 74 26/05/2013 38 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 75 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 76 26/05/2013 39 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 77 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 78 26/05/2013 40 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 79 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 80 26/05/2013 41 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 81 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 82 26/05/2013 42 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 83 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 84 26/05/2013 43 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 85 CEA 030 – Programação de Computadores I PROF. MATEUS FERREIRA SATLER IDE - CodeBlocks 86
Compartilhar