Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: Cesar Augusto da Rocha Magalhães 2 EMENTA Introdução às noções básicas da área de informática. Conceituação e construção de algoritmos. Regras de mapeamento e técnicas de documentação de programas. Desenvolvimento de programas OBJETIVO GERAL Propiciar adequada utilização da ferramenta computacional necessária às atividades profissionais do futuro engenheiro(a). OBJETIVOS ESPECÍFICOS 1. Conhecer os fundamentos de Hardware e Software que possibilitem o desenvolvimento de aplicações no computador; 2. Familiarizar o aluno com os conceitos e as técnicas de desenvolvimento de algoritmos; 3. Habilitar o aluno a analisar problemas e desenvolver programas em linguagem algorítmica; 4. Capacitar o aluno a mapear algoritmos em uma linguagem de programação. Programa de Curso Conceitos básicos Conceitos de Hardware/Software; Estrutura de um computador digital; Representação e armazenamento da informação; Histórico, evolução e perspectivas da computação; Arquitetura de um Sistema de computação; Memória, Unidade Central de Processamento, Entrada e Saída, e Periféricos. Programa de Curso Algoritmos Conceituação Elementos básicos do algoritmo e da programação Constantes; variáveis, expressões aritméticas, lógicas e literais; comandos de atribuição, entrada e saída; estrutura de fluxo sequencial Técnicas de construção de algoritmos e programas Estruturas de controle de fluxo condicionais Estruturas de controle de fluxo de repetição Programação estruturada Mapeamento de algoritmos para uma linguagem de programação Programa de Curso Estruturas de Dados Variáveis Compostas homogêneas Sistemas de Numeração O histórico dos sistemas de numeração; Os sistemas decimal, binário, octal e hexadecimal; Conversão entre sistemas BIBLIOGRAFIA BÁSICA BUENO, André Duarte. Programação Orientada a Objeto com C++.São Paulo, Novatec Editora, 592p., 2003. -http://WWW.lenep.uenf.br/~bueno/apostilas.htm Mizrahi, Victorine Viviane, Treinamento em Linguagem C++, módulo 1 2.ed, São Paulo, Pearson Prentice Hall, 2006 Gottfried, Byron S. Programando em C. São Paulo: Makron Books, 1993. BIBLIOGRAFIA COMPLEMENTAR Kernighan, Brian W. e Ritchie, Dennis. The C Programming Language. 2ª ed., New Jersey, Prentice Hall PTR, 1988. Apostila: Curso de Linguagem C – UFMG. CPDEE/UFMG. http://www.ppgia.pucpr.br/~maziero/ensino/so/projetos/curso-c/aulas-main.html Schildt Hebert. C Completo e Total. 3ª edição, São Paulo: Makron Books, 1996. Carpenter, V. Learn C/C++ today : http://www.cyberdiem.com/vin/learn.html (uma coleção de referências e tutoriais sobre as linguagens C e C++ ) FARRER, Harry e outros . Programação Estruturada de Computadores: Algoritmos Estruturados. Rio de Janeiro: LTC - Livros Técnicos e Científicos Editora S.A, 1999. 3ª Edição. GUIMARÃES, Ângelo de Moura e LAGES, Newton Alberto de Castilho. Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1985. COMPILADORES Os compilador Dev-C++ é gratuito, e pode ser baixado direto dos site: http://www.bloodshed.net CRITÉRIOS DE AVALIAÇÃO A nota final do aluno será composta por duas notas (N1 e N2) sendo que: N1 e N2 – Avaliações Teóricas (50%) – Avaliações Práticas (50%) Média Final = 0,4 x N1 + 0,6 x N2 O ALUNO SERÁ APROVADO SE OBTER MÉDIA FINAL MAIOR OU IGUAL A 5.0 E FREQÜÊNCIA SUPERIOR A 75% DE AULAS DADAS (52 AULAS-HORAS). INFORMÁTICA E COMPUTAÇÃO CMP -1060 Objetivo principal prático: desenvolver o raciocínio lógico Algoritmo Algorítimo Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. Exercício: montar um algoritmo para um criança de 5 anos acender um palito de fósforo Pegue o objeto (caixa de fósforo) Segure firme o lado preto da cx de fósforo Empurre para abrir e ver um palito Pegue um palito Friquicione a extremidade grossa na parte preta Algorítimo Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. Exercício: montar um algoritmo para um criança de 5 anos acender um palito de fósforo Pegue o objeto (caixa de fósforo) Segure firme o lado preto da cx de fósforo Empurre para abrir e ver um palito Pegue um palito FECHE A CAIXA Friquicione a extremidade grossa na parte preta INFORMÁTICA E COMPUTAÇÃO CMP 1060 Conceitos Básicos sobre Informática O Computador e seus Componentes Referência: Aula 2 CONCEITOS BÁSICOS : Informática - infor + mática. É o tratamento da informação de forma automática Dado - é tudo aquilo que é fornecido ao computador de forma bruta Informação - é o resultado obtido do computador após o processamento Processamento de Dados - é um conjunto de operações que aplicadas a dados nos fornece uma informação Computador - é uma máquina que processa dados de forma automática O que é Hardware ? HARDWARE - componente, ou conjunto de componentes físicos internos e externos de um computador ou de seus periféricos. Hardware - é a parte física do computador Exemplos de Hardware : Monitor, Teclado, Mouse, Impressora, Plotters, Caneta Óptica, Modem, Hub, Leitoras Ópticas, Scanner CPU etc ..... BIT - Binary Digit. É a menor unidade de informação em um computador. Pode ser 0 (desligado) ou 1 (ligado) Byte - conjunto de 8 BITs. É unidade básica de medida da memória em um computador. Kilobyte (KB) = 1024 bytes Megabyte (MB) = 1024 Kbytes Gigabyte (GB) = 1024 Mbytes CONCEITOS BÁSICOS : OPERAÇÕES BÁSICAS DE UM COMPUTADOR Exemplo: Folha de Pagamento Entrada = nome, salário, horas extras, etc. de cada funcionário Processamento = cálculo do salário Saída = Contracheques e outros relatórios Entrada Processa- Saída mento Sistema de Computador O computador é um sistema de hardware, uma combinação de componentes inter-relacionados que desempenham as funções básicas do sistema: entrada, processamento, saída, armazenamento e controle. Memória Principal - é formada por 2 memórias RAM e ROM ROM - memória somente para leitura. É pré-gravada pelo fabricante. Não é volátil RAM - memória de acesso aleatório. Armazena as informações em processamento enquanto o computador estiver ligado. É volátil. Memória Auxiliar - unidades que armazenam programas e dados para posterior utilização. Ex: pen drive Periféricos de Entrada - unidades para entrada de dados no computador. Ex: teclado Periféricos de Saída - unidades para saída de dados do computador. Ex: monitor de vídeo ARQUITETURA DE UM COMPUTADOR CPU ou UCP (Unidade Central de Processamento) Unidade de Aritmética e Lógica Unidade de Controle Memória Principal Memórias Auxiliares Periféricos de Entrada Periféricos de Saída Sistema de Computador Dispositivos de Entrada/Introduzem Dados e Instruções na CPU Unidade de Controle / Interpreta Instruções e Dirige o Processamento Unidade Lógico-Aritmética realiza operações Aritméticas e faz Comparações Processadores com finalidades especiais Cache de Memória Armazenamento (Memória) Principal armazena dados e e programas durante o processamento Unidade Central de Processamento (CPU) Dispositivos de Saída/Comunica e Registra Informações Dispositivos de armazenamento secundário / armazena dados e programas para processamento Microprocessador- CPU (unidade central de processamento. É quem lê e executa todas as informações dos programas. Chip de Memória: DISCO RÍGIDO ou HD disco rígido interno ao computador com grande capacidade de armazenamento de dados os tamanhos mais comuns são: 10, 16, 20 Gigabytes ou mais armazena os programas e arquivos a serem utilizados pelo usuário VELOCIDADE DE PROCESSAMENTO Clock - velocidade do micro-processador. É medido em MHz (1.000.000 de ciclos por segundo) Evolução do Clock : PC-XT 8 MHz AT-286 25 MHz AT-386 SX 33 MHz AT-386 DX 40 MHz AT-486 SX 33 MHz AT-486 DX 50 MHz AT-486 DX2 66 MHz AT-486 DX4 100 MHz Pentium 100-133-150-166 MHz Pentium MMX 150-166-200-300 MHz Pentium II 300-400-450 MHz Pentium III 1200 MHz ou mais VELOCIDADE DE PROCESSAMENTO Clock - velocidade do micro-processador. É medido em MHz (1.000.000 de ciclos por segundo) Evolução do Clock : Pentium V 1300 MHz ou mais Intel Corel 2 1,67 GHz Celeron (R) 1,80 GHz O que é Software ? SOFTWARE - é a parte lógica de um sistema de computador, são programas, instruções que a máquina (hardware) pode executar. Software - são os programas e aplicativos que permitem o funcionamento do computador Exemplos de Softwares Windows XP, Windows Vista, Word, Excell, PowerPoint, Freelance, Access, Translator, Netscape, Wingate, Auto Cad, NT, Unix etc .... TIPOS DE SOFTWARE Sistema Operacional - é responsável pela comunicação homem-computador. Ex: DOS e Windows Linguagens de Programação - utilizadas por programadores para desenvolver programas aplicativos. Ex: C++, Fox Pro, Delphi, Java, etc Programas Utilitários - facilitam a manutenção de discos e arquivos. Ex: Compactador, Backup, etc. TIPOS DE SOFTWARE Programas Aplicativos - desenvolvidos em certa linguagem de programação para fins específicos. Exemplos: Editor de texto, Planilha eletrônica, Controle de estoque. Banco de dados Editoração eletrônica e Programas Gráficos Navegadores (Browsers): mostra as páginas da internet. Ex. Internet Explorer, Navigator LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina ou de Baixo Nível - é a linguagem compreendida internamente pelo computador. Suas instruções são escritas em códigos binários Linguagem Montadora - linguagem intermediária entre a linguagem de máquina e a linguagem de alto nível. É escrita através de códigos simbólicos utilizando números, letras e símbolos. Ex: Assembler Linguagem de Programação ou Alto Nível - é a linguagem utilizada pelo usuário para escrever programas de computador. Os programas são escritos utilizando palavras da língua inglesa. Ex: Pascal e C Nìvel Baixo Alto Ling. de Máquina Ling. de Programação Antes do computador executar os programas eles devem antes ser traduzidos para a linguagem de máquina. Esta tradução é feita através um software denominado compilador. A operação de tradução do programa para linguagem de máquina é chamada compilação LINGUAGENS DE PROGRAMAÇÃO Ling. de Programação Ling. de Máquina Compilação ITENS FUNDAMENTAIS Algorítmo: é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. Comandos: determina as ações a serem executadas pelo destinatário. Estrutura: determina a ordem e as condições dos comandos que devem ser executados. ITENS FUNDAMENTAIS Estruturas de Controle : Sequencial: os comandos são executados um após o outro, na mesma ordem em que aparecem escritos, se não houver indicações ao contrário. Condicional: provoca ou não uma ação dependendo se a condição for falsa ou verdadeira Repetição: repete os comandos e estruturas de comando até que encontra uma condição para que interrompa a repetição. ITENS FUNDAMENTAIS Exemplo: Desenvolva os passos de um programa que converte polegadas para centímetros. 1 inch 2.54 cm Passos para converter POL CM 1. Alocar duas variáveis POL, CM numéricas 2. Entrar POL {medida em polegadas} 3. Calcular CM = 2.54 * CM 4. Mostrar CM ITENS FUNDAMENTAIS EXERCÍCIOS: 1- Desenvolva os passos de um programa para calcular a área de um retângulo 2- Sabendo-se um dollar = R$ 1,90; Desenvolva os passos de um programa que dada uma quantia em dollar calcula o valor em real. ITENS FUNDAMENTAIS EXERCÍCIOS: 1- Desenvolva os passos de um programa para calcular a área de um retângulo Passos para converter POL CM (lembrete) 1. Alocar duas variáveis X, Y numéricas 2. Entrar X {medida em polegadas} 3. Calcular Y = 2.54 * X 4. Mostrar Y ITENS FUNDAMENTAIS EXERCÍCIOS: 1- Desenvolva os passos de um programa para calcular a área de um retângulo 1. Alocar três variáveis B, H e AREA numéricas 2. Entrar B, H {valor em centímetros} 3. Calcular AREA = B * H 4. Mostrar AREA ITENS FUNDAMENTAIS EXERCÍCIOS: 2- Sabendo-se um dollar = R$ 1,90; Desenvolva os passos de um programa que dada uma quantia em dollar calcula o valor em real. 1. Alocar duas variáveis D, R numéricas 2. Entrar D {valor em dollares} 3. Calcular R = 1,90 * D 4. Mostrar R