Programação I Apresentação da Disciplina Prof. Fernando Stuck [email protected] Objetivo Iniciar em uma linguagem de programação estruturada, estudando suas estruturas e aplicando-as como ferramenta na solução de problemas reais. Metodologia de Ensino Aulas expositivas; Demonstrações e exercícios em sala de aula Práticas em laboratório para fixação de conhecimentos Linguagem de programação Linguagem C – padrão ANSI Recursos de Apoio a Disciplina Software: Dev C++ Conteúdo Programático Visão Geral de sistemas baseados em computador Resolução de Problemas Utilização de Algoritmos na Codificação Constantes, Variáveis e Tipos de Dados Estruturas de Seqüência Estruturas de Decisão Estruturas de Repetição Vetores e Matrizes Avaliações Provas Bimestrais (escritas); Trabalhos Práticos Individuais ou em Grupos Exercícios Práticos e Teóricos em Sala de Aula Exercícios Práticos e Teóricos Extra-classe Locais de Aulas Sala de Aula Laboratório 18 Programação I Aula 01 Visão geral de sistemas baseados em computador Visão geral de sistemas baseados em computador Conceitos de sistemas e programas de computador Componentes de um sistema computacional – Hardware e Software Componentes de um computador: Memória, Processador e unidades de Entrada e Saída Unidades de Medidas Conceitos de programas de computador: programa-fonte, executáveis e compilação. Visão geral de sistemas baseados em computador Principio básico de Sistemas de Computação Entrada Processamento Saída 11 Visão geral de sistemas baseados em computador Entrada, processamento de saída Entrada de dados: meio de fornecer dados para o computador. Processamento: os dados fornecidos podem ser armazenados de imediato ou posterior. A informação é lida, gravada ou apagada da memória onde é transformada de acordo com o objetivo que se deseja atingir do processamento. Saída de dados: os dados resultantes do processamento ou informação processada 12 Visão geral de sistemas baseados em computador Dados e Informação Dados O processo de transformação (aplicando conhecimento pela seleção, organização e manipulação dos dados) Informação Dados são fatos não trabalhados ainda pelo sistema. É um registro da informação. Representam as coisas do mundo real. Ex: o nome de um funcionário, a quantidade de horas trabalhadas, quantidade de peças em estoque, etc. Informação é o resultado do processamento, manipulação e organização de dados de tal forma que represente uma modificação (quantitativa ou qualitativa) no conhecimento do sistema (pessoa, animal ou máquina) que a recebe. 13 Visão geral de sistemas baseados em computador Modelo de Babbage - 1837 14 Visão geral de sistemas baseados em computador Modelo de Von Neumann - 1945 15 Visão geral de sistemas baseados em computador As 4 principais áreas do sistema de computação proposto por Neumann: Unidade Central de Controle Unidade Aritmética e Lógica Memória Dispositivos de Entrada e Saída 16 Componentes de um sistema computacional Hardware: se refere a parte física do computador, todo ou qualquer componente mecânico, elétrico ou eletrônico com os quais são construídos os computadores e equipamentos periféricos (interno ou externamente). Exemplos: unidade de disco, impressora, teclado, monitor, memória, processador, etc. Software: se refere a parte lógica do computador, todo ou qualquer programa que esteja sendo processado por um computador executando tarefas e/ou instruções das quais resulte impressão de relatório, armazenamento de informação, transmissão de informação ou, ainda, mostrando informação em periférico de saída. Exemplos: sistema operacional, linguagem de programação, etc. 17 Componentes de um sistema computacional HARDWARE Dispositivos de Entrada/Saída Memórias e dispositivos de armazenamento CPU – Unidade Central de Processamento Barramentos 18 Componentes de um sistema computacional SOFTWARE Todo ou qualquer programa que esteja sendo processado por um computador executando tarefas e/ou instruções das quais resulte impressão de relatório, armazenamento de informação, transmissão de informação ou, ainda, mostrando informação em periférico de saída. Componentes de um sistema computacional SOFTWARE Os SOFTWARES podem ser classificados da seguinte forma: básico utilitários aplicativos Componentes de um sistema computacional SOFTWARE Software Básico É o conjunto dos programas básicos que o fabricante do computador ou SoftHouse especializada desenvolve para utilizar toda a sua potencialidade. Exemplos típicos: sistemas operacionais e seus complementos, compiladores e interpretadores. Componentes de um sistema computacional SOFTWARE Software Utilitário São programas desenvolvidos por empresas ou profissionais liberais especializados, para auxiliar na execução de tarefas repetitivas e exaustivas. Existe um infinidade de utilitários, mas podemos agrupá-los em famílias de acordo com a área de atuação: Editores de texto, planilhas eletrônicas, bases de dados, geradores de gráficos, simuladores, ferramentas operacionais e integrados. Componentes de um sistema computacional SOFTWARE Software do usuário São programas dedicados para fins específicos. São desenvolvidos especialmente para empresas ou particulares. São chamados de “Sistemas” Exemplos: folhas de pagamentos, contabilidade, faturamento, controle de estoque, agenda, marcação de consultas, etc. Maior área de atuação dos bacharéis em Sistemas de Informação Componentes de um sistema computacional SOFTWARE Sistema Operacional (SO) É um programa ou um conjunto de programas cuja função é servir de interface entre um computador e o usuário. Componentes de um sistema computacional SOFTWARE Sistema Operacional (SO) Exemplos: Windows95/ 98/ 2000/ NT/ XP/ VISTA DOS são SO para PC OS/2, da IBM, UNIX Linux Um computador, qualquer que seja o seu porte, não funciona sem um sistema operacional. Componentes de um sistema computacional SOFTWARE Hardware Software Sistema Software Aplicativo Software do Usuários Componentes de um sistema computacional HARDWARE Entrada/Saída - compreende todas as maneiras como o computador se comunica com os usuários e outras máquinas ou dispositivos. 27 Componentes de um sistema computacional HARDWARE DISPOSITIVOS DE ENTRADA (INPUT) Convertem dados para formato manipulável pelo computador (binário): Teclado Scanner Leitoras Ópticas Mouse Joystick Superfícies sensíveis ao toque Microfone Webcam Etc. 28 Componentes de um sistema computacional HARDWARE DISPOSITIVOS DE SAÍDA (OUTPUT) Convertem dados para formato inteligível por nós, humanos (letras, números, cores, sons, etc.): Monitores de vídeo Impressoras Plotters Caixas de som Etc. 29 Componentes de um sistema computacional HARDWARE DISPOSITIVOS DE ENTRADA E SAÍDA Desempenham igualmente as funções de dispositivosde entrada e de saída: HeadSet Fax/Modem Placa de rede Impressoras Multi-funcionais Joystick vibratório Etc. 30 Componentes de um sistema computacional Teclado (Keyboard) Possui um conjunto de teclas: Alfabéticas Numéricas De pontuação De símbolos De controle 31 Componentes de um sistema computacional Teclado (Keyboard) 32 Componentes de um sistema computacional Teclado (Keyboard) 33 Componentes de um sistema computacional Mouse Serve para movimentar o cursor na tela. À medida que o mouse é movimentado seus sensores internos reproduzem na tela a movimentação do cursor. Com o mouse se pode apontar comandos na tela e ativá-los pressionando (clicando) com um de seus botões O cursor pode também assumir o papel de uma ferramenta de trabalho e executar as mais diversas funções: selecionar textos, redimensionar figuras, arrastar,desenhar Vale lembrar que também existem mouses sem fio e com sensor o que dispensa o uso de cabos e a pequena bola (track ball) Introdução à Computação I - Prof. Fernando Stuck 34 Componentes de um sistema computacional Rola a tela para baixo e para cima Mouse BOTÃO SCROLL BOTÃO DIREITO 1 clique - Abre menu BOTÃO ESQUERDO 1 clique - Seleciona 2 cliques - Aciona Introdução à Computação I - Prof. Fernando Stuck 35 Componentes de um sistema computacional HARDWARE MEMÓRIAS E DISPOSITIVOS DE ARMAZENAMENTO Memória Permanente - Não Volátil (ROM) Memória Volátil (RAM) Memória Secundária 36 Componentes de um sistema computacional HARDWARE Memórias Permanente - Não Volátil Guarda dados e instruções indispensáveis ao funcionamento do computador. ROM (Read-Only Memory) Permite apenas leitura. Retém os dados mesmo com o computador desligado (não volátil). EPROM (Erasable Programmable Read-Only Memory) Pode ser apagada (e reescrita) várias vezes, utilizando-se luz ultra violeta. Muito usada antigamente em BIOS. EEPROM (Electrically Programmable Read-Only Memory) Similar à EPROM, mas precisa apenas de uma pequena descarga elétrica para ser apagada (usada atualmente em BIOS). 37 Componentes de um sistema computacional HARDWARE Memórias Volátil Armazena dados e instruções referentes ao programa atual. RAM (Random Access Memory) Permite leitura e escrita. Não retém os dados ao desligarmos o computador (volátil). DRAM (Dynamic Random Access Memory) Precisa ser “refrescada” milhares de vezes por segundo. SRAM (Static Random Access Memory) Não precisa ser “refrescada.” 38 Componentes de um sistema computacional HARDWARE Memórias Secundárias Armazena grandes quantidades de informações Externos ao computador. Baixo custo (R$/MB) Fitas magnéticas e discos flexíveis (3½ polegadas) Discos rígidos (Hard disk, HD ou winchester) Zip Drive (formato proprietário – Iomega) Pendrives CD-ROM (Compact Disc-Read Only Memory) DVD (Digital Versatile Disc ou Digital Video Disc) 39 Principais tipos de memórias de semicondutores. 40 Componentes de um sistema computacional HARDWARE Memórias Cache É uma pequena quantidade de memória estática de alto desempenho, tendo por finalidade aumentar o desempenho do processador realizando uma busca antecipada na memória RAM. 41 Unidades de Medidas Assim como a água é medida em litros ou o açúcar é medido em quilos, os dados de um computador são medidos em bits e bytes. Cada valor do código binário foi denominado "bit" (binary digit), que é a menor unidade de informação. Unidades de Medidas Sistema Binário O sistema binário é um sistema de numeração posicional em que todas as quantidades se representam utilizando como base o número dois, com o que se dispõe das cifras: zero e um (0 e 1). Em computação, chama-se um dígito binário (0 ou 1) de bit, que vem do inglês Binary Digit. Um agrupamento de 8 bits corresponde a um byte (Binary Term). Unidades de Medidas Bit, Byte e Word Unidades de Medidas Caractere A B C Byte 01100100 01100101 01100110 D E F 01100111 01101000 01101001 ... ... Unidades de Medidas UN. DE MEDIDA SIGLA ESPAÇO 1 bit bit valor 0-1 1 Byte B 8 bits 1 Kilobyte Kb 1024 bytes 1 Megabyte Mb 1024 Kb 1 Gigabyte Gb 1024 Mb 1 Terabyte Tb 1024 Gb 1 Petabyte Pb 1024 Tb Unidades de Medidas Exemplos de medidas de dispositivos de armazenamento: Dispositivo Capacidade Unidade Disquete 1.43 Mb CD-Rom 700 Mb DVD-Rom 4.7 / 8 Gb PenDrive 1/2/4/8 Gb 80 / 120 / 160 /250 Gb HD Conceitos de programas de computador: Programa-fonte; Compilação; Executáveis. Conceitos de programas de computador: Programa-fonte Também é chamado de código-fonte É o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. Existem linguagens que são compiladas e linguagens que são interpretadas. Conceitos de programas de computador: Programa-fonte Linguagens compiladas Nas linguagens compiladas, após ser compilado o código-fonte transformam-se em software, ou seja, programas executáveis. A Linguagem C é uma linguagem compilada Conceitos de programas de computador: Compilação Na programação um compilador é usado para traduzir o código fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível. Geralmente os compiladores ao final da compilação, geram um arquivo executável, sendo esse o programa pronto para ser utilizado. Conceitos de programas de computador: Executáveis São arquivos que contém instruções compiladas para realização das tarefas a qual foi determinado na sua programação. Resultado da compilação. Contém muitas informações que não fazem parte do programa em si, como por exemplo informações sobre o ambiente necessário para a execução do programa. No Windows normalmente são gerados com a extensão exe Próxima Aula Resolução de Problemas Discussão sobre problemas Etapas para solucionar problemas Representação dos problemas e suas possíveis soluções Identificação de problemas nas atividades diárias – Estudo de caso.