Professional Documents
Culture Documents
2006
Linguagens de Programao 1
ESCOLA SENAI ROBERTO MANGE Rua Pastor Ccero Canuto de Lima, 71 So Bernardo Fone/Fax: (19) 3271-5733 CEP: 13036-210 Campinas - SP Endereo Eletrnico: http://www.sp.senai.br/campinas Email: senaicampinas@sp.senai.br
Agradecimentos
Agradeo aos Professores Djalma de Souza Salles, Marcos Antonio Vieira, Wagner Roberto e Rogrio de Almeida Melar pela colaborao e ajuda prestada atravs de materiais e conhecimentos, para que esta apostila pudesse ser concluda.
ndice
INTRODUO INFORMTICA HARDWARE SOFTWARE PERIFRICOS BLOCO DE NOTAS CALCULADORA WINDOWS EXPLORER EXERCCIOS LGICA: CONCEITO BSICO E ESTRUTURA LINEAR O QUE LGICA CONCEITO DE ALGORITMO FLUXOGRAMA PORTUGUS ESTRUTURADO TIPOS DE DADOS E INSTRUES PRIMITIVAS EXERCCIO LGICA: ESTRUTURA DE DECISO CONCEITO COMANDO SE ( IF ) COMANDO SE SENO ( IF ELSE ) DESVIOS CONDICIONAIS ENCADEADOS EXERCCIO LGICA: ESTRUTURA DE REPETIO CONCEITO COMANDO ENQUANTO ( WHILE ) COMANDO FAA ENQUANTO ( DO WHILE) COMANDO PARA AT ( FOR ) ESTRUTURAS DE CONTROLE ENCADEADAS EXERCCIOS INTRODUO A LINGUAGEM C CONCEITO DE COMPILADOR E LINK EDIO ESTRUTURA DE UM PROGRAMA TIPOS DE DADOS E VARIVEIS: DEFINIO E INICIALIZAO COMANDOS DE ENTRADA E SADA OPERADORES ARITMTICOS OPERADORES RELACIONAIS OPERADORES LGICOS COMANDOS DE DECISO (IF , IF ELSE) 7 9 11 12 21 21 22 26 27 27 27 28 31 31 33 35 35 35 38 40 42 43 43 43 45 47 49 53 55 55 57 58 61 66 68 69 70
COMANDOS DE REPETIO(WHILE, DO WHILE, FOR) PRECEDNCIA VETORES CONCEITO APLICAO VETORES NUMRICOS VETORES DE CARACTERE ( STRING ) FUNCES CONCEITO RETORNO DE VALORES PASSAGEM DE PARMETRO POR VALOR PASSAGEM DE PARMETRO POR REFERNCIA APNDICE
71 72 73 73 73 74 74 77 77 78 79 79 81
Introduo informtica
O computador, uma mquina projetada para realizar tarefas e ajudar na resoluo de problemas que aparecem no dia a dia, seja automatizando servios seja abrindo novas possibilidades de servios. Computador um equipamento eletrnico que necessita ser programado para efetuar determinadas tarefas. Sem dvida, o crebro humano muito mais perfeito e eficiente que qualquer mquina de calcular, por mais sofisticada que esta seja. O nico particular em que o crebro mesmo superado pela mquina na velocidade de clculo. Por si s, o computador no capaz de realizar nenhum trabalho. somente um elemento capaz de executar uma tarefa cuja execuo lhe ordenada. O conjunto de hardware e software formam o computador. No podemos pensar em software sem hardware, j que o primeiro no pode existir sem que utilize o segundo como suporte.
MVB - Mecatrnica
Pg 7
LINHA DO TEMPO
1937/1944 - Mark- primeiro computador eletromecnico 1940/1941 - Z3(Konrad Zuse)- primeiro computador eletrodigital 1943/1946 - Eniac- primeiro grande computador eletrnico 1945/1950 - conceitos binrios (Von Neuman) 1951 - Univac I - primeiro computador produzido em escala comercial 1953 - IBM 701 1954 - IBM 650- maior sucesso comercial da dcada 1961/1965 - IBM 1401 e IBM 350 1963/1969 - microcomputadores 1970 - Intel 4004- primeiro microprocessador 1975 - Bill Gates e Paul Allen fundam a Microsoft 1976 - Steve Wozniak e Steve Jobs fundam a Apple Computer Company.
Pg 8
MVB - Mecatrnica
Hardware
Representa a parte fsica de um sistema informtico, ou seja, todos os elementos materiais que o compem. Durante muitos anos ele recebeu o ttulo de "Crebro Eletrnico", e tem-se discutido apaixonadamente se essas mquinas pensam ou no.
MVB - Mecatrnica
Pg 9
CPU OU O PROCESSADOR
O crebro de um computador o que chamamos de Processador ou CPU (do ingls, Unidade Central de Processamento). O Processador nada mais que um Chip, formado de silcio, onde uma combinao de circuitos controla o fluxo de funcionamento de toda a mquina. na CPU que so feitos os clculos lgicos e aritmticos e o controle de toda a mquina. Podemos at mesmo dizer que o computador a CPU, o resto so perifricos. Quando mandamos o computador imprimir uma pgina de algum documento digitado, por exemplo, o Processador que ir receber esta ordem, entend-la, enviar um comando para que a impressora funcione e imprima. No chip do Processador esto as instrues de como ele deve se comunicar com os programas que voc estiver usando e a quem e como ele deve enviar as instrues que voc executa no programa. O Processador principal fica localizado em uma placa denominada Placa-Me, junto com os circuitos eltricos que interligam a placa ao conjunto de componentes do computador.
Chips como estes compem o Processador, que junto a um emaranhado de Circuitos Eltricos e outras peas eltricas, compem o que chamamos de Placa-Me do Computador.
A .placa-me
O funcionamento do computador se baseia em quatro etapas: Entrada: um dispositivo de entrada permite que voc se comunique com o computador. Voc pode usar os dispositivos de entrada pra inserir informaes e enviar comandos. Processo: A unidade central de processamento, ou CPU o principal chip de um computador. A CPU processa instrues, realiza clculos e gerencia o fluxo de informaes atravs do sistema de computador. A CPU se comunica com os dispositivos de entrada, sada e armazenamento, a fim de executar tarefas. Entrada e Sada ou Armazenamento: um dispositivo de armazenamento l e grava informaes. O computador usa essas informaes para executar tarefas. Sada: um dispositivo de sada permite que o computador se comunique com voc. Esses dispositivos exibem informaes na tela, criam cpias impressas ou geram som.
ELEMENTOS DE INFORMAO
A forma como a arquitetura de um Processador foi elaborada faz com que ele se comunique apenas atravs de chaves positivas e negativas, assumindo valores 0 (zero) e 1 (um). Isso significa que para cada ordem que mandamos o Processador executar, ele realiza milhares de operaes apenas usando as chaves 0 e 1. A menor unidade de informao que um computador pode armazenar ento, este binmio 0 (zero) ou 1 (um). este tipo de informao chamamos Cdigo Binrio ou Bit (do ingls Binary Digit), que a Linguagem de Mquina usada pelos computadores. Para cada informao, o computador utiliza diversos 0 e 1 seguidos: 0011010101001011.
Pg 10
MVB - Mecatrnica
1 Byte Exemplo: G 01011101 Essa arquitetura no parou a, pois a medida em que os dados iam ficando maiores, era necessrio aumentar os padres de medida. Utilizou-se, ento, a base 2 (as possibilidades 0 ou 1) e o expoente 10 para os prximos padres mtricos de dados no computador. Assim, as grandezas variam sempre a cada 210 ou 1024 bytes:
medida: Bit Byte Kilobyte (Kb) Megabyte (Mb) Gigabyte (Gb) Terabyte (Tb)
representa o mesmo que: 0 ou 1 - menor unidade de dado conjunto de 8 bits ou 1 caractere 210 ou 1024 bytes 210 ou 1024 Kilobyte 210 ou 1024 Megabyte 210 ou 1024 Gigabyte
Software
Software a parte lgica que dota o equipamento fsico de capacidade para realizar todo tipo de trabalho. Software um conjunto de instrues eletrnicas que dizem ao computador o que fazer, voc no pode ver nem tocar o software, mas pode ver e tocar a embalagem na qual ele vem. Um software ajuda voc a realizar tarefas especficas. Voc pode usar um software para escrever cartas, gerenciar suas finanas, fazer desenhos, divertir-se com jogos e muito mais. Tambm chamado de aplicativo ou programa. So divididos em dois conjuntos: bsicos e aplicativos. Bsicos: Controlam internamente o computador, controlam toda a atividade do computador e so chamados de Sistemas Operacionais. Os sistemas operacionais tem a funo de testar o equipamento e gerenciar o uso dos programas, ele tambm assegura que
MVB - Mecatrnica
Pg 11
Perifricos
Perifricos so equipamentos eletrnicos que ficam na periferia do computador e tem como objetivo permitir a comunicao homem-mquina. Esses Perifricos so classificados de acordo com sua finalidade: Entrada de dados: usados para transmitirmos informaes ao computador Sada de dados: usados para o computador se comunicar conosco enviando dados Entrada e sada de dados: servem para entrar dados ou enviar dados para o usurio ou para o computador.
Tipos de mouse: mecnico (com esfera), ptico (sem esfera), sem fio. Outros exemplos de apontadores: Trackball: um mouse invertido que no desliza sobre a mesa. Voc gira a esfera com os dedos. Touch pad: uma superfcie sensvel a presso e a movimentao. Quando voc move a ponta do dedo ao longo da superfcie, o ponteiro na tela se move na mesma direo.
Pg 12
MVB - Mecatrnica
TECLADO
O Teclado nossa principal ferramenta de trabalho com o computador, e com ele que digitamos documentos, alm de muitas teclas servirem de comandos de operaes em programas e no Windows. Um teclado pode ter de 102 a 114 teclas, sendo divididas da seguinte forma: a maioria delas para os caracteres (a-z, 0-9 e acentos, etc.); outra parte para comandos e funes, e outra parte para digitao numrica. Observe suas teclas com ateno, pois possuem muitas funes. Esta parte central so os caracteres alfa-numricos normais e acentos. HOME e END so teclas de locomoo.
As teclas CTRL, SHIFT e ALT possuem caracteresticas de controle de funes em muitos programas e no Windows. Procure sempre por Teclas de Atalho no programa que estiver usando.
Teclado de locomoo.
Teclado numrico.
Algumas teclas de maior importncia e suas funes: Enter ou Return: a tecla que marca o fim da linha. Quando pressionada, subentende-se que o que foi digitado em seguida, dever sair na prxima linha. F1 a F12: so as teclas de funes dos programas. Estas exercem determinadas funes de acordo com o programa que est rodando. Esc, Ctrl e Alt: so teclas de escape, teclas de controle e teclas de alterao respectivamente. Controlam a operao em seu computador. Tab: semelhante a tecla de tabulao da mquina de escrever. Caps Lock: a tecla que trava as maisculas.
MVB - Mecatrnica
Pg 13
Pg 14
MVB - Mecatrnica
MVB - Mecatrnica
Pg 15
O Scanner um aparelho que digitaliza uma imagem. como uma mquina de fotocpia, mas ao invs de copiar, torna cada ponto de cor em uma imagem digitalizada. Atravs do Scanner podemos extrair imagens de fotos, jornais, desenhos, e coloclas em nossos textos. uma ferramenta muito til para pessoas que trabalham com Editorao Eletrnica. Scanner de mesa: colocamos uma imagem dentro dele e a imagem aparece em nosso computador. necessrio um programa de editorao de imagens para trabalharmos o objeto escaneado. Outros tipos de scanner: scanner de mo, scanner cilndrico, scanner para cdigo de barra, OCR (Software para digitalizao de textos).
CDROM
Compact Disc - Read Only Memory (Disco Compacto Memria Apenas de Leitura) uma unidade de armazenamento de dados, mas, como o prprio nome diz, somente possvel ler o CD. Em um CD podemos ter msica ou qualquer tipos de arquivos. Podemos ouvir nossas msicas atravs de um computador multimdia e ler os arquivos atravs de nossos programas. O CD-ROM possui uma tecnologia de leitura tica, onde o reflexo da vibrao de um feixe de luz no disco produz os nmeros 0 ou 1, transmitindo a informao. Em um CD-ROM podemos ter at 74 minutos de msica ou 650 Mb de dados gravados.
Pg 16
MVB - Mecatrnica
DVD
Digital Video Disk Read Only Memory ou Digital Versatily Disk Read Only Memory. O DVD muito parecido com o CD, mesmo em tecnologia. A sua grande diferena reside no fato da maior capacidade de armazenamento do DVD, podendo chegar a 4,7 GB por lado do disco. Isto possibilita a digitalizao de filmes de longa metragem, com som da qualidade de CD, e vrias dublagens e legendas em vrios idiomas.
Cmera Digital
Cmera cujo funcionamento anlogo a uma cmera fotogrfica normal que, ao invs de sensibilizar um filme, a luz captada por um transistor foto-sensvel, e a imagem digitalizada, ponto a ponto. Permite, no computador, a entrada e captura de vdeos. Atravs dela realizamos conferncias eletrnicas e comunicao com udio e vdeo.
Mesa Digitalizadora
Perifrico de entrada, muito utilizado no setor de artes grficas e engenharia, que digitaliza os movimentos de uma caneta ptica em uma superfcie especial. Na realidade existem vrios tipos de mesas digitalizadoras para os mais variados fins.
MVB - Mecatrnica
Pg 17
IMPRESSORA
A Impressora um meio fundamental de exibir seus dados, relatrios, documentos. Existem basicamente quatro tipos de impressoras comerciais hoje em dia:
tipo de impressora
como Um cabeote de impresso se move pressionando uma fita com tinta, que ao encostar no papel, o borra. Um cabeote de impresso se move pela pgina e em cada pequeno ponto de impresso formada uma bolha de calor que estoura no papel, borrando a tinta. Imprime borrando em uma matriz de calor formada a partir da imagem do documento. a de melhor qualidade de impresso. Tecnologia parecida com a jato de tinta, com a diferena que utilizado cera (lquida ou slida) no lugar da tinta.
matricial
jato de tinta
Pg 18
MVB - Mecatrnica
MVB - Mecatrnica
Pg 19
UNIDADES DE DISQUETES
Assim como no HD, o computador possui duas outras unidades de gravao de dados em formato flexvel, e onde podemos transportar os dados gravados. Chama-se Unidade de Discos Flexveis, e os discos chamam-se Disquetes, ou Floppy Disk. Essas unidades so de dois tamanhos: 5 e 3 , e armazenam, respectivamente, 1,2 Mb e 1,44 Mb. Da mesma forma que o HD, esses disquetes, para serem teis, precisam ser Formatados. Atualmente a unidade 5 j no mais vendida com os computadores, pois caiu em desuso, mas ainda existem muitos computadores e disquetes com este formato.
Disquetes de 5 e 3 .
Apesar do Disquete de 5 ter um tamanho maior, o de 3 que tem maior capacidade de armazenamento. As Unidades de Disco Flexvel localizam-se na frente do gabinete, possuindo um tipo de entrada para cada Disquete, e chamam-se Drive. Os disquetes que voc estar usando requer cuidados especiais no seu manuseio. Sem os cuidados adequados, voc correr o risco de perder todas as informaes neles gravados. Siga sempre estas regras: Guarde-os nas suas protees quando no estiver usando. Insira-os nas unidades de disco cuidadosamente. No os exponham a extremos de temperatura, ou objetos magnetizados.
MODEM E FAX
O Modem um acessrio responsvel por realizar a comunicao de dados entre seu computador e outro computador ou a Internet atravs da linha telefnica.
Pg 20
MVB - Mecatrnica
O Modem conecta-se ao computador e linha telefnica, atravs de uma placa especfica. Os modens atuais so internos ao computador, sendo uma placa adicionada placa-me. Para se comunicar com outros computadores atravs do telefone, o modem transforma os sinais digitais de seu computador em sinais de pulso, capazes de trafegar em uma linha telefnica e chegar at outro modem. Graas ao Modem possvel nos conectarmos Internet. Ele foi uma pea fundamental para que a informtica desse esse salto na rea de comunicao de dados. Os modems antigamente eram um aparelho separado do computador. Hoje em dia, a indstria de informtica simplificou o modem e ele apenas uma placa somada Placa-me.
CDRW
CD-RW, e seu drive, so conhecidos como regravveis. Consegue-se gravar, apagar e regravar um mesmo CD. Note que este drive utiliza um tipo especial de CD (diferente dos CD virgens), e que as regravaes no so ilimitadas (como potencialmente o caso de um HD). Alm disto ainda existe uma certa incompatibilidade entre as marcas de CD-RW.
Aplicativos
Bloco de notas
O Bloco de Notas um editor de textos muito simples. Ele trabalha apenas com arquivos que tenham a extenso .TXT. No possvel efetuar formatao de texto no Bloco de Notas.
Calculadora
Trata-se de uma calculadora que pode ser apresentada de duas formas: padro, simples e com as operaes mais comuns de soma, subtrao, multiplicao e diviso, e etc, e cientfica, mais sofisticada e bastante til. Veja, nas figuras a seguir, as duas formas:
MVB - Mecatrnica
Pg 21
Calculadora Padro
Calculadora Cientfica
Windows Explorer
No Windows Explorer, voc pode ver a hierarquia das pastas em seu computador e todos os arquivos e pastas localizados em cada pasta selecionada. especialmente til para copiar e mover arquivos. Ele composto de uma janela dividida em dois painis. O painel da esquerda uma rvore de pastas hierarquizada, que mostra todas as unidades de disco, a Lixeira, a rea de Trabalho (tambm tratada como uma pasta). O painel da direita exibe o contedo o item selecionado esquerda e funciona de maneira idntica s janelas do Meu Computador.
Pastas ou diretrios
Drive A Unidades de
Pastas ou diretrios
Nesta rea o windows exibir o contudo das pastas. Tambm ser utilizada para a seleo de mltiplos arquivos e/ou pastas, das unidades de discos...
Pasta:
Pg 22
MVB - Mecatrnica
uma certa ordem no disco rgido. Pastas como M3a1, M3a2, M3b1, M3b2, T3b1, T3b2, etc, pertencem a pasta ou diretrio GUEST3, que por sua vez pertence e est localizada na unidade de disco D: Selecionando arquivos ou pastas Vrios arquivos 1. Clique no primeiro. 2. Mantenha a tecla SHIFT pressionada. 3. Clique no ltimo arquivo. Um Arquivo 1. Clique-o. Arquivos Isolados 1. Clique no primeiro. 2. Mantenha a tecla CTRL pressionada. 3. Clique nos demais arquivos (Um aps o outro. No arraste o mouse) Desmarcando Pastas ou Arquivos O processo o inverso da marcao. Quando queremos desmarcar mantemos as teclas CTRL ou SHIFT pressionadas, dependendo da ocasio, e clicamos nos arquivos desejados. Vale lembrar que estamos desmarcando, portanto, os arquivos esto marcados.
Se o usurio clicar um arquivo e o cursor comear a piscar junto ao nome do arquivo, pressione a tecla ESC.
MVB - Mecatrnica
Pg 23
Escola SENAI Roberto Mange - 501 Copiar, Criar, Excluir, Renomear, Salvar Copiando e movendo arquivos
1. Selecione os arquivos desejados, 2. Clique-os e arraste o mouse at a unidade de disco ou pasta desejada 3. Soltar o boto 4. Responda se quer copiar ou mover
Criando Pastas
1. Selecione a unidade de disco desejada 2. A partir do menu de arquivos escolha Novo/Pasta 3. Observe a direita um cone denominado Nova Pasta a qual contm o cursor e uma tarja azul 4. Digite o nome para a nova pasta 5. Pressione a tecla Enter para finalizar
Renomear Arquivos
1. Clique-o 2. Pressione [F2] ou no Menu Arquivos/Renomear, digite o nome novo ao arquivo, em seguida, pressione ENTER. Observao: O windows sabe qual o software que foi utilizado na criao de um arquivo pela extenso, vital para o Windows que o arquivo tenha uma identificao. Quando voc clica duas vezes em um arquivo, citamos o exemplo mais simples, arquivos feitos no Microsoft Word, o windows abre o arquivo automaticamente no WORD. Dica: Ao renomear um arquivo chamado AULA.TXT para suponhamos PROVA. Dever preservar a sua extenso... Ficando assim: PROVA.TXT Vejamos como salvamos um documento feito no Bloco no Notas ou em qualquer outro aplicativo (sempre faremos os mesmos passos):
Pg 24
MVB - Mecatrnica
2-) A seguinte janela aparece, para que possamos direcionar o caminho para onde o arquivo ser salvo e o nome do arquivo
3-) Colocado o nome do arquivo e selecionado o caminho D:\GUEST3\TURMA\. 4-) Podemos ento clicar no boto salvar e finalizar nosso comando salvar.
MVB - Mecatrnica
Pg 25
Exerccios
1- Que Computador? 2- Que so perifricos? 3- Cite algumas funes do Sistema Operacional? 4- Que significa Hardware? Cite trs exemplos. 5- Que significa Software? Cite trs exemplos. 6- Que significa Bit e Byte? Cite seus mltiplos e sua equivalncia. 7- Porque devemos salvar um trabalho feito antes de sairmos de um programa ? 8- Calcule: quantos bytes tm 4 Kbytes; quantos Kbytes tm 2 Mbytes; quantos Mbytes tm 3 Gbytes. 9- Assinale V para Verdade e F para Falso. ( ) O Hardware a parte lgica do computador. ( ) O Software a parte que contm as instrues que a mquina pode executar. ( ) O Software a parte fsica do computador. ( ) O Hardware a parte que contm as instrues que a mquina pode executar. 10- Faa a relao entre os seguintes itens: Perifrico de Entrada Perifrico de Sada Perifrico de Entrada e Sada ( ) Teclado ( ) Mouse ( ) CDROM ( ) Impressora ( ) Modem ( ) Winchester (Disco Rgido) ( ) Monitor ( ) Disquetes ( ) Scanner ( ) CDRW
Pg 26
MVB - Mecatrnica
O que lgica
Lgica a cincia que estuda as leis e critrios de validade que regem o pensamento e a demonstrao, ou seja, cincia dos princpios formais do raciocnio. (Jos Augusto N. G. Manzano/Jayr Figueiredo de Oliveira)
Conceito de algoritmo
Muitos problemas interessantes parecem ser complexos do ponto de vista da programao. Em alguns casos ( tais como problemas matemticos difceis ), esta complexidade pode ser inerente ao problema em si. Entretanto, em muitos casos isto pode ser devido a outros fatores que esto dentro do nosso controle; por exemplo, uma especificao incompleta ou obscura do problema. No desenvolvimento de programas, como veremos, a complexidade no precisa ser sempre um problema se pudermos control-la adequadamente. Programar pode ser considerado uma tarefa difcil, porm se separarmos as dificuldades em partes menos complexas tornamos a programao muito mais simples. Primeiramente importante separarmos a fase de resoluo do problema ( fase de implementao ). Nesta ficamos concentrado na elaborao da melhor lgica ( algoritmo ), para resolver o problema proposto. Somente aps estarmos satisfeitos com a formulao de nosso algoritmo que trataremos da implementao em uma linguagem de programao. Um algoritmo pode portanto ser definido como uma seqncia ordenada de passos que levam a soluo de um problema. As indicaes dadas para se chegar at uma rua constituem um algoritmo para encontrar esta rua. Uma receita de cozinha uma forma de algoritmo. necessrio que todos os nossos algoritmos tenham diversas propriedades importantes. Primeiramente, os passos devem ser simples, sem ambigidade e devem estar em uma ordem cuidadosamente definida. Alm disto importante lembrar que um algoritmo deve ser efetivo, isto , deve sempre resolver um problema utilizando um nmero finito de passos.
Exemplo:
Algoritmo *** Exemplo da lmpada queimada sendo substituda 1. Remova a queimada 2. Coloque uma nova
MVB - Mecatrnica
Pg 27
Ainda no suficientemente preciso. Vrios passos devem ser + elaborado e explcitos. O passo 2 um deles . Imagine que temos vrias lmpadas, temos que examinar 1 a 1 at encontrar. Prximas operaes : 1. 2. 3. 4. 5. 6. 7. 8. Posicione a escada debaixo da lmpada queimada Selecione uma nova lmpada para substituio Se potncia no for a mesma que a queimada descarte e repita at encontrar Suba na escada at que a lmpada seja alcanada Solte a lmpada queimada girando-a no sentido anti horrio Posicione a nova lmpada no soquete Gire no sentido horrio at estar firme Desa da escada
Detalhamento de um algoritmo pode aumentar muito No caso da troca da lmpada j suficiente Importante deste ( no tem ambigidade e as decises necessrias so imediatas e a ordem dos passos claramente expresso.
Fluxograma
a representao grfica uma maneira simples e concisa de representar os dados sobre uma superfcie plana, atravs de diferentes formas, de modo a facilitar a visualizao completa e imediata de dados. O fluxograma um tipo de representao grfica que tem como objetivo demonstrar o fluxo, descrevendo o mtodo e a seqncia do processo dos planos num computador. Esta ferramenta usa diversos smbolos geomtricos, os quais, estabelecero as seqncias de operaes a serem efetuadas em um processamento computacional.
Pg 28
MVB - Mecatrnica
Disco Magnetico
Sub Rotina
Processamento Espera
Repetio for
MVB - Mecatrnica
Pg 29
Pg 30
MVB - Mecatrnica
Portugus estruturado
O portugus estruturado uma tcnica narrativa denominada pseudocdigo, tambm conhecida como portugol. O portugus estruturado usado como referncia genrica para uma linguagem de projeto de programao, tendo como finalidade mostrar uma notao para elaboraes de algoritmos, os quais sero utilizados na definio, criao e desenvolvimento de uma linguagem computacional (Clipper, C, Pascal, Delphi, etc.) e sua documentao. Exemplo : Clculo da mdia e resultado final de um aluno programa_principal { real N1, N2, Media, Faltas; leia (N1); leia (N2); leia (Faltas); Media = (N1 + N2) / 2; se (Media > = 5) ento se (Faltas < 75%) ento escreva (APROVADO); se no escreva (REPROVADO); }
Inteiro: So dados numricos positivos ou negativos, excluindo-se os nmeros fracionrios. Ex.: 35; 0; -56; etc.
MVB - Mecatrnica
Pg 31
Representao grfica da memria de um computador nvel de varivel Constantes: So posies de memria reservada para o armazenamento de dados fixos. O valor das constantes no se altera durante a execuo do programa. As constantes devero sempre ser indicadas em letra maiscula dentro do programa.
Pg 32
MVB - Mecatrnica
Operador / * + %
Formulas matemticas: So escritas em computao de uma forma um pouco diferentes da forma conhecida em matemtica. Ex.:
Instrues Bsicas: As instrues so palavras-chaves (vocabulrios) da linguagem de programao cuja finalidade comandar como os dados devero ser tratados. Ex.: leia, escreva, se, etc. Obs.: Em portugus estruturado as instrues devem ser escritas em letra minscula e no fluxograma, no coloca-se as instrues.
Exerccio
1. Usando os mtodos vistos ( algoritmo, fluxograma, portugus estruturado), desenvolva os seguintes problemas. 2. Mudar um pneu furado. Admita que macaco, chave de roda e estepe esto disponveis 3. Fazer pipoca em uma panela, utilizando manteiga, sal e milho de pipoca 4. Fazer um suco de laranja. Descreva todos utenslios utilizados 5. Calcular e informar a mdia final de uma sala de aula
MVB - Mecatrnica
Pg 33
Pg 34
MVB - Mecatrnica
Comando se ( if )
O smbolo do losango dever ser utilizado em situaes em que haja a necessidade de se usar uma deciso dentro do programa. Uma deciso ser tomada sempre com base em uma pergunta indicada dentro do smbolo de losango.
Instrues executadas quando condio for falsa ou aps condio ser verdadeira
Observe no diagrama a existncia das letras S e N, alm das linhas com seta indicando a direo do processamento colocadas juntamente com o smbolo de Deciso. O S representa sim e est posicionado para indicar que um determinado bloco de operaes ser executado quando a condio atribuda for verdadeira. O N est para no e ser executado quando a condio for falsa.
MVB - Mecatrnica
Pg 35
Operadores relacionais.
Os operadores relacionais so utilizados para verificarmos o estado de uma determinada varivel, o qual retornar um valor lgico (verdadeiro ou falso).
Significado Igual a Diferente de Maior que Menor que Maior ou igual a Menor ou igual a
Ler dois valores numricos, efetuar a adio e apresentar o seu resultado caso o valor somado seja maior que 10. Resoluo:
Algoritmo:
1. Ler os dois valores (A, B); 2. Efetuar a soma dos valores A e B, atribuindo o valor da soma na varivel SOMA; 3. Verificar se a varivel SOMA maior que 10; 4. Se SOMA > 10, apresentar o valor contido na varivel SOMA.
Pg 36
MVB - Mecatrnica
A,B
A, B
SOMA = A + B
SOMA >10
SOMA
Fim
Portugus estruturado:
programa_principal inteiro SOMA, A, B; { leia (A); leia (B); SOMA = A + B; se (SOMA > 10) escreva (SOMA); }
MVB - Mecatrnica
Pg 37
Condio
Sintaxe
se (<condio>) <instrues para condio verdadeira>; seno <instrues para condio falsa>; Exemplo Ler dois valores numricos e efetuar a adio. Caso o valor somado seja maior ou igual a 10, este dever ser apresentado somando-se a ele mais 5, caso o valor somado no seja maior ou igual a 10, este dever ser apresentado subtraindo-se 7. Resoluo:
Algoritmo:
1. Ler dois valores (A, B); 2. Efetuar a soma dos valores A e B atribuindo o total a X; 3. Verificar se X maior ou igual a 10; 4. Se X for maior ou igual a 10, mostrar X + 5, seno mostrar X 7.
Pg 38
MVB - Mecatrnica
A,B,X
A, B
X=A+B
X >= 10
X-7
X+5
Fim
Portugus estruturado:
programa_principal { inteiro X, A, B; leia (A); leia (B); X = A + B; se (X >= 10) escreva (X + 5); seno escreva (X 7); }
MVB - Mecatrnica
Pg 39
N Condio 1
N Condio 2
Sintaxe
se (<condio1>) <intrues para condio1 verdadeira> seno se (<condio2>) <intrues para condio2 verdadeira, porm condio1 falsa> seno <instrues para condio1 e condio2 falsas> Exemplo: Elaborar um programa que efetue o clculo do reajuste de salrio de um funcionrio. Considere que o funcionrio dever receber um reajuste de 15% caso seu salrio seja menor que R$500,00. Se o salrio for maior ou igual a R$500,00 mas menor ou igual a R$1000,00
Pg 40
MVB - Mecatrnica
Algoritmo:
1. Ler o valor do salrio (SALARIO); 2. Verificar se o valor do salrio menor que R$500,00, se sim reajustar em 15%; 3. Verificar se o valor do salrio menor ou igual a R$1000,00, se sim reajustar em 10%, se no reajustar em 5%; 4. Apresentar o valor reajustado (NOVO_SALARIO).
Fluxograma:
Incio
SALARIO, NOVO_SALARIO
SALARIO
NOVO_SALARIO
Fim
MVB - Mecatrnica
Pg 41
Exerccio
1- Elaborar o algoritmo, fluxograma e codificao em portugus estruturado de um programa para calcular a mdia aritmtica de trs notas de um aluno. Se a mdia for maior que cinco, apresentar a mensagem Aprovado. 2- Elaborar um programa para calcular a mdia aritmtica de trs notas e determinar se o aluno foi aprovado, est de recuperao ou foi reprovado segundo os critrios abaixo: Mdia >= 7 o aluno est aprovado; Mdia < 7 e > 2 o aluno fica para recuperao; Mdia <= 2 o aluno est reprovado. Apresentar o valor da mdia e a mensagem de aprovado, reprovado ou recuperao.
Pg 42
MVB - Mecatrnica
Fluxograma
Condio
Sintaxe
enquanto (<condio>) < instrues para condio verdadeira>
MVB - Mecatrnica
Pg 43
Exemplo : Pedir a leitura de um valor para a varivel X, multiplicar este valor por 3 implicando-o variveis de resposta R e apresentar o valor obtido, repetindo esta seqncia Por 5 vezes.
Algoritmo:
1- Criar uma varivel para contador com valor inicial de 1; 2- Enquanto o valor do contador for menor ou igual a 5, processar os passos 3, 4, 5 e 6; 3- Ler um valor para a varivel X; 4- Efetuar a multiplicao do valor de X por 3, implicado o resultado em R; 5- Apresentar o valor calculado contido em R; 6- Acrescentar +1 no contador; 7- Quando contador maior que 5, encerrar o processamento do looping.
Fluxograma:
Pg 44
MVB - Mecatrnica
Portugus Estruturado:
programa_principal { inteiro R, X, CONT; CONT 1 enquanto ( CONT < = 5 ) { leia (X); R=X*3 escreva (R); CONT = CONT + 1; } }
Fluxograma
Condio
Sintaxe
faa <instrues para condio verdadeira> enquanto (<condio>)
MVB - Mecatrnica
Pg 45
Exemplo : Pedir a leitura de um valor para a varivel X, multiplicar este valor por 3 implicando-o varivel de resposta R e apresentar o valor obtido, repetindo esta seqncia Por 5 vezes.
Algoritmo:
1- Criar uma varivel para contador com valor inicial de 1; 2- Ler um valor para a varivel X; 3- Efetuar a multiplicao do valor de X por 3, implicado o resultado em R; 4- Apresentar o valor calculado contido em R; 5- Acrescentar +1 no contador; 6- Repetir ao passos 2, 3, 4 e 5 enquanto o contador seja menor que 5.
Fluxograma:
Inicio
Cont = 1 X R=X*3 R
Cont = Cont + 1
S
Cont < 1
N
Fim
Pg 46
MVB - Mecatrnica
Fluxograma
Observao: Com relao ao fluxograma, ser neste representado por um hexgono e indicando a varivel a ser controlada com a implementao dos valores de: inicio; fim e incremento, separados por ponto e virgula.
Sintaxe
para (<varivel de inicio> ; <fim> ; <incremento>) <instrues>
MVB - Mecatrnica
Pg 47
Algoritmo:
1- Definir um contador variando de 1 a 5; 2- Ler um valor para varivel X; 3- Efetuar a multiplicao do valor de X por 3, implicando o resultado em R; 4- Apresentar o valor calculado contido em R; 5- repetir os passos 2, 3,4 e 5 at que o contador seja encerrado.
Fluxograma:
Portugus Estruturado:
Programa principal { inteiro X, R, CONT; para (CONT =1, CONT<=5, CONT=CONT+1); { leia (X); R=X*3 escreva (R); } }
Pg 48
MVB - Mecatrnica
Sintaxe
enquanto (<condio1>) enquanto (<condio2>) <instrues>
S N
Sintaxe
enquanto (<condio1>) faa <instrues> enquanto (<condio2>)
MVB - Mecatrnica
Pg 49
Escola SENAI Roberto Mange - 501 Encadeamento de estrutura Enquanto com Para
Sintaxe
enquanto (<condio1>) para (<varivel de inicio> ; <fim> ; <incremento>) <instrues>
S N S N
Sintaxe
faa faa <instrues> enquanto (<condio2>) enquanto (<condio1>)
Pg 50
MVB - Mecatrnica
Escola SENAI Roberto Mange - 501 Encadeamento de estrutura Faa com Enquanto
S
N
Sintaxe
faa enquanto (<condio2>) <instrues> enquanto (<condio1>)
S N
Sintaxe
faa para (<varivel de inicio> ; <fim> ; <incremento>) <instrues> enquanto (<condio>)
MVB - Mecatrnica
Pg 51
Escola SENAI Roberto Mange - 501 Encadeamento de estrutura Para com Para
Sintaxe
para (<varivel de inicio> ; <fim> ; <incremento>) para (<varivel de inicio> ; <fim> ; <incremento>) <instrues>
Sintaxe
para (<varivel de inicio> ; <fim> ; <incremento>) enquanto (<condio>) <instrues>
Pg 52
MVB - Mecatrnica
Escola SENAI Roberto Mange - 501 Encadeamento de estrutura Para com Faa
S N
Sintaxe
para (<varivel de inicio> ; <fim> ; <incremento>) faa <instrues> enquanto (<condio>)
Exerccios
1- Faa um Flux/Port utilizando as 3 estruturas de repetio vista ( enquanto, faa enquanto e para) para efetuar o calculo da fatorial do numero 5. 2- Refaa o exerccio 1, s que agora solicitando ao usurio o numero para se calcular o fatorial. 3- Refaa o exerccio 2, s que agora o programa s termina quando o usurio no quiser efetuar mais nenhum calculo de fatorial.
MVB - Mecatrnica
Pg 53
Pg 54
MVB - Mecatrnica
Introduo a Linguagem C
HISTRICO
Em 1970, Ken Thompson desenvolve a Linguagem B, que possua muitas limitaes. Em 1972, Dennis Ritchie e ken Thompson criam a Linguagem C nos laboratrios da AT&T (Bell). Brian Kernighan e Dennis Rithie, em 1978, escrevem The C programing language, com isso, a linguagem C passou ao conhecimento pblico. Ao contrrio de muitas outras linguagens, C oferece ao programador um grande poder sobre o computador, permitindo coisas que outras linguagens no permitem. Com o poder vem a responsabilidade.
INTRODUO
Os computadores surgiram na dcada de 40 com o objetivo de processar dados, fazer clculos pesados, fornecendo resultados exatos para problemas antes considerados complicados. Atualmente, eles continuam tendo estas funes e muitas outras. A tecnologia de informtica avana a cada dia, tornando os sistemas de computao mais populares e amigveis. As modernas redes de computadores, os sistemas distribudos, as arquiteturas do tipo cliente/servidor, os micro computadores, os mainframes etc etc, se resumem em dois tipos de componentes: Hardware Software Para se desenvolver um programa bsico ou um aplicativo, uma linguagem de programao deve ser escolhida e instalada adequadamente. Linguagens de 1a. gerao so as linguagens de mquina. Linguagens de 2a. gerao so os Assemblers. Linguagens de 3a. gerao (Pascal, Cobol, C etc) so utilizadas para desenvolvimento de aplicativos pesados ou complicados, de funes no existentes em ling. de 4a. gerao e de softwares bsicos. Linguagens de 4a. gerao (clipper, fox etc) so amigveis e exigem menos esforos de programao. So excelentes para o desenvolvimento de aplicativos convencionais, pois esto associadas a bancos de dados na maioria das vezes e a ferramentas case em alguns casos.
MVB - Mecatrnica
Pg 55
PROGRAMA COMPILADOR
LINK EDITOR
Pg 56
MVB - Mecatrnica
Estrutura de um programa
ESTRUTURA BSICA DE UM PROGRAMA C
Conjunto de funes, algumas fornecidas pelo fabricante do compilador / linkeditor e outras escrita pelo prprio programador.
# include # define
CABEALHO FUNO 1
Corpo
parnteses indicam que uma funo. nome da funo: qualquer um, exceto main, reservado para a funo de incio do programa. void: tipo de dado nulo, indicando que a funo no retorna nenhum valor.
MVB - Mecatrnica
Pg 57
INSTRUES
Devem estar dentro das chaves. Sempre encerradas por ; . Exemplos de digitao da funo: void main( ) { printf (Primeiro Programa);} ou void main( ) { printf (Primeiro Programa); }
Pg 58
MVB - Mecatrnica
TIPOS DE VARIVEIS
Tipo char int float double void Bits 8 16 32 64 0 Bytes 1 2 4 8 0 Escala -128 a 127 -32768 a 32767 3.4 E -38 a 3.4 E 38 1.7 E -308 a 1.7 E 308 sem valor
Modificadores: long ou long int ( 4 Bytes) unsigned char (de 0 a 255) unsigned int (de 0 a 65535) unsigned long short (2 bytes) Exemplos de Programa C /* Exemplo 1.1 */ #include <stdio.h> #include <conio.h> void main( ) { int evento; char corrida; float tempo; evento = 5; corrida = C; tempo = 27.25 printf (O tempo vitorioso na eliminatria %c, corrida); // impresso formatada printf (\n da competio %d foi %.2f,evento,tempo); getch( ); } // aguarda teclado //final do corpo da funo // atribuio para as variveis // incio do corpo da funo // declarao das variveis /* Biblioteca com funes de E/S padro */ /* Biblioteca com funes de controle de tela */
MVB - Mecatrnica
Pg 59
Obs.: A inicializao de variveis pode ser feita junto com a declarao. TIPO NOME ATRIBUIO int evento = 5; char corrida = C; float tempo = 27.25;
NOMES DE VARIVEIS:
-Tamanho indeterminado. -Primeira letra pode _ ou letra. Outros caracteres ou nmeros podem ser usados no meio da palavra.
/* Exemplo 1.2 */ void main( ) { int reajuste = 10; printf (O reajuste foi de %d %%,\n,reajuste); getch( ); } Sada: O reajuste foi de 10%. /* Exemplo 1.3 */ void main( ) { printf (\n\nA media dos alunos foi de %f. , 5.36); printf (\n\nA media dos alunos foi de %0.2f. , 5.36); printf (\n\nA media dos alunos foi de %5.1f. , 5.36); getch( ); } A sada ser: A media dos alunos foi de 5.3600 A media dos alunos foi de 5.36 A media dos alunos foi de 5.4
Pg 60
MVB - Mecatrnica
Cdigos especiais
Cdigo \n \t \b \ \\ \f \o Significado nova linha TAB retrocesso aspas barra salta pgina nulo
MVB - Mecatrnica
Pg 61
Escola SENAI Roberto Mange - 501 Cdigos para impresso formatada printf ()
Formatador %c %d %e %f %g %o %s %u %x Descrio caractere simples Inteiro decimal notao cientfica ponto flutuante %e ou %f (mais curto) octal cadeia de caracteres decimal sem sinal hexadecimal
A FUNO scanf( )
Ela complementa a funo printf( ), nos permitindo ler dados do teclado. Sintaxe : scanf (Expresso de controle, lista de argumentos); A expresso de controle pode conter cdigos de formatao, precedidos por % ou ainda o caractere * colocado aps o % indica que ser lido um valor do tipo especificado, mas no ser atribudo a nenhuma varivel (sem parmetro na lista de argumentos). A lista de argumentos consiste no endereo das variveis. C oferece um operador para tipos bsicos chamado operador de endereo &, que retorna o endereo do operando. O Operador de endereo (&): /* Exemplo 2.1 */ void main( ) { int num; num = 2; printf (Valor %d, endereo = %u, num, &num); getch( ); } O programa anterior imprime o valor e o endereo de memria de num. %u usado pois endereo visto como inteiro sem sinal.
Pg 62
MVB - Mecatrnica
%c %d %e %f %o %s %x %u %l
leia um nico caractere leia um inteiro decimal leia um nmero em notao cientfica leia um nmero em ponto flutuante leia um inteiro octal leia um srie de caracteres leia um nmero hexadecimal leia um decimal sem sinal leia um inteiro longo
MVB - Mecatrnica
Pg 63
Pg 64
MVB - Mecatrnica
A FUNO getchar( )
L um caractere de entrada. No aceita argumentos. Precisa de [enter].
A FUNO putchar()
complemento de getchar() . Ela aceita argumento cujo o valor ser impresso. c = getchar(); putchar(c); ou simplesmente: putchar(getchar());
MVB - Mecatrnica
Pg 65
Raiz quadrada Potncia Absoluto Seno Cosseno Tangente Arredonda abaixo Arredonda acima
Constantes pr-definidas:
Operadores Aritmticos
Seis Binrios (operam sobre dois operandos) e um unrio (1 operando).
Binrios:
= + * / %
Atribuio (num=cont=50 vlido) Soma Subtrao Multiplicao Diviso Mdulo (resto da diviso inteira)
Pg 66
MVB - Mecatrnica
Unrios:
- Menos unitrio (troca de sinal algbrico) OPERADORES DE INCREMENTO E DECREMENTO ++ incrementa de 1 seu operando - - decrementa de 1 seu operando n = 5; x = n++; printf(x=%d n=%d,x,n); sada x=5 n=6 n = 5; x = ++n; printf(x=%d n=%d,x,n); sada x=6 n=6 Obs.: Quando o sinal incremento ou decremento vem antes da varivel, primeiro feito o incremento ou decremento para depois ser lido o valor da varivel. a = 2; b = 5; n = (a + b++) * 3 Substituindo valores: n = (2 + 5) * 3 = 7 * 3 = 21 Somente depois da expresso ser avaliada, b incrementado para 6.
MVB - Mecatrnica
Pg 67
i += 2; x *= y + 1; t /= 2,5; p %= 5; d -= 3;
i = i + 2; x = x * (y + 1); t = t / 2,5; p = p % 5; d = d - 3;
Operadores Relacionais
> >= < <= == != maior maior igual menor menor igual igual diferente
Em C no existe varivel Booleana. Valor zero(0) = falso Qualquer outro valor = verdadeiro, representado por 1 (um) void main( ) { /* Programa que mostra expresses booleanas com o argumento de printf () */ int verdad, falso; verdad = (15 < 20); falso = (15 = = 20); printf (\nVerdadeiro = %d, falso = %d, verdad, falso); getch( ); } Sada: Verdadeiro = 1, falso = 0.
Pg 68
MVB - Mecatrnica
Operadores Lgicos
&& ! E lgico ou lgico lgico de negao
exp1 && exp2 expresso 1 e expresso 2 verdadeiras exp1 exp2 ! exp1 expresso 1 ou expresso 2 verdadeiras expresso 1 falsa
0 0 1 1
0 1 0 1
Tabela Verdade OU ()
0 0 1 1
0 1 0 1
0 1
verdadeiro falso
MVB - Mecatrnica
Pg 69
Comando if else
Sintaxe: if ( condio ) <instruo se verdadeiro> else <instruo se falso>
Exemplo:
#include <stdio.h> #include <conio.h> void main() { int num,n; clrscr(); printf("Digite a media ="); scanf("%d",&num); if(num<=5) if(num>2) printf("recuperacao"); else printf("reprovado"); else printf("aprovado"); getch(); }
Pg 70
MVB - Mecatrnica
Comando do while
Sintaxe: do { <instruo enquanto verdadeiro> } while ( condio );
Comando for
Sintaxe: for ( inicializao ; condio ; incremento ) <instruo enquanto verdadeiro>
Exemplo:
#include <stdio.h> #include <conio.h> void main() { int cont, fat, num, op; do{ clrscr(); printf ("Digete o numero a calcular= "); scanf("%d",&num); fat=num; for (cont=1;cont<num;cont=cont+1) fat=fat * cont; clrscr(); printf ("O fatorial de %d e %d\n",num,fat); printf ("\nDeseja calcular um novo fatorial (SIM=1) = "); scanf("%d",&op); } while (op==1); }
MVB - Mecatrnica
Pg 71
Precedncia
O operador ! o de maior precedncia, a mesma que a do operador menos unrio. A tabela seguinte mostra as precedncias dos operadores.
Tipos Unrios; no lgicos e menos aritmticos Aritmticos Aritmticos Relacionais Relacionais Lgico E Lgico OU Aritmticos de atribuio
Pg 72
MVB - Mecatrnica
Vetores
Conceito
Vetor e uma matriz de apenas uma dimenso, um tipo de dado usado para representar uma certa quantidade de variveis de valores homogneos.
Aplicao
Imagine a seguinte situao: necessrio calcular a media de uma turma com 4 alunos. Voc poderia declarar: int nota1, nota2, nota3, nota4; e programa dever ler separadamente as nota: printf (Digite a nota do aluno 1: ); scanf (%d,¬a1); printf (Digite a nota do aluno 2: ); scanf (%d,¬a2); printf (Digite a nota do aluno 3: ); scanf (%d,¬a3); printf (Digite a nota do aluno 4: ); scanf (%d,¬a4); Imagine agora se voc tive-se que calcular a media de uma escola com 50 alunos ou mais? Seria um trabalho enorme! Neste caso a melhor opo o uso de um vetor, pois utiliza uma srie de variveis referenciadas com o mesmo nome, onde cada varivel diferenciada por um numero chamado ndice . O colchetes so usados para conter o ndice. Declarao de um vetor (matriz de uma dimenso). int notas[4]; Assim o computador aloca memria para armazenar 4 inteiros e que notas um vetor de 4 elementos. Agora para saber o valor da nota 2, basta chamar a varivel notas[1]. OBS.: Voc reparou que para ler nota 2 a varivel utilizou o ndice 1, isto acontece porque quando declarado um vetor o ndice comea com 0 (zero), ento um vetor de 4 elementos os ndice vo de 0 (zero) a 3 (trs).
MVB - Mecatrnica
Pg 73
Vetores Numricos
So utilizados para armazenar nmeros, podendo ser inteiros (int) ou real (float). Exemplo: /* Calcula a media de 6 notas*/ void main() { int nota[5], I, soma=0; float media; for (i=0; i <= 4; i++) { printf (Digite a nota %d = , i+1); scanf (%d,¬a[i]); soma +=nota[i]; } media = soma/5; printf(A media da classe = %.2f,media); }
Pg 74
MVB - Mecatrnica
MVB - Mecatrnica
Pg 75
Pg 76
MVB - Mecatrnica
Funces
Conceito
Funes dividem grandes tarefas de computao em tarefas menores, e permite, que pessoas trabalhem sobre o que outras j fizeram, ao invs de partir do nada. A linguagem C foi projetada com funes eficientes e fceis de usar. Os comandos que nos utilizamos com printf(), scanf(), getch(), etc so funes j definidas na linguagem C, nos apenas chamamos a funo e passamos parmetro se necessrio. Uma das principais razes da utilizao das funes evitar que o programador tenha que escrever o mesmo cdigo repetidas vezes. Imagine que voc tenha que calcular uma formula varias vezes dentro de um programa, se no houve-se a funo voc teria que escrever varias vezes a mesma formula. Mas com o uso da funo, escrita apenas uma vez, e quando necessrio voc apenas a chama. As funes tem a mesma estrutura da funo main(), a diferena que a funo pode ter qualquer nome seguido de parnteses e a funo main() no pode ter outro nome. Ento toda vez que criarmos uma funo, sempre vai ter que existir a funo main() em algum lugar do programa, isto , ela deve vir depois da funo main() e tem que ser declarada antes da abertura da chaves da funo main(). Em um nico programa podem existir quantas funes forem necessrias e uma funo pode chamar outra funo. Exemplo: Uma funo para escrever OL na tela escreva(); //prottipo da funo escreva void main() { char nome[20]; printf (qual o seu nome: ); gets(nome); escreva(); printf (, como vai %s, nome); } escreva() { printf (OL); } Sada Qual o seu nome : Carlos OL, como vai Carlos
MVB - Mecatrnica
Pg 77
Retorno de valores
As funes tambm podem retornar valor para os programas que a chamou, mas cada funo retorna apenas um valor. Exemplo: Funo para calcular a rea de um quadrado. float area(); void main() { float total; printf ( Digite a medida do lado do quadrado em milmetro :); total = area(); printf ( a rea total do quadrado de %.2f mm . ,total); } float area() { float lado, total; scanf(%f, &lado); total = lado * lado; return total; } Neste caso o comando return est passando o valor contido na varivel total da funo rea para o programa que chamou a funo e est atribuindo este valor para uma varivel de mesmo nome do programa principal. OBS.: Apesar das variveis terem o mesmo nome, elas no so iguais, isto acontece por que ela somente so conhecidas dentro da funo que a declarou. O comando return tem duas funes. Uma voc pode usar return para devolver um valor e retornar para a prxima instruo de cdigo de chamada. E a outra pode ser usada para causar uma sada imediata da funo na qual ele se encontra, isto , ir parar a execuo da funo e voltar para o cdigo de chamada.
Pg 78
MVB - Mecatrnica
MVB - Mecatrnica
Pg 79
Exemplo: Funo para calcular a rea de um quadrado. void area (float *lado1, float *total1); void main() { float lado,total; printf ( Digite a medida do lado do quadrado em milmetro :); scanf(%f, &lado); area(lado,&total); printf ( O quadrado com lado de %.2fmm possui uma rea total de %.2f mm . ,lado,total); } void area (float lado1, float*total1) { *total1 = lado1 * lado1; }
Pg 80
MVB - Mecatrnica
Apndice
ABS - Pega o valor absoluto de um nmero decimal <Math.h>. ATOI- Converte uma strmg para integer (intewo) <Stdlib.h>. CALLOC - Aloca parte da memria principal (usado com arquivo) <Stdlib.h>. CEIL - Arredonda o nmero para cima <Math.h>. CLRSCR - Limpa a tela <Stdio:h>. DELAY - Espera um tempo determinado <Stdio.h>. EOF - Verifica se fim de arquivo <to.h>. EXIT - Termina o programa <StdHb..h>. FCLOSE - Fecha um arquivo <Stdio..h>. FLOOR -Arredonda o nmero para baixo <Math.h>. FOPEN - Abre um arquivo <Stdio.h>. FREE - Libera um espao de memria <Stdlib.h>. FSCANF - Guarda dados formatados em um arquivo <Stdio.h>. FSEEK - Posiciona o ponteiro em algum lugar do seu arquivo (registro) <Stdio.h>. GETCHAR - L um caracter (dado) formatado <Stdio.h> GETCHE - L um caracter e mostra ele na tela <Conio.h>. GETCH - L um caracter e no mostra ele na tela <Conio.h>. GETS - L uma string <Stdio.h>. GOTOXY - Posiciona o cursor na tela <Conio.h>. ISALPHA - Verifica e retorna verdadeiro se o caracter um smbolo alfanumrico <Ctype.h>. ISASCII- Verifica se o caracter pertence a tabela Ascii <Ctype.h>. ISDIGIT - Verifica e retorna verdadeiro se o caracter for um digito entre zero e nove <Ctype.h>. ISLOWER - Verifica se o caracter minsculo <Ctype.h>. ISUPPER - Verifica e retorna verdadeiro se o caracter maisculo <Ctype.h>. ISSPACE - Verifica e retorna falso se o caracter for em branco, return, tab ao final de uma linha<Ctype.h>. ITOA - Converte um nmero decimal inteiro em string <Math.h>. KBHIT - Verifica se foi pressionada alguma tecla <Conio.h>. KEEP - Sai para o DOS mas mantm a volta na memria (DOS SHELL) <Dos. h>. MALLOC - Aloca a memria principal (usado com arquivo) <Alloc.h>. MIN - Compara dois valores para verificar qual o menor <Stdio.h>, <Stdlib.h>. OPEN - Abre um arquivo <Io.h>. OUTTEXT - Escreve na tela no modo grfico <Graphics>. POW - Retorna x elevado a potncia y <Math.h>. PRINTF - Permite a sada de dados via monitor <Stdio.h>. PUTCH - Escreve um caracter na tela <Stdio.h>. PUTC - Escreve um caracter Ascii na tela <Stdio.h>. PUTCHAR - Escreve um caracter (dado) formatado <Stdio.h>. PUTS - Exibe o contedo de uma varivel e uma string entre aspas (=printf) <Stdio.h>. RAND - Gerador de nmeros randmicos (nmero aleatrio) <Stdlib.h>. RANDOMIZE - Inicializa o gerador de nmeros randmicos (aleatrios) <Stdlib.h>. REALLOC - Aloca a memria principal <Alloc.h>. SCANF - Permite a entrada de dados via teclado <Stdio.h>. SETCOLOR - Ajusta a cor do desenho. Muda a cor do texto na unidade grfica <Graphics>. SLEEP - Suspende a execuo de um programa por um tempo determinado <Dos.h>. SOUND - Emite som com uma frequncia especificada <Dos.h>. STRCAT - Concatena unta) duas strings <String.h>. STRCHR - Posiciona o ponteiro na primeira posio da string <String.h>. STRCMP - Compara duas strings <String.h>. STRCOPY - Copia uma string para uma varivel <String.h>. STRLEN - Retorna o comprimento da string <String.h>. SYSTEM - Executa um comando do MS-DOS <Stdlib.h>. TEEL - Pega a posio atual do ponteiro de arquivo <Io.h>. TEXTBACKGROUND - Seleciona uma nova cor de fundo para o texto <Graphics>. TEXTCOLOR - Seleciona uma nova cor para os caracteres no modo texto <Conio.h>.
MVB - Mecatrnica
Pg 81
Pg 82
MVB - Mecatrnica
Decimal para Hexadecimal 15 = 203 = 25 = 105 = 121 = 97 = Decimal para Octal 33 = 92 = 101 = Binrio para Octal 010011110 = 110101000110 = 01011100110 = Binrio para Hexadecimal 0011010111010011 = 1011011011110010 = 1111011011100011 = Binrio para Decimal 01110101 = 01001011 = 11010100 = Hexadecimal para Decimal 19F = 21A = Octal para Decimal 301 = 105 = 45 = 231 = 137 =
MVB - Mecatrnica
Pg 83
Escola SENAI Roberto Mange - 501 1-Faa um Flux/Port que mostre seu nome na tela.
2-Faa um Flux/Port que some dois valores interios e mostre seu resultado na tela. 3-Faa um Flux/Port que leia a sua idade e mostre-a na tela. 4-Faa um Flux/Port que calcule a rea de uma circunferncia de 62 mm de dimetro. rea = * r2 5-Faa um Flux/Port que leia duas notas e mostre a media aritmtica. 6-Faa um Flux/Port que leia a altura de duas pessoas (A e B) e verifique qual a maior e exiba com uma mensagem da maior. Ex: A maior que B 7-Faa um Flux/Port que permita a entrada da temperatura em Celsius, calcule e exiba as temperaturas em kelvin e em fahrenheit. Se a temperatura em Celsius for maior ou igual a 30 graus exiba Tempo bom para praia; se estiver entre 20 a 30 escreva Tempo Instvel e se for menor que 20 escreva Tempo bom para dormir. F = 9 * C + 160 5 8-Faa um Flux/Port que leia distancia percorrida e valor do litro de combustvel, e calcule quantos litros foram gastos e quanto gastou em dinheiro, sendo que o veiculo faz 13 KM/litro. 9-Faa um Flux/Port que leia as medidas dos lados de um retngulo e calcule sua rea. 10-Faa um programa que leia o salrio e o reajuste em % e calcule o novo salrio. 11-Faa um Flux/Port que leia quantas partidas foram disputadas por um time, quantas vitrias e quantos empates ele conseguiu. Calcule o total de pontos obtido e a porcentagem de aproveitamento em relao ao total de pontos disputados. 12-Faa um Flux/Port que permita a entrada de um nmero qualquer e exiba se este nmero par ou mpar. Se for par exiba tambm a raiz quadrada do mesmo; se for mpar exiba o nmero elevado ao quadrado.
Pg 84
MVB - Mecatrnica
Escola SENAI Roberto Mange - 501 Nome: _____________________________________N __________Data ___/___/___ 1- Faa um fluxograma e um portugus estruturado para o seguinte problema. a) Elaborar um programa que leia os 3 lados em mm de um triangulo e verifique se um tringulo eqiltero , isscele ou escaleno e se realmente possvel formar um triangulo com os valores fornecidos. OBS 1 .: Verifique se os lados fornecidos formam um triangulo, isto , cada lado tem que ser menor que a soma dos outros dois lados. OBS 2 .: eqiltero 3 lados iguais; issceles 2 lados iguais e um diferente; escaleno 3 lados diferentes.
MVB - Mecatrnica
Pg 85
Pg 86
MVB - Mecatrnica
1- Faa um fluxograma e um portugus estruturado para o seguinte problema. A funcionria de uma escola est necessitando que seja desenvolvido um programa (software) que calcule a media de uma classe e de cada aluno desta classe, s que a quantidade de alunos e a quantidade de avaliaes que cada classe tem pode ser diferente da outra classe. Somente terminar a execuo, quando a funcionria no tiver mais nenhuma classe para ser calculada a media. Exemplo de entrada de dados: Uma classe tem 30 alunos e cada aluno fez 3 avaliaes, e outra classe tem 28 alunos e cada aluno fez 4 avaliaes. Sada de dados: Aluno N 1 mdia = 7 Aluno N 2 mdia = 8 Aluno N 3 mdia = 6 Aluno N 4 mdia = 4 Aluno N 5 mdia = 10 Media da Classe = 7
MVB - Mecatrnica
Pg 87
Pg 88
MVB - Mecatrnica
1- Faa um fluxograma e um portugus estruturado para uma situao qualquer que utilize estrutura de repetio e de deciso.
MVB - Mecatrnica
Pg 89
Pg 90
MVB - Mecatrnica
Faa um programa em C++ para cada situao a) Elaborar um programa que leia os 3 lados em mm de um triangulo e verifique se um tringulo eqiltero, isscele ou escaleno e se realmente possvel formar um triangulo com os valores fornecidos. OBS 1 .: Verifique se os lados fornecidos formam um triangulo, isto , cada lado tem que ser menor que a soma dos outros dois lados. OBS 2 .: eqiltero 3 lados iguais; issceles 2 lados iguais e um diferente; escaleno 3 lados diferentes.
b) A secretaria de uma escola est necessitando que seja desenvolvido um programa (software) que calcule a media de uma classe e de cada aluno desta classe, s que a quantidade de alunos e a quantidade de avaliaes que cada classe tem pode ser diferente de outra classe. Somente terminar a execuo, quando a funcionria da secretaria no tiver mais nenhuma classe para ser calculada a media. Exemplo de entrada de dados: Uma classe tem 30 alunos e cada aluno fez 3 avaliaes, e outra classe tem 28 alunos e cada aluno fez 4 avaliaes. Sada de dados: Aluno N 1 mdia = 7 Aluno N 2 mdia = 8 Aluno N 3 mdia = 6 Aluno N 4 mdia = 4 Aluno N 5 mdia = 10 Media da Classe = 7
MVB - Mecatrnica
Pg 91
Pg 92
MVB - Mecatrnica
1)- Faa um programa em linguagem C++ para ordenar um vetor numrico de 5 posies em ordem crescente aps a entrada de dados fornecida pelo usurio em qualquer ordem.
MVB - Mecatrnica
Pg 93
Pg 94
MVB - Mecatrnica
1)- Faa um programa em linguagem C++ para ler um vetor de caracteres de 30 posies e grave em um novo vetor de mesmo tamanho os caracteres de trs para frente e mostre este novo vetor utilizando a funo puts() e tambm a quantidade de posies ocupadas neste vetor.
MVB - Mecatrnica
Pg 95
Pg 96
MVB - Mecatrnica
1)- Faa um programa em linguagem C++ para calcular a raiz quadrada de um numero e calcular o valor deste numero elevado ao cubo. OBS.: 1- Fazer uma funo para cria a tela de entrada e sada de dados. 2- Fazer uma funo que retorna o valor da raiz quadrada. 3- Fazer uma funo que retorna o valor por referncia do n elevado ao cubo.
MVB - Mecatrnica
Pg 97
Pg 98
MVB - Mecatrnica
1)- Faa um programa para calcular as grandezas citadas abaixo, tendo como entrada de dados as dimenses de um cilindro e condies de trabalho. 1- rea da haste 2- rea do embolo 3- rea da coroa 4- Forca de avano terico 5- Forca de retorno terico 6- Forca de avano efetivo 7- Forca de retorno efetivo 8- Zera todos os valores 9- Fim OBS. 1: As grandezas sero o menu principal, e cada grandeza deve ser uma funo especifica. OBS. 2: Se o usurio quiser calcular a rea da coroa e se no tiver sido feito o calculo da haste ou da coroa por exemplo, deve ser dada uma mensagem que falta calcular a rea da haste ou a rea do embolo. Isto vale para outras situaes que necessitem de um calculo anterior. OBS. 3: Utilizar a funo switch case para tratar a opo do usurio referente ao menu principal
MVB - Mecatrnica
Pg 99