Baixe o app para aproveitar ainda mais
Prévia do material em texto
01. Fundamentos da Computação Mo4vações para Computação • Desde os tempos an,gos, a humanidade tem a necessidade de processar dados. • Em função disto, o ser humano desenvolve a capacidade de calcular quan,dades das mais variadas formas. • Nos primórdios da matemá,ca, u,lizava‐se os dedos como ferramenta de cálculo. • Com o passar do tempo, os dados envolvidos nos cálculos tomam proporções maiores. • Fato que mo,va o ser humano a desenvolver novas tecnologias para processamento de dados em grande escala. João Pablo 01. Fundamentos da Computação 2 Definições para Computação • Ato ou ação de computar. Processamento de dados. Cálculos com quan,dades discretas ou analógicas. • Conjunto de operações matemá,cas ou lógicas que se executam por meio de regras prá,cas previamente estabelecida. • U,lização de computador para resolução de qualquer problema ou aplicação de qualquer espécie. • Processamento de entradas bem definidas que gera como saída resultados capazes de resolver problemas específicos. João Pablo 01. Fundamentos da Computação 3 Composição de Computadores • Computadores são essencialmente divididos em duas partes dis,ntas, sendo estas: – Hardware: nome que se dá para a parte Ssica do computador. É tudo que se pode tocar, tais como: mouse, teclado, caixas de som, placas, fios, etc. – So?ware: nome que se dá a toda parte lógica do computador. São os programas que se vê funcionar na tela do computador, tais como: Windows, Word, MSN, IE, etc. • Hardware e so\ware são indissociáveis. Isto porque: – o so\ware sem hardware é nada, – e o hardware sem so\ware é inú,l. João Pablo 01. Fundamentos da Computação 4 Estágios da Computação • Entrada de Dados – Estágio em que o usuário fornece dados para o computador através de disposi,vos de entrada. • Ex.: A digitação de dois números para uma soma. • Processamento de Dados – Estágio em que o computador transforma os dados recebidos através de disposi,vos de processamento. • Ex.: A realização da soma dos dois números digitados. • Saída de Dados – Estágio em que o usuário recebe os dados transformados pelo computador através disposi,vos de saída. • Ex.: A apresentação na tela do resultado da soma. João Pablo 01. Fundamentos da Computação 5 Organização de Computadores João Pablo 01. Fundamentos da Computação 6 Lógica de Funcionamento • Um computador funciona baseado em sinais elétricos de baixa voltagem. Internamente só existem dois estados possíveis: – ligado, quando há sinal elétrico; – desligado, quando não há sinal elétrico. • Para projetar e programar computadores usa‐se a matemá,ca como forma de abstração, através da: – Representação Binária: Forma de representação numérica baseada em dois dígitos, onde 0 equivale a desligado e 1 equivale a ligado. – Lógica Matemá7ca: Área da matemá,ca que provê a fundamentação necessária para programar computadores. João Pablo 01. Fundamentos da Computação 7 Unidades de Medida • Os computadores basicamente u,lizam dois ,pos de unidades de medidas, sendo estas: – Medidas de Capacidades: As medidas de capacidade informam o quanto de dados um computador pode transmi,r ou armazenar. • Exemplos: bit e Bytes. – Medidas de Velocidade: As medidas de velocidade informam o quão rápido um computador pode transmi,r ou processar dados. • Exemplos: IPS e Hz. • Estas unidades são usadas para medir processadores, discos rígidos, barramentos, redes de computadores, etc. João Pablo 01. Fundamentos da Computação 8 Medidas de Capacidade (1) • bit (b): – representa um dígito binário (0 ou 1); – geralmente usado para medir transmissão de dados em redes de computadores. João Pablo 01. Fundamentos da Computação 9 1b 0 ou 1 1024b 1 Kilobit (Kb) 1024Kb 1 Megabit (Mb) 1024Mb 1 Gigabit (Gb) 1024Gb 1 Terabit (Tb) Medidas de Capacidade (2) • Byte (B): – representa um caractere e equivale a 8b; – geralmente usado para medir armazenamento de dados em computadores. João Pablo 01. Fundamentos da Computação 10 1B 8 bits 1024B 1 Kilobyte (KB) 1024KB 1 Megabyte (MB) 1024MB 1 Gigabyte (GB) 1024GB 1 Terabyte (TB) Medidas de Velocidade • Instruções Por Segundo (IPS): – representa quantas instruções um processador pode executar por segundo. • Hertz (Hz): – representa os ciclos de relógio por segundo e é geralmente usado para medir processadores. João Pablo 01. Fundamentos da Computação 11 1000Hz 1 Kilohertz (KHz) 1000KHz 1 Megahertz (MHz) 1000MHz 1 Gigahertz (GHz) 1000GHz 1 Terahertz (THz) 1.000.000 IPS 1 Milhão de Instruções Por Segundo (MIPS) Periféricos de Entrada • É qualquer disposi,vo capaz de realizar entrada de dados para um computador. • É sempre provido de uma interface de interação com o meio externo. • Alguns exemplos clássicos: – teclado, um dos periféricos mais usados para entrada de dados; – mouse, popularizado a par,r do surgimento das interfaces gráficas; – scanner, equipamento capaz de digitalizar uma foto, um desenho ou assemelhados. João Pablo 01. Fundamentos da Computação 12 Periféricos de Saída • É qualquer disposi,vo capaz de realizar a saída do resultado de um processamento de dados por um computador. • Também é dotado de uma interface de interação com o meio externo. • Alguns exemplos clássicos: – impressora, uma das formas mais an,gas de saída de dados; – monitor, exibem imagens resultantes do processamento em uma tela CRT, LCD, etc. – projetor, mesmo princípio do monitor, porém a imagem é maior e projetada e um meio externo. João Pablo 01. Fundamentos da Computação 13 Unidade de Processamento • A Unidade Central de Processamento (UCP), Central Processing Unit (CPU), é a parte do computador que executa as instruções de um programa. • A forma, o desenho e implementação das UCPs têm mudado drama,camente desde o seu surgimento, mas o seu funcionamento fundamental permanece o mesmo. • A UCP também é chamada de processador, o qual é um circuito integrado que realiza as funções de cálculo e tomada de decisão em um computador. • Todos os computadores e equipamentos eletrônicos baseiam‐se nele para executar suas funções. João Pablo 01. Fundamentos da Computação 14 Compara4vo entre Processadores • Atualmente, existem dois grandes fabricantes de processadores. – Intel – AMD • Ao longo dos anos estes dois se alternaram na liderança do mercado. • Um processador deve ser escolhido com base na sua relação custo/ beneScio. João Pablo 01. Fundamentos da Computação 15 Unidades de Memória • Para computação, memória são todos os disposi,vos que permitem que um computador guarde dados, temporária ou permanentemente. • Memória Principal: – é endereçada diretamente pelo processador, sem a qual o computador não funciona; – contém as informações necessárias para o processador num determinado momento. • Memória Secundária: – não podem ser endereçadas diretamente, a informação precisa ser carregada em memória principal a priori; – não são necessárias para a operação do computador. João Pablo 01. Fundamentos da Computação 16 Memória Principal • Randomic Acess Memory (RAM) – Memória de Acesso Aleatório, que significa que os dados nela armazenados podem ser acessados a par,r de qualquer endereço. – As memórias RAM se caracterizam por serem voláteis, ou seja, dependem de energia para manter dados armazenados. • Read Only Memory (ROM) – São memórias de somente leitura, não voláteis e permitem o acesso aleatório. –Para gravar uma memória deste ,po são necessários equipamentos específicos. João Pablo 01. Fundamentos da Computação 17 Memória Secundária • Memória Flash – Variação do ,po Eprom e são u,lizadas em disposi,vos de armazenamento removíveis: • pendrives, cartões de memória, etc. – Os dados armazenados neste ,po de memória permanecem ali sem a necessidade de alimentação. • Armazenamento em Massa – Podem armazenar grandes quan,dades de informação e servem para guardar dados por um longo tempo e podem ser: • magné4cos: HD, Disquetes, Fitas DAT; • óp4cos: CDs, DVDs, BDs. João Pablo 01. Fundamentos da Computação 18 Programas de Computador (1) • Um so?ware é qualquer programa ou grupo de programas que instrui o hardware sobre como ele deve executar uma tarefa. • Um programa é uma sequência de instruções, que é interpretada e executada por um processador. – Em um programa correto e funcional, essa sequência resulta em um comportamento desejado. • Algumas caracterís,cas dos programas: – podem ser executado por qualquer disposi,vo capaz de interpretar e executar as instruções; – a execução de um programa também pode ser intermediada por outro programa interpretador. João Pablo 01. Fundamentos da Computação 19 Programas de Computador (2) • Os programas são escritos em uma linguagem de programação, a qual é uma abstração para as linguagens de máquina. • A escrita de um programa envolve um processo de engenharia, o qual tem a responsabilidade de garan,r sua qualidade. • Funcionamento de um programa: – o programa é carregado de uma memória secundária para a memória principal; – o processador encontra o ponto inicial de entrada, Entry Point; – o processador dá início a leitura das instruções sucessivamente. João Pablo 01. Fundamentos da Computação 20 Tipos de Programas (1) • Programas Básicos – Os programas básicos são aqueles que gerenciam o funcionamento do hardware e permitem a interação com o usuário. • Basic I/O System (BIOS), Sistemas Operacionais (OS), Drivers de Disposi,vos, etc. • Programas Aplica4vos – Os programas aplica,vos são aqueles que permitem aos usuários a realização de tarefas específicas. • Aplica,vos de Escritório, Aplica,vos Mul,mídia, Aplica,vos para Internet, etc. João Pablo 01. Fundamentos da Computação 21 Tipos de Programas (2) • Programas Embarcados – Os programas embarcados são escritos para funcionarem em um hardware específico. • Equipamentos de Automação, Equipamentos de Telecomunicação, Equipamentos de Auto locomoção, etc. • Programas de Serviços – Os programas de serviços são aqueles disponíveis através da rede mundial de computadores. • Sistemas de Busca, Sistemas Bancários, Sistemas de Comunicação, etc. João Pablo 01. Fundamentos da Computação 22 02. Noções de Sistemas Operacionais Visão Geral de Sistemas Operacionais • O sistema operacional é um conjunto de programas que desempenham ro6nas necessárias para o correto funcionamento do computador. • Estes programas tem como função gerenciar de forma o6mizada os recursos de hardware e so?ware de um computador e fornecer ao programadores de aplica6vos um conjunto de recursos abstratos bem definidos. • Os sistemas operacionais também são responsáveis por prover uma interface de interação Homem‐Máquina. • Os sistemas operacionais modernos dispõem de interfaces visuais, as quais se caracterizam por simplificar e dar produ6vidade às a6vidades dos usuários. João Pablo 02. Noções de Sistemas Operacionais 2 Sistemas Operacionais sob Duas Óp>cas • O sistema operacional como uma máquina estendida. – A arquitetura da maioria dos computadores em nível de linguagem de máquina é primi6va e de diQcil programação. – Os sistemas operacionais proveem uma camada de abstração capaz de gerenciar a complexidade desta arquitetura. • O sistema operacional como um gerenciador de recursos. – A organização dos computadores é uma estrutura de hardware muito heterogênea, logo, de diQcil integração. – Os sistemas operacionais fornecem uma alocação ordenada e controlada de disposi6vos entre os programas que competem por eles. João Pablo 02. Noções de Sistemas Operacionais 3 Tipos de Sistemas Operacionais (1) • Sistemas Operacionais de Grande Porte – Des6nados aos grandes computadores, dotados de alta capacidade de processamento e armazenamento. • Ex.: OS/390. • Sistemas Operacionais de Servidores – Des6nados aos computadores médios, dotados de uma boa capacidade de processamento e armazenamento. • Ex.: GNU/Linux, FreeBSD, MS Windows Server 200x. • Sistemas Operacionais de Mul>processadores – Des6nados aos computadores dotados por múl6plas CPUs. • Ex.: GNU/Linux e MS Windows. João Pablo 02. Noções de Sistemas Operacionais 4 Tipos de Sistemas Operacionais (2) • Sistemas Operacionais de Computadores Pessoais – Des6nados aos computadores pessoais modernos, dotados de capacidade de mul6programação. • Ex.: GNU/Linux, MS Windows, Mac OS X. • Sistemas Operacionais de Computadores Portáteis – Des6nados aos computadores móveis, com baixa capacidade de processamento e memória. • Ex.: Android OS, Symbian OS, iOS. • Sistemas Operacionais Embarcados – Des6nados aos computadores de uso específico e que não aceitam instalação de so?ware adicionais. • Ex.: QNX, VxWorks. João Pablo 02. Noções de Sistemas Operacionais 5 Tipos de Sistemas Operacionais (3) • Sistemas Operacionais de Nós Sensores – Des6nados aos pequenos computadores que compõem nós de redes de monitoramento de perímetro. • Ex.: Tiny OS. • Sistemas Operacionais de Tempo Real – Des6nado aos computadores que tem o tempo como parâmetro fundamental para seu funcionamento. • Ex.: e‐Cos. • Sistemas Operacionais de Cartões Inteligentes – Des6nados aos cartões inteligentes que possuem um chip de CPU. • Ex.: So?wares proprietários. João Pablo 02. Noções de Sistemas Operacionais 6 Classificação dos Sistemas Operacionais (1) • Quanto à Arquitetura – Monolí(co, o núcleo consiste em um único processo executado em memória protegida. – Micronúcleo, o núcleo consiste de funções mínimas (comunicação e processos). As demais funções (arquivos e memória) são executadas pelas aplicações clientes. – Sistemas em Camadas, as funções do núcleo são executadas em camadas dis6ntas de acordo com nível de privilégio. – Máquinas Virtuais, fornece uma abstração do hardware para vários outros sistemas. João Pablo 02. Noções de Sistemas Operacionais 7 Classificação dos Sistemas Operacionais (2) • Quanto ao Gerenciamento de Processo – Monotarefa, pode‐se executar somente um processo por vez. – Mul(tarefa, vários processos podem ser carregados na memória. Enquanto um ocupa o processador os demais aguardam enfileirados. – Mul(processamento, o sistema operacional distribui as tarefas entre um ou mais processadores. • Quanto à Quan>dade de Usuários – Monousuário, somente um usuário por vez. – Mul(usuário, vários usuários simultâneos. João Pablo 02. Noções de Sistemas Operacionais 8 Tipos de Interface com Usuário • Graphical User Interface (GUI) – O usuário tem à disposição um ambiente de trabalho composto por menus, ícones, janelas e outros itens, e interagem com o sistema através do mouse. • Text User Interface (TUI) – Também tem à disposição um ambiente de trabalho composto por menus, janelas e botões, porém essas interfaces não têm a capacidade de reproduzir figuras, e a interação se dá através do teclado. • Command‐line User Interface (CUI) – Funciona basicamente com a digitação de comandos em um terminal,sendo rela6vamente pouco intera6va. João Pablo 02. Noções de Sistemas Operacionais 9 Gerenciamento de Processos (1) • Um sistema operacional mul6tarefa é preparado para dar ao usuário a ilusão de que vários processo são executados ao mesmo tempo. • Um processo é um programa em execução, o qual possui sua própria CPU virtual. Na prá6ca, existe somente uma CPU, a qual troca a todo momento de um processo para o outro. • O sistema operacional gerencia a troca de contexto, ou seja, o momento em que o processador para de executar um programa e começa a executar outro. • Complementarmente, o sistema operacional é responsável por gerenciar a criação e o término de processos. João Pablo 02. Noções de Sistemas Operacionais 10 Gerenciamento de Processos (2) • O sistema operacional também garante aos processos mecanismos de comunicação, tais como: – sinais; – sockets; – pipes e named pipes; – memória compar6lhada; – troca de mensagens. • Por fim, os sistemas operacionais possibilitam o mul6processamento, onde diferentes threads de um processo podem ser executadas simultaneamente em processadores dis6ntos. João Pablo 02. Noções de Sistemas Operacionais 11 Gerenciamento de Memória (1) • A memória principal é um importante recurso e que deve ser gerenciado com cuidado, pois são recursos limitados. • Mesmo nos computadores atuais, as memórias são pequenas se comparadas ao tamanho e a quan6dade de programas instalados em um computador. • O papel do sistema operacional é criar uma camada de abstração para a hierarquia de memória, gerenciando‐a de modo eficiente. • Basicamente o sistema operacional garante o controle de uso, alocação e liberação de partes da memória. João Pablo 02. Noções de Sistemas Operacionais 12 Gerenciamento de Memória (2) • Complementarmente, o sistema operacional usa as memórias secundárias para dar aos processos uma percepção de memória ilimitada. • Tal estratégia chama‐se memória virtual, a qual tem as seguintes funções: – assegurar‐se que cada processo tenha seu próprio espaço de endereçamento; – prover proteção da memória para garan6r que um processo não use espaço que não lhe pertença; – possibilitar que uma aplicação u6lize mais memória do que a fisicamente existente. João Pablo 02. Noções de Sistemas Operacionais 13 Sistemas de Arquivos (1) • Todas as aplicações precisam armazenar e recuperar informações. Tal armazenamento é feito em arquivos. – Arquivos são unidades lógicas de informações criadas por um processo, os quais garantem a persistência dos dados. • Os processos podem ler arquivos existentes e criar novos arquivos de acordo com suas necessidades específicas. • Em geral, as memórias secundárias podem conter milhares de arquivos independentes, os quais requerem um critério de organização eficiente. • Os sistemas de arquivos implementam o critérios de gerenciamento de arquivos em uma memória secundária. João Pablo 02. Noções de Sistemas Operacionais 14 Sistemas de Arquivos (2) • É responsabilidade do sistema operacional prover um sistema de arquivos capaz de: – estruturar como os arquivos são armazenados; – garan6r meios de leitura e gravação de arquivos; – estabelecer regras de acesso aos arquivos. • Principais sistemas de arquivos: – Mac OS X: HFS, HFS+; – GNU/Linux: Ext4, Reiser; – MS Windows: FAT 32, NTFS. João Pablo 02. Noções de Sistemas Operacionais 15 Entrada e Saída de Dados (1) • Além de oferecer abstrações para processos, endereços de memória e arquivos, o sistema operacional também gerencia os disposi6vos de entrada e saída. – Para sistemas operacionais é considerado disposi6vo de entrada e saída qualquer disposi6vo com o qual a unidade de processamento se comunique. • O sistema operacional emite comandos para os disposi6vos, intercepta interrupções, trata erros, além de oferecer uma interface entre o disposi6vo e o sistema. • É papel do sistema operacional prover transparência entre os disposi6vos de entrada e saída, garan6ndo a mesma forma de acesso, independente do disposi6vo acessado. João Pablo 02. Noções de Sistemas Operacionais 16 Entrada e Saída de Dados (2) • Hardware de Entrada e Saída – O sistema operacional provê controladores que garantem o correto funcionamento do disposi6vo. – Também é gerenciado pelo sistema operacional as estruturas de acesso direto à memória e interrupções de hardware. • So?ware de Entrada e Saída – O sistema operacional estabelece como os programas recebem e enviam dados para os disposi6vos. – Os erros de comunicação entre programas e disposi6vos também são gerenciados pelo sistema operacional. João Pablo 02. Noções de Sistemas Operacionais 17 Principais Sistemas Operacionais João Pablo 02. Noções de Sistemas Operacionais 18 Windows XP Windows 7 Windows Vista Mac OS X iPhone OSX Linux Android BlackBerry SymbianOS Windows 2000 Fonte: hKp://www.w3counter.com/globalstats.php !"#$%&'()*)+,-$.'$/+&012,$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ 7$ 8+!9":$'&3.$;"$3.<$.;=.;42:.;="$3"'/.$"$0";=.>4"$ &?/.3.;=&4"@$4.A;&$0":?<=&6#"+$ 7+!9";324./&;4"$"3$42&3$&=<&23@$B<&23$3#"$"3$?/2;02?&23$ C&;D"3$0":$"$<3"$4&$0":?<=&6#"+$ *+!E.A;&@$.-.:?(2AB<.$.$.3=&'.(.6&$<:&$/.(&6#"$.;=/.$ D&/4F&/.$.$3"GF&/.+$ H+!I<&23$3#"$"3$=/J3$.3=KC2"3$4&$0":?<=&6#"L$,-?(2B<.$ 0&4&$<:+$ M+!E.$B<.$N"/:&$&$:&=.:KO0&$.3=&'.(.0.$&3$'&3.3$?&/&$&$ 0":?<=&6#"L$ P+!I<&23$3#"$&3$?/2;02?&23$<;24&4.3$4.$:.424&$4.$ 0&?&024&4.+$,-?(2B<.$0&4&$<:&+$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ *$ Q+! I<&23$3#"$&3$?/2;02?&23$<;24&4.3$4.$:.424&$4.$ R.("024&4.+$,-?(2B<.$0&4&$<:&+$ S+! ,-?(2B<.$"$B<.$3#"$"3$?./2NT/20"3$4.$.;=/&4&+$92=.$=/J3$ .-.:?("3+$ U+! ,-?(2B<.$"$B<.$3#"$"3$?./2NT/20"3$4.$3&14&+$92=.$=/J3$ .-.:?("3+$ 8)+!E.30/.R&$"$B<.$T@$.$?&/&$B<.$3./R.$&$<;24&4.$4.$ ?/"0.33&:.;="+$ 88+!E.A;&$<;24&4.$4.$:.:V/2&$.$42N./.;02.$:.:V/2&$ ?/2;02?&($4.$:.:V/2&$3.0<;4K/2&+$ 87+!I<&($&$/.(&6#"$.;=/.$?/"C/&:&3$.$2;3=/<6W.3+$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ H$ 8*+!E.A;&$323=.:&3$"?./&02";&23$0&/&0=./2X&;4"$&3$4<&3$ &'"/4&C.;3$?"331R.23$?&/&$"$0";0.2="+$ 8H+!9&/&0=./2X.$4"23$O?"3$4.$323=.:&3$"?./&02";&23+$ ,-.:?(2AB<.+$ 8M+!E.30/.R&$&3$0(&332A0&6W.3$4.$323=.:&3$"?./&02";&23$ B<&;="$Y$&/B<2=.=</&@$C./.;02&:.;="$4.$?/"0.33"3$.$ B<&;O4&4.$4.$<3<K/2"3+$ 8P+!9&/&0=./2X.$"3$O?"3$4.$2;=./N&0.3$0":$"$<3<K/2"+$ 8Q+!,-?(2B<.$"$C./.;02&:.;="$4.$?/"0.33"3+$ 8S+!,-?(2B<.$"$C./.;02&:.;="$4.$:.:V/2&+$ 8U+!,-?(2B<.$"$C./.;02&:.;="$4.$323=.:&3$4.$&/B<2R"3+$ 7)+!,-?(2B<.$"$C./.;02&:.;="$.;=/&4&$.$3&14&$4.$4&4"3+$ !"#$%&'()*+,-)$.)/$012)(3'4)/$ 5),67/$*7$8923:.$ •! !"#$%&'(")*()("+("',**-./,"+,"0-12(3-1),4" –! 5,3,"6#,2,6(7"-#("892'("2(8-*"0,*":9-"2-"0-12("+-"93(" ;,*3("-"1/,"+-",9)*(4" •! <(38=3"0,+-"2-"+&>-*":9-"("#$%&'("="("(*)-"+-"0-12(*" ',**-)(3-1)-7"?&2),":9-"(";,*3("3(&2"',30#-@("+," 0-12(3-1),"=","*('&,'A1&,7"0,+-"2-"+&>-*":9-B" –! ("#$%&'(")-3"-3"?&2)("("',**-./,"+,"*('&,'A1&,C" –! ("#$%&'(")-3"-3"?&2)("(",*+-3"+("*(>/,4" •! 5,12&+-*(1+,"("0,22&8&#&+(+-"+-":9-"("*(>/,"0,+-" ;91'&,1(*"+-2,*+-1(+(3-1)-7"("#$%&'("-12&1("("0,*"-3" ,*+-3"1,"0-12(3-1),4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" I" 8923:.$&)$;3.<.<;3.$ •! J-30*-":9-"(#%9=3"0-12(7"-2)-"(#%9=3" 1-'-22(*&(3-1)-"-2)K"(',30(1L(+,"0-#("#$%&'(4" •! M9)*("3(1&;-2)(./,"+("#$%&'("-2)K"1(";(#("-"1("-2'*&)(7" 0,&2"(38,2"2/,"*-0*-2-1)(.N-2"+,"0-12(3-1)," L93(1,4" •! !#%912"-@-30#,2"+-"0*,0,2&.N-2"#$%&'(2B" –! !"#$%&'$"&(')"*&+,$-$."!"/$0$"&(')"1$"#$%&'$."2"34&+5(6" 3457&546"$/454"$"#$%&'$8"3$4$"-&365("3&#$4"$"/$0$." –! 96:6";"7$5("%&0,6"<=&"96(;."96(;";"7$5("%&0,6"<=&">&-46."?6#68"96:6";"7$5("%&0,6"<=&">&-46." –! 96:68"96(;"&">&-46"764$7"@=1'6(."96:6"&"96(;"1:6" <=&/4$4$7"6"%$(6"-&"364+&0$1$."A=&7"<=&/46="6"%$(6B" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" O" 012)(3'43=.,-)$*.$8923:.$ •! !"',12)*9./,"+-"(#%,*&)3,2"=",",8P-Q?,";91+(3-1)(#" +-"),+("("0*,%*(3(./,"+-"',309)(+,*-27"0,+-1+,"2-*" +-61&+,"',3,"93("2-:9R1'&("+-"0(22,2":9-"?&2(3" (Q1%&*"93",8P-Q?,"8-3"+-61&+,4" –! M*+-3"+-"E-12(3-1),"-7"0,*)(1),7"S$%&'(4" •! !#%,*&)3,2"2/,"*-#(Q?(3-1)-"',3912"1,"',Q+&(1,"+(2" 0-22,(27"0,*"-@-30#,B" –! C7$"4&+&5'$"-&"/606"-&(+4&%&"6("51#4&-5&1'&("&"=7$" (&<=D1+5$"-&"3$((6("3$4$"<=&"(&"+61(5#$"*$E&4"6"/606." –! C7"7$3$"$34&(&1'$"=7$"(&<=D1+5$"-&"76%57&1'6(" 1&+&(()456("3$4$"(&"+,&#$4"$6"-&(F16." D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" G" >)&:73')/$>)4?1747&'.(7/$ •! T3("(./,"="93"(',1)-'&3-1),":9-"("0(*Q*"+-"93" -2)(+,"&1&'&(#7"(0$2"93"0-*A,+,"+-")-30,"61&),7"0*,+9>" 93"-2)(+,"61(#"0*-?&2A?-#"-"8-3"+-61&+,4" •! T3"-2)(+,"="("2&)9(./,"()9(#"+,",8P-),4" •! U-2)(";,*3(7"(#%,*&)3,2"0,+-"2-*"*-+-61&+,"',3,"(" +-2'*&./,"+-"93"',1P91),"+-"(.N-2":9-7",8-+-'&+(27" *-29#)(3"193("29'-22/,"61&)("+-"0(22,27"(Q1%&1+,"93" ,8P-Q?,4" •! V&("+-"*-%*(7"93"(#%,*&)3,"+-2Q1(W2-"("*-2,#?-*"93" 0*,8#-3(4" –! X&@("93"0(+*/,"+-"',30,*)(3-1),"("2-*"2-%9&+,7"',3" ?&2)(2"("(#'(1.(*7"',3,"*-29#)(+,7"("2,#9./,"+," 0*,8#-3(4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" Y" @.*(-)$*7$>)4?)('.47&')$ •! M82-*?-"("2-%9&1)-"2-:9R1'&("193=*&'(B" –! F7"Z7"Z7"I7"O7"Y7"[7"ZO7"IZ7444" –! \9(#"=","+='&3,"-#-3-1),]" •! E(*("2,#9'&,1(*","0*,8#-3(7"0*-'&2(W2-"&+-1Q6'(*"(" *-%*("+-";,*3(./,"-1)*-",2"1^3-*,27",9"2-P(7","2-9" 0(+*/,"+-"',30,*)(3-1),4" •! T3("?->"+-61&+,","0(+*/,"+-"',30,*)(3-1),"=" 0,22A?-#"'(#'9#(*","+='&3,"-#-3-1),"-":9(#:9-*",9)*," -#-3-1),"+-2-P(+,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" _" A7B+7&:3.,-)$74$012)(3'4)/$ •! J90,1L("("1-'-22&+(+-"+-"+-2'*-?-*"',3,"2-")*,'(" 93("#`30(+(4"<(#"0*,'-+&3-1),"#-?(*&("("2-%9&1)-" 2-:9R1'&("+-"0(22,24" •! J-:9-1'&(./,"="93("',1?-1./,":9-",8P-Q?("*-%-*"," a9@,"+-"-@-'9./,7"+-61&1+,":9(#"(./,"?-3"("2-%9&*4" •! <(#"a9@,"-2)(8-#-'-"93(",*+-3"2-:9-1'&(#"+-" -@-'9./,7")(38=3"'L(3(+("+-"-2)*9)9*("2-:9-1'&(#4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" b" Passo 01: pegue uma escada;! Passo 02: posicione-a embaixo da lâmpada;! Passo 03: busque uma lâmpada nova;! Passo 04: suba na escada;! Passo 05: retire a lâmpada velha;! Passo 06: coloque a lâmpada nova.! A717,-)$74$012)(3'4)/$CDE$ •! J90,1L("(%,*("93"*-61(3-1),"0(*(","0*,8#-3("+(" )*,'("+-"#`30(+(4"!"#`30(+("2$"+-?-"2-*")*,'(+("2-" -2Q?-*":9-&3(+(4" •! c,"(#%,*&)3,"(1)-*&,*"-2)("2&)9(./,"1/,"-2)K"0*-?&2)(7" #,%,7"("#`30(+("2-*&(")*,'(+("3-23,":9-"-2Q?-22-"-3" 8,(2"',1+&.N-24" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" [" Passo 01: ligue o interruptor;! Passo 02: se a lâmpada não acender, então:! !Passo 03: pegue uma escada;! !Passo 04: posicione-a embaixo da lâmpada;! !Passo 05: busque uma lâmpada nova;! !Passo 06: suba na escada;! !Passo 07: retire a lâmpada velha;! !Passo 08: coloque a lâmpada nova.! A717,-)$74$012)(3'4)/$CFE$ •! M"(#%,*&)3,"*-61(+,"&1'#9&9"93("2-#-./,7"8(2-(+("-3" 93("',1+&./,7"(":9(#"+-)-*3&1("2-"(2"(.N-2" 2982-:9-1)-2"2-*/,",9"1/,"-@-'9)(+(24" •! d2)-")-2)-"',1+&'&,1(#":9-"0-*3&)-",9"1/,":9-","a9@," +-"-@-'9./,"0(22-"0,*"93"+-)-*3&1(+,"',1P91),"+-" (.N-2"=")(38=3"'L(3(+,"+-"-2)*9)9*("+-"2-#-./,4" •! !,"&1'#9&*"93("-2)*9)9*("+-"2-#-./,"-3"93"(#%,*&)3," +-?-W2-",82-*?(*B" –! :9(#","0,1),"$Q3,"0(*("*-(#&>(./,"+("2-#-./,7"(22&3" -?&)(W2-"(.N-2"+-21-'-22K*&(2C" –! :9(#"(2"',1+&.N-2"'-*)("0(*(")-2)(*7"-?&)(1+,":9-",',**(" (#%93"+-2?&,"&1+-2-P(+,"1,"a9@,"+-"-@-'9./,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" e" G7?7H,-)$74$012)(3'4)/$CDE$ •! J-%9&1+,"("&+-&("+-"*-61(*","0*,8#-3("+(")*,'("+-" #`30(+(27"290,1L(":9-"2-P("1-'-22K*&,"*-?&2(*"-")*,'(*" (2"#`30(+(2"+-"93("'(2("),+(4" •! c,?(3-1)-","(#%,*&)3,"1/,"()-1+-"&1)-%*(#3-1)-7"0,&2" -#-"+-2'*-?-"(")*,'("+-"93("#`30(+("-"1/,"(")*,'("+-" ?K*&(2"#`30(+(24" •! J(8-W2-":9-",2"0(22,2"0(*(")*,'("+-"#`30(+(2"2/," 2-30*-",2"3-23,27"#,%,7"93("(#)-*1(Q?("2-*&("*-0-Q*" ,"a9@,"+-"-@-'9./,")(1)(2"?->-2":9(1)(2";,22-3"(2" #`30(+(2"-@&2)-1)-2"1("'(2(4" •! !%,*("',12&+-*(":9-"1/,"="0,22A?-#"2(8-*"(":9(1Q+(+-" +-"#`30(+(2"+("'(2(4"5,3,"*-2,#?-*","0*,8#-3(]" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZF" G7?7H,-)$74$012)(3'4)/$CFE$ •! M82-*?-":9-","0*&3-&*,"0(22,"+,"(#%,*&)3,"+-61-"93" 8#,',"+-"*-0-Q./,7",":9(#"&30N-":9-","a9@," 2982-:9-1)-"2-P("*--@-'9)(+,"()=",")-2)-";(#L(*4" •! !"'(0('&+(+-"+-";(>-*"',3":9-"93")*-'L,"+,"a9@,"+-" (.N-2"2-P("-@-'9)(+,"+&?-*2(2"?->-2")(38=3"=" 'L(3(+,"+-"-2)*9)9*("+-"*-0-Q./,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZZ" Passo 01: enquanto existir lâmpadas não verificadas, faça:! !Passo 02: ligue o interruptor;! !Passo 03: se a lâmpada não acender, então:! ! !Passo 04: pegue uma escada;! ! !Passo 05: posicione-a embaixo da lâmpada;! ! !Passo 06: busque uma lâmpada nova;! ! !Passo 07: suba na escada;! ! !Passo 08: retire a lâmpada velha;! ! !Passo 09: coloque a lâmpada nova.! G7?7H,-)$74$012)(3'4)/$CIE$ •! !2"*-0-Q.N-2"0,+-3")-*";,*3(2"+&;-*-1'&(+(2B" –! G&('&"16"H1I+567"0*&3-&*,"2-")-2)("-"+-0,&2"2-"-@-'9)("," a9@,4" –! G&('&"16"J577"0*&3-&*,"2-"-@-'9)(","a9@,"-"+-0,&2"2-" )-2)("("',1+&./,"+-"*-0-Q./,4" –! H'&4$KL&("M&N15-$(7"1/,"LK")-2)-2"-","a9@,"="*-0-Q+,"93" 1^3-*,"+-"?->-2"+-61&+,"("0*&,*&4" •! !,"9Q#&>(*"*-0-Q.N-2"+-?-W2-",82-*?(*B" –! :9(#"(";,*3("+-"*-0-Q./,"3(&2"&1)-*-22(1)-"0(*("," 0*,8#-3(C" –! :9(&2"(.N-2"+-?-3"6'(*"+-1)*,"-":9(&2"+-?-3"6'(*";,*(" +("*-0-Q./,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZI" 0/?7:')/$%4?)('.&'7/$CDE$ •! >)4?17J3*.*7$ –! !"',30#-@&+(+-"0,+-"2-*"-1'(*(+("',3"2&1f1&3,"+-" ?(*&-+(+-4" –! !"?(*&-+(+-"*-0*-2-1)("93(":9(1Q+(+-"+-"2&)9(.N-2" +&;-*-1)-2":9-"93"0*,8#-3("0,+-"(0*-2-1)(*4" –! E(*("'(+("2&)9(./,"+-?-"2-")-*"93("2,#9./,"0*-?&2)(4" •! %&K7/H2.,-)$ –! T3("+(2"3(&,*-2"*-20,12K?-&2"0-#,"(93-1),"+(" ',30#-@&+(+-"="(";,*3("-**f1-("+-"&1?-2Q%(*"93" 0*,8#-3(4" –! U-?-W2-"2-30*-"892'(*"*-20,2)(2",8P-Q?(2"-"+&*-)(2" 2,8*-"(2"2&)9(.N-2"-1?,#?&+(2"1,"0*,8#-3(4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZO" 0/?7:')/$%4?)('.&'7/$CFE$ •! 8723L313*.*7$ –! g-+-"("'(0('&+(+-"+-"',30*--12/,"+,"(#%,*&)3,"0,*" :9(#:9-*",82-*?(+,*4" –! d2)K"*-#('&,1(+,"',3"("'#(*->("',3":9-"29("#$%&'("-2)K" -@0,2)(4" •! @)('.L313*.*7$ –! d@&2)-3"93("%*(1+-"?(*&-+(+-"+-"#&1%9(%-12"+-" 0*,%*(3(./,7"'(+("93"',3"29(2"'(*(')-*A2Q'(24" –! !#%,*&)3,2"2/,"0,*"+-61&./,"0,*)K?-&27",9"2-P(7"(2" 2,#9.N-2"-2)(8-#-'&+(2"1/,"+-0-1+-3"+-")-'1,#,%&(4" •! 5,2)93(W2-"92(*"93("#&1%9(%-3"+-"(82)*(./,"'L(3(+," E2-9+,'$+&%,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZG" @():7//)$?.(.$>)&/'(+,-)$*7$012)(3'4)/$CDE$ •! E(22,"ZB"?&4"$'&1'$7&1'&"6"&1=1+5$-6." –! h"P92)(3-1)-","-191'&(+,"+,"0*,8#-3(":9-";,*1-'-"," -1'(3&1L(3-1),"1-'-22K*&,"0(*("("*-2,#9./,"+," 0*,8#-3(4" •! E(22,"IB"O&F4$4"-6"&1=1+5$-6"$("&1'4$-$("-&"-$-6(." –! !,"-@0#,*(*","-191'&(+,"2-"0,+-"+-2',8*&*":9(&2",2" +(+,2"+-?-3"2-*";,*1-'&+,27"("0(*Q*"+,2":9(&2"("2,#9./," ="-1'(3&1L(+(4" •! E(22,"OB"O&F4$4"-6"&1=1+5$-6"$("($I-$("-&"-$-6(." –! !,"-@0#,*(*","-191'&(+,"2-"0,+-"+-2',8*&*":9(&2",2" +(+,2"+-?-3"2-*"-3&Q+,2"0(*("',30,*"93"*-29#)(+," 61(#7",",8P-Q?,"+,"(#%,*&)3,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" ZY" @():7//)$?.(.$>)&/'(+,-)$*7$012)(3'4)/$CFE$ •! E(22,"GB"M&'&4751$4"6"<=&"-&%&"(&4"*&5'6"3$4$" '4$1(*647$4"&1'4$-$("&7"($I-$(." –! c-2)-"0(22,"2-"+K"("',12)*9./,"+,"(#%,*&)3," 0*,0*&(3-1)-"+&),4" –! !"0(*Q*"+,2"*-:9&2&),2"&+-1Q6'(+,27";(>W2-"1-'-22K*&," -2)(8-#-'-*"("2-:9R1'&("+-"(.N-2"1-'-22K*&(2"0(*(" *-2,#?-*","0*,8#-3(4" –! 5,3,";-**(3-1)("(9@&#&(*"2-"0,+-"92(*"93"+,2"2-%9&1)-2"3=),+,2B" •! g=),+,"5(*)-2&(1,C" •! d1%-1L(*&("i-?-*2(C" •! <(8-#("+-"U-'&2/,4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" Z_" @():7//)$?.(.$>)&/'(+,-)$*7$012)(3'4)/$CIE$ •! E(22,"YB"P61('4=54"6"$0#645'76." –! 5,3"8(2-"1,"',1L-'&3-1),"(+:9&*&+,"2,8*-","0*,8#-3(" -"(2"(#)-*1(Q?(2"+-"2,#9./,"#-?(1)(+(2"0(*("-2)-7"0,+-W 2-"-2'*-?-*","(#%,*&)3,4" •! E(22,"_B"QR&+='$4"6"$0#645'76." –! H30#&'("-3"-@-'9)(*"),+(2"(2"(.N-2"+-2'*&)(2"2-%9&1+,"," a9@,"-2)(8-#-'&+,"1,"(#%,*&)3,4" –! !"'(+("&12)*9./,7"(2"(.N-2"-",2"*-29#)(+,2"2/," ?-*&6'(+,27"%(*(1Q1+,","',**-),";91'&,1(3-1),4" –! \9(1+,"2/,"&+-1Q6'(+,2"-**,2"1,2"*-29#)(+,27"("2,#9./," +-?-"2-*"*-+-61&+(4" •! d2)("(Q?&+(+-")(38=3"="'L(3(+("+-"<-2)-"+-"g-2(4" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" Zb" MN')*)$>.('7/3.&)$ •! M"3=),+,"'(*)-2&(1,"="8(2-(+,"1,"0*&1'A0&,"+("+&?&2/," -"',1:9&2)(4" •! d2)-"3=),+,"',12&2)-"-3"()('(*"93"0*,8#-3(" ',30#-@,7"+&?&+&1+,W,"-3"0*,8#-3(2"3-1,*-27"#,%,7" 3(&2";K'-&2"+-"*-2,#?-*4" •! E(22,2"+,"3=),+,B" –! E(22,"ZB"-5%5-54"6"346/0&7$"&7"(=$("3$4'&("3451+53$5(S" –! E(22,"IB"$1$05($4"$"-5%5(:6"3$4$"#$4$1F4"+6&4D1+5$S" –! E(22,"OB"(&"$0#=7$"3$4'&"1:6"*64"/&7"+6734&&1-5$8" $305+$4"6"7;'6-6"1$"3$4'&S" –! E(22,"GB"$1$05($4"6"6/@&'6"3$4$"#$4$1F4"&1'&1-57&1'6"&" +6&4D1+5$." D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" Z[" O&27&P.(3.$G7K7(/.$ •! E*,'-22,"39&),"9Q#&>(+,"1("K*-(")='1&'(4" •! E,229&"("61(#&+(+-"+-"+-)-*3&1(*","3()-*&(#"+-" ',12)*9./,"-"("2-:9R1'&("+-"3,1)(%-3"("0(*Q*"+," 0*,+9),"+-2-P(+,4" –! M"0*,+9),"-@&2)-"-"="+-23,1)(+,"()="'L-%(*"1,2"2-92" ',30,1-1)-2"3(&2"8K2&',24" •! c,"'(2,"+,2"(#%,*&)3,2","0*,+9),"=","*-29#)(+,7"-3" ,9)*(2"0(#(?*(27"(2"&1;,*3(.N-2"+-"2(A+(4" •! !"0(*Q*"+,"*-29#)(+,"0,+-W2-"+-)-*3&1(*"*-?-*2(3-1)-" ,2"+(+,2"+-"-1)*(+(27"8-3"',3,"(2"-)(0(2"+-" )*(12;,*3(./,"+-2)-2"+(+,24" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" Ze" Q.L71./$*7$;7:3/-)$ •! M8P-Q?("8(2&'(3-1)-"*-#('&,1(*"(2"(.N-2":9-" +-0-1+-3"+-"(#%93("',1+&./,"',3"(2"0*$0*&(2" ',1+&.N-24" •! U-2)(";,*3("2-"0,+-"-2'#(*-'-*"-"?&29(#&>(*";('-1)-" :9(&2"?(#,*-2","',1P91),"+-"',1+&.N-2"+-?-"(2293&*" 0(*(":9-"2-"-;-)9-"29("*-20-'Q?("(./,4" •! J9("(0#&'(./,"2-"+K"0*&1'&0(#3-1)-"1("',12)*9./,"+(2" 2-%9&1)-2"-2)*9)9*(2B" –! 2-#-./,C" –! *-0-Q./,"',3")-2)-"1,"&1A'&,C" –! *-0-Q./,"',3")-2)-"1,"634" D,/,"E(8#," FG4"H1)*,+9./,"(,2"!#%,*&)3,2" IF" !"#$%&'()*)+,-$.'$/+&012,$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ 7$ 8+!9:$;":.:$</.023&$&=/&>.33&/$?:$/2"$0":$?:$'&/0"$@?.$ <"33?2$&$0&<&024&4.$4.$0&//.A&/$&<.B&3$.(.$:.3:"$.$:&23$ ?:&$4.$3?&3$=/C3$0&/A&3D$@?.$3#"E$?:$("'"D$?:$'"4.$.$?:$ :&6"$4.$&(F&F&+$G$@?.$"$;":.:$4.>.$F&H./$<&/&$&=/&>.33&/$ "$/2"$3.:$<./4./$&3$3?&3$0&/A&3I$ 7+!J/C3$K.3?1=&3$.$=/C3$0&B2'&23$</.023&:$&=/&>.33&/$?:$/2"L$ <&/&$=&(D$423<M.:$4.$?:$'&/0"$0":$0&<&024&4.$<&/&$4?&3$ <.33"&3+$%"/$:.424&3$4.$3.A?/&B6&$B#"$3.$<./:2=.$@?.$.:$ &(A?:&$:&/A.:$&$@?&BN4&4.$4.$K.3?1=&3$3.K&$2BF./2"/$O$4.$ 0&B2'&23+$P?&($&$3.@?CB02&$4.$<&33"3$@?.$<./:2N/2&$&$ =/&>.332&$0":$3.A?/&B6&I$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ Q$ Q+! R"B3=/?&$?:$&(A"/2=:"$.-<(202=&B4"$="4"3$"3$<&33"3$@?.$ 4.>.:$3./$3.A?24"3$<&/&$"'=./$?:$4&4"$(2>/"$<"/$ .:</S3N:"$B&$'2'(2"=.0&$4&$?B2>./324&4.+$R"B324./.D$ 0":"$<"B="$2B202&(D$@?.$>"0C3$.3=T$.:$F/.B=.$O$'2'(2"=.0&$.$ &2B4&$B#"$<"33?2$"$("0&(2H&4"/$4"$(2>/"+$ U+! R"B3=/?&$?:$&(A"/2=:"$@?.$:"3=/.$="4"3$"3$<&33"3$@?.$ >"0C$3.A?.$<&/&$.30"(;./$"$N<"$4.$/"?<&$0":$@?.$>&2$3&2/D$ &<V3$(.>&B=&/D$(.>&B4"$.:$0"B324./&6#"$&<.B&3$"$=.:<"$ W'":D$B?'(&4"$"?$0;?>"3"X$.$&$=.:<./&=?/&$W@?.B=.D$ :"4./&4"$"?$F/2"X+$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ U$ *+! ,(&'"/.$?:$&(A"/2=:"$?N(2H&B4"$="4&3$&3$.3=/?=?/&3$4.$ 0"B=/"(.$W3.@?.B02&6#"D$3.(.6#"$.$/.<.N6#"XD$@?.$.-.0?=.$ ?:$K"A"$4&$>.(;&$4.$&0"/4"$0":$&$.3=/&=SA2&$@?.$>"0C$ 3.:</.$?3&+$ Y+! ,(&'"/.$?:$&(A"/2=:"$@?.$:">&$=/C3$4230"3$4.$?:&$J"//.$ 4.$Z&BV2D$@?.$0"B323=.$.:$=/C3$;&3=.3$W&$[$'$[$0XD$?:&$4&3$ @?&23$3./>.$4.$3?<"/=.$<&/&$=/C3$4230"3$4.$=&:&B;"3$ 42F./.B=.3$W8$[$7$[$QXD$"3$:.B"/.3$3"'/.$"3$:&2"/.3+$%"4.[ 3.$:">./$?:$4230"$4.$0&4&$>.H$<&/&$@?&(@?./$;&3=.D$4.34.$ @?.$B?B0&$3.K&$0"("0&4"$?:$4230"$:&2"/$3"'/.$?:$:.B"/+$ G$"'K.N>"$S$=/&B3F./2/$"3$=/C3$4230"3$<&/&$"?=/&$;&3=.+$ !"#$%&'()')(*&$+,&-.*&$/0$1234(-'54&$ 6-74&$8(-5-9:4&$/0$;*/4&$<=>$ •! !"#"$%&'%&(%#$)*$+,)*$,#-.-+/)*0$1"23*%$&%4%**5#-)$ %&'%&(%#$6.$4)&4%-')$(%$."-*$"7')$&8/%79$"$-&1)#.":;)<$ –! =')$)6$%1%-')$(%$-&1)#."#<$>#"&*.-**;)$(%$&)?4-"*<$ @).6&-4":;)<$=:;)$(%$-&1)#."#3*%<$A&*'#6:;)0$ %&*-&".%&')<$>#"&*.-**;)$(%$4)&B%4-.%&')*<$ •! @).,7%.%&'"#.%&'%0$"$-&1)#.":;)$,)(%$*%#$/-*'"$ 4).)$6.$4)&C6&')$(%$("()*$)#D"&-2"()*0$4).$*%&+()0$ 4).$*%.E&+4"<$ •! F%,#%*%&'":;)$(%$1"')*0$4)&4%-')*$%$-&*'#6:G%*0$,)#$ .%-)$(%$*-&"-*$(%$6."$."&%-#"$1)#."7-2"("0$,)**8/%7$(%$ *%#$'#"&*.-+("$)6$,#)4%**"("$,%7)$B).%.$)6$,)#$ .5H6-&"*<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ O$ 6-74&$8(-5-9:4&$/0$;*/4&$<?>$ •! @"("$("()$,)**6-$6.$,"(#;)$(%$#%,#%*%&'":;)0$+,)$ ,#-.-+/)0$H6%$-&*'#6-$)$4).,6'"()#$*)J#%$4).)$'#"'"#$)$ ("()<$ •! P6&(".%&'"7.%&'%0$6*"3*%$&"$4)&*'#6:;)$(%$ "7D)#-'.)*$H6"'#)$+,)*$,#-.-+/)*0$*%&()$%*'%*9$ –! -@'0-(4A$H6"7H6%#$-&1)#.":;)$&6.Q#-4"$H6%$,%#'%&:"$")$ 4)&C6&')$()*$&R.%#)*$-&'%-#)*$#%7"+/)*$S&%D"+/"0$&67"$ )6$,)*-+/"T<$ •! MU<9$V%6$/-2-&B)$4).,#)6$O$4"##)*<$ –! (0*2A$H6"7H6%#$-&1)#.":;)$&6.Q#-4"$H6%$,%#'%&:"$")$ 4)&C6&')$()*$&R.%#)*$#%"-*$S&%D"+/"0$&67"$)6$,)*-+/"T<$ •! MU<9$V-&B"$".-D"$'%.$W0LX$.%'#)*$(%$"7'6#"<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ Y$ 6-74&$8(-5-9:4&$/0$;*/4&$<B>$ –! .*(*.'0(0A$H6"7H6%#$-&1)#.":;)$4).,)*'"$,)#$4"#"4'%#%*$ &6.Q#-4)*$SK<<ZT0$"71"JQ+4)*$S=<<[0$"<<2T$%$%*,%4-"-*$S\0$]0$^0$ _0$`0$a0$<<<T<$ •! MU<9$b$'#-)$Q$4).,)*')$,)#9$cd6D6-&B)0$[%2-&B)$%$ e6-*-&B)f$<$ –! 2C3-.4A$H6"7H6%#$-&1)#.":;)$H6%$,)**"$"**6.-#$*).%&'%$ 6.$(%$()-*$%*'"()*$,)**8/%-*<$ •! MU<9$=$,)#'"$%*'5$"J%#'"$)6$1%4B"("<$ •! g-"$(%$#%D#"0$"*$7-&D6"D%&*$(%$,#)D#".":;)$,#)/%%.$ +,)*$(%$("()*$"(-4-)&"-*0$4).$)$)JC%+/)$(%$1"4-7-'"#$)$ (%*%&/)7/-.%&')$(%$,#)D#"."*<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ h$ D4@&'*@'0&$0$E*(-,:0-&$<=>$ •! D4@&'*@'0&$ –! i.$("()$Q$4)&*'"&'%$H6"&()$&;)$*)1#%$/"#-":;)$&)$ (%4)##%#$()$'%.,)<$j%6$/"7)#$Q$4)&*'"&'%$(%*(%$)$-&84-)$ "'Q$)$k.$("$%U%46:;)$()$"7D)#-'.)<$ •! MU<9$X0$cl;)$P6.%f0$OXOm0$3K<Xn$ •! E*(-,:0-&$ –! i.$("()$Q$47"**-k4"()$4).)$/"#-5/%7$H6"&()$'%.$"$ ,)**-J-7-("(%$(%$*%#$"7'%#"()$%.$"7D6.$-&*'"&'%$&)$ (%4)##%#$()$'%.,)<$o6#"&'%$"$%U%46:;)$()$"7D)#-'.)0$)$ /"7)#$*)1#%$"7'%#":;)$)6$)$("()$Q$(%,%&(%&'%$("$ %U%46:;)$%.$6.$4%#')$.).%&')$)6$4-#46&*'E&4-"<$ •! MU<9$@)'":;)$()$op7"#0$!%*)$("$!%**)"0$q&(-4%$(%$A&r":;)$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ X$ D4@&'*@'0&$0$E*(-,:0-&$<?>$ •! i.$%U%.,7)$H6%$-76*'#"$"$(-1%#%&:"$%&'#%$4)&*'"&'%*$%$ /"#-5/%-*$*%#-"$4)&*'#6:;)$(%$6.$"7D)#-'.)$,"#"$)$ 457467)$("$5#%"$(%$6."$4-#46&1%#s&4-"<$ •! !"#"$'"70$Q$&%4%**5#-)$6*"#$"$1p#.67"$t#O0$)&(%9$ –! t$'%.$/"7)#$4)&*'"&'%$(%$Y0WhWL<<<0$-&(%,%&(%&'%$(%$H6"7$ *%C"$4-#46&1%#s&4-"u$ –! %$#0$H6%$#%,#%*%&'"$)$#"-)0$Q$(%,%&(%&'%$(%$ 4-#46&1%#s&4-"0$7)D)$Q$/"#-5/%7$"$4"("$%U%46:;)$()$ "7D)#-'.)<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ L$ F4(5*GH4$/0$I/0@9J.*/4(0&$ •! b*$-(%&+k4"()#%*$*;)$)*$&).%*$("()*$,"#"$"*$ 4)&*'"&'%*$)6$/"#-5/%-*$")$7)&D)$()$"7D)#-'.)<$ •! >)()*$)*$-(%&+k4"()#%*$(%/%.$*%#$#%,#%*%&'"+/)*0$)6$ *%C"0$'%#$6.$&).%$H6%$#%.%'"$")$("()$"#."2%&"()<$ •! >".JQ.$(%/%.$*%D6-#$)$*%D6-&'%$4#-'Q#-)$(%$1)#.":;)9$ –! 4).%:"#$,)#$6.$4"#"4'%#%$"71"JQ+4)u$ –! *%#$*%D6-()$,)#$."-*$4"#"4'%#%*$"71"JQ+4)*$)6$ &6.Q#-4)*<$ •! MU%.,7)*$(%$-(%&+k4"()#%*9$ –! :,2-/4&A$l)'"W0$l)'"O0$l).%*0$VQ(-"0$Pv>j0$%'4<$ –! -@:,2-/4&A$Xw0$MSYT0$=9N0$w3x0$l)'"yO0$=z{|0$!}==0$%'4<$ I);)$!"J7)$KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ m$ ;0.2*(*GH4$/0$E*(-,:0-&$ •! j%.,#%$H6%$1)#$&%4%**5#-)$"#."2%&"#$"7D6.$("()$%.$ .%.p#-"0$1"23*%$&%4%**5#-)$(%47"#"#$%U,7-4-'".%&'%$ 6."$/"#-5/%7$(%&'#)$()$"7D)#-'.)<$ •! =$(%47"#":;)$(%$6."$/"#-5/%7$4)&*-*'%.$%.9$ –! (%k&-#$6.$+,)$,#-.-+/)$(%$("()*u$ –! (%k&-#$6.$-(%&+k4"()#$/57-()<$ •! MU%.,7)*$(%$(%47"#":;)$(%$/"#-5/%-*<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ n$ <tipo>: <identificador>;! caractere: nome, endereço, data;! inteiro: idade, parcelas;! real: peso, altura, cotação;! lógico: resposta, porta, motor;! %K7(0&&L0&$1(-'5M9.*&$ •! MU,#%**G%*$"#-'.Q+4"*$*;)$"H6%7"*$46C)*$),%#"()#%*$ *;)$"#-'.Q+4)*$%$46C)*$),%#"&()*$*;)$4)&*'"&'%*$)6$ /"#-5/%-*$()$+,)$-&'%-#)$)6$#%"7<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ Z$ N70(*/4($ F)@GH4$ %K05724$ ~$ =(-:;)$ O$~$O0$U$~$0$2$~$h$ 3$ j6J'#":;)$ h$3$W0$2$3$H0$m$3$"$ |$ V67+,7-4":;)$ O$|$h0$"$|$J0$U$|$Y$ y$ o-/-*;)$ n$y$O0$4$y"0$m$y$J$ ,)'SU0$T$ U$%7%/"()$"$$ ,)'SO0$YT0$,)'SU0$T$ #"(SUT$ F"-2$H6"(#"("$(%$U$ #"(SZT0$#"(S2T$ .)($ F%*'"$("$(-/-*;)$ Z$.)($h$#%*67'"$W$ (-/$ {6)4-%&'%$("$(-/-*;)$ Z$(-/$h$#%*67'"$O$ %K7(0&&L0&$OC3-.*&$<=>$ •! MU,#%**G%*$7pD-4"*$*;)$"H6%7"*$46C)*$),%#"()#%*$*;)$ 7pD-4)*$)6$#%7"4-)&"-*$%$46C)*$)*$),%#"&()*$*;)$ #%7":G%*0$/"#-5/%-*$)6$4)&*'"&'%*$()$+,)$7pD-4)<$ –! !"#$%&'$#()*#+%,-'.%-(/)*;)$),%#"()#%*$H6%$#%"7-2".$ 4).,"#":G%*$%&'#%$()-*$/"7)#%*$(%$.%*.)$+,)$,#-.-+/)<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ WK$ N70(*/4($ F)@GH4$ %K05724$ $ AD6"7$ Y$$Y0$U$$0$O$$2$ $ V"-)#$ X$$h0$"$$J0$n$$2$ $ V%&)#$ W$$n0$U$$20$$$X$ $ V"-)#$)6$AD6"7$ X$$Y0$U$$0$2$$m$ $ V%&)#$)6$AD6"7$ L$$Z0$"$$U0$J$$n$ $ o-1%#%&'%$ W$$O0$U$$0$Y$$2$ %K7(0&&L0&$OC3-.*&$<?>$ –! !"#$%&'$#()012-,'(/$*;)$4)&%4+/)*$J5*-4)*$,"#"$"$ 1)#.":;)$(%$,#),)*-:G%*$7pD-4"*<$ •! 6*P02*&Q:0(/*/0$ –! >"J%7"3/%#("(%$Q$)$4)&C6&')$(%$')("*$"*$,)**-J-7-("(%*$ 4).J-&"'p#-"*$%&'#%$)*$/"7)#%*$(%$/"#-5/%-*$7pD-4"*0$"*$ H6"-*$,)**6%.$",%&"*$(6"*$*-'6":G%*$Sg%#("(%-#)$)6$ P"7*)T<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ WW$ N70(*/4($ F)@GH4$ l;)$ l%D":;)$ M$ @)&C6&:;)$ bi$ o-*C6&:;)$ %K7(0&&L0&$OC3-.*&$<B>$ $ •! MU%.,7)*$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ WO$ 1$ +$ 1$0$+$ g%#("(%-#)$ g%#("(%-#)$ g%#("(%-#)$ g%#("(%-#)$ P"7*)$ P"7*)$ P"7*)$ g%#("(%-#)$ P"7*)$ P"7*)$ P"7*)$ P"7*)$ 1$ +$ 1$4)$+$ g%#("(%-#)$ g%#("(%-#)$ g%#("(%-#)$ g%#("(%-#)$ P"7*)$ g%#("(%-#)$ P"7*)$ g%#("(%-#)$ g%#("(%-#)$ P"7*)$ P"7*)$ P"7*)$ 1$ RH4$1$ g%#("(%-#)$ P"7*)$ P"7*)$ g%#("(%-#)$ 2 < 5 e 15 / 3 = 4! V e 5 = 4 ! V e F ! F! 2 < 5 ou 15 / 3 = 4! V ou 5 = 4 ! V ou F ! V! 8(0.0/S@.-*$/0$N70(*/4(0&$ •! =$#%*)76:;)$(%$%U,#%**G%*$"#-'.Q+4"*$%$7pD-4"*$*%D6%$)$ *%D6-&'%$,"(#;)$(%$,#%4%(s&4-"$(%$),%#"()#%*<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ WY$ parênteses mais internos! operadores aritméticos! operadores relacionais! operadores lógicos! parênteses mais internos! pot!rad! * !/ !div!mod! + !-! não! e !ou! N70(*/4($/0$1'(-P)-GH4$ •! i."$/%2$(%47"#"("$6."$/"#-5/%70$Q$&%4%**5#-)$,)(%#$ "'#-J6-#$6.$/"7)#$"$%*'"<$ •! b$),%#"()#$(%$"'#-J6-:;)$*%#/%$C6*'".%&'%$,"#"$ "#."2%&"#$6.$(%'%#.-&"()$/"7)#$%.$6."$/"#-5/%7$(%$ .%*.)$+,)<$ •! MU%.,7)*$(%$"'#-J6-:;)<$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ Wh$ <variável> ! <valor>;! lógico: A, B;! inteiro: X;! A ! B;! X ! 8 + 13 div 5;! B ! 5 = 3;! D45*@/4&$/0$%@'(*/*$0$T*U/*$ •! b*$"7D)#-'.)*$,#%4-*".$*%#$"7-.%&'"()*$,)#$("()*$ ,#)/-()*$,%7)*$6*65#-)*<$!"#"$')#&"#$-*')$,)**8/%7$*%$ (%/%$6*"#$6.$4)."&()$(%$%&'#"("$(%$("()*<$ •! b*$"7D)#-'.)*$'".JQ.$,#%4-*".$%U'%#&"#$,"#"$)*$ 6*65#-)*$)*$#%*67'"()*$)J+()*<$!"#"$'"70$6*"3*%$)$ 4)."&()$(%$%*4#-'"<$ •! MU%.,7)*$(%$%&'#"("$%$*"8("9$ I);)$!"J7)$ KL<$M*'#6'6#"*$N5*-4"*$(%$=7D)#-'.)*$ WX$ leia(<variável>);! escreva(<variável>);! caractere: nome;! escreva(“Digite seu nome:”);! leia(nome);! escreva(“Obrigado ” + nome);! !"#$%&'()')(*&$+,$-./'(.0,$1$2*(',$!3$ 40.5.&$+,$607.(8'9.&$ •! !"#$%&'&#(&)*#+*,#)*-./)&#'&"�"#'&.10.2&#)*# 345*+6#'&"#0"3#70.48&#)*-./)39#:#(,;(,/%<&,/2"&# (&)*#+*,#=/+2&#'&"�"#$%&'&6#&#>03%#(&)*#+*,#7&,"3)&# (&,#/.?"*,&+#&02,&+#$%&'&+9# •! @&,#>0*+25*+#)*#%*</$/%/)3)*#3+#/.+2,045*+#/.2*,.3+#3&# $%&'&#+*"(,*#+8&#/.)*.23)3+6#&0#+*136#'&"#,*'0&#(3,3# )/,*/239# •! :#$%&'&#(,/.'/(3%#)*#0"#3%<&,/2"&#A#)*-./)&#(&,B# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# J# início! !<comando 1>;! !<comando 2>;! !...! !<comando n>;! fim.! -.9,/':(8.&$,9$607.(8'9.&$ •! K#0"3#$&3#(,LM'3#)*#(,&<,3"348&#"3.2*,#&#';)/<&N 7&.2*#$*"#)&'0"*.23)&6#<3,3.M.)#%*</$/%/)3)*#)3# +&%048&9# •! !"3#7&,"3#)*#)&'0"*.23,#0"#';)/<&N7&.2*#A#32,3=A+# )*#'&"*.2L,/&+6#&+#>03/+#+8&#/.=/+O=*/+#(3,3#&+#0+0L,/&+# *#/<.&,3)&+#(*%&+#'&"(/%3)&,*+9# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# P# /* Comentário de bloco servem para fazer anotações maiores, pois tudo que estiver entre “/**/” será ignorado pelo compilador. */! início! !<comando 1>; // Comentários de linha são breves.! !<comando 2>; // Após o “//” o resto da linha é ignorado.! !...! !<comando n>;! fim.! %&'()')(*$;,<),/58*0$ •! Q#*+2,020,3#+*>0*.'/3%#)*#0"#3%<&,/2"&#'&,,*+(&.)*#3&# 732&#)*#>0*#&#'&.10.2&#)*#345*+#(,/"/M=3+#+*,L# *R*'023)&#*"#0"3#+*>0S.'/3#%/.*3,6#)3#"*+"3#7&,"3# >0*#7&,3"#*+',/23+9# –! T*#'/"3#(3,3#$3/R&9# –! T3#*+>0*,)3#(3,3#)/,*/239# •! @&,#'&.=*.48&6#'3)3#348&#A#+*(3,3)3#(&,#(&.2&N*N =O,<0%3#UVW6#&$1*M=3.)&#+*(3,3,#0"3#348&#)3#&02,3#*# 30R/%/3.)&#.3#&,<3./X348&#+*>0*.'/3%#)3+#345*+9# •! Y*"(,*#>0*#+*#*.'&.2,3,#0"#UVW6#)*=*N+*#*R*'023,#&# (,;R/"&#'&"3.)&#)3#+*>0S.'/39# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# Z# =.(9*$>,(*0$+,$607.(8'9.&$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# [# /* Descrição sobre o propósito do algoritmo. */! início! !/* Declaração de variáveis. */! !<tipo 1>: <var_1>, <var_2>, <var_n>;! !<tipo 2>: <var_1>, <var_2>, <var_n>;! !<tipo n>: <var_1>, <var_2>, <var_n>;! !/* Corpo do algoritmo */! !<comando 1>;! !<comando 2>;! !<comando 3>;! !...! !<comando n>;! fim.! %?,9@0.$"#3A$-:05)0.$+,$B.'*$=8/*0$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# \# /* Algoritmo que calcula e imprime a média aritmética a partir de duas notas informadas pelo usuário. */! início! !/* Declaração de variáveis. */! !real: nota_1, nota_2, nota_final;! !/* Solicitação e leitura das notas. */! !escreva(“Informe sua primeira nota:”);! !leia(nota_1);! !escreva(“Informe sua segunda nota:”);! !leia(nota_2);! !/* Cálculo da nota final por média aritmética. */! !nota_final ! (nota_1 + nota_2) / 2;! !/* Impressão do resultado na tela. */! !escreva(“Sua nota final é: ” + nota_final + “.”);! fim.! %?,9@0.$"#CA$D)*/E+*+,$+,$F*'*&$+,$G8/'*$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# E# /* Algoritmo para calcular e imprimir a quantidade de latas de tinta e o custo total para pintar tanques cilíndricos. Sabe-se que cada lata custa R$ 50,00 e contém 5 litros, sendo que cada litro pode pintar 3 m2. */! início! !/* Declaração de variáveis. */! !real: altura, raio, quantidade, custo, área, litro;! !/*Solicitação e leitura de altura e raio. */ !! !escreva(“Informe a altura:”);! !leia(altura);! !escreva(“Informe o raio:”);! !leia(raio);! !...! %?,9@0.$"#CA$D)*/E+*+,$+,$F*'*&$+,$G8/'*$HCI$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# ]# !...! !/* Cálculo de área, somando a área da base com a área ! da lateral */! !área ! (3,14 * pot(raio,2)) + (2 * 3,14 * raio * altura);! !/* Cálculo quantidade de litros e latas. */! !litro! área / 3;! !quantidade ! litro / 5;! !/* Cálculo do custo. */! !custo ! quantidade * 50,00;! !/* Impressão do resultado na tela. */! !escreva(“Você necessita de “ + quantidade + ! “ a um custo total de “ + custo + “.”);! fim.! %&'()')(*&$+,$;,0,JK.$ •! !"3#*+2,020,3#)*#+*%*48&#(*,"/2*#3#*+'&%^3#)*#0"# <,0(&#)*#345*+#3#+*,#*R*'023)&#>03.)&#)*2*,"/.3)3+# '&.)/45*+#+8 *.)/)3+9# •! Q+#'&.)/45*+#+8&#,*(,*+*.23)3+#(&,#*R(,*++5*+#%;</'3+# &0#,*%3'/&.3/+#*#(&)*"#&0#.8&#+*,#+3M+7*/23+9# •! _/(&+#)*#*+2,020,3#)*#+*%*48&B# –! +*%*48&#+/"(%*+V# –! +*%*48&#'&"(&+23V# –! +*%*48&#*.'3)*3)3V# –! +*%*48&#)*#"?%M(%3#*+'&%^39# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# `# %&'()')(*$+,$;,0,JK.$;89@0,&$ •! !+3N+*#3#+*%*48&#+/"(%*+#>03.)&#A#(,*'/+*+23,#0"3#'*,23# '&.)/48.2*+#)*#*R*'023,#0"3#348&9# •! Q+#+*%*45*+#+/"(%*+#(&++0*"#3#+*<0/.2*#+/.23R*9# # •! Q=3%/3,#3#'&.)/48&6#A#<*,3)�"#,*+0%23)&#a*,)3)*/,&#&0# b3%+&9# –! Y*#3#'&.)/48&,#a*,)3)*/,36#&#$%&'&#“então”#A#*R*'023)&9# –! Y*#3#'&.)/48&,#b3%+3#=3/#(3,3#&#(,;R/"&#'&"3.)(;+#&# “fimse”9# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# ID# se (<condição>) então! !<comando 1>;! !<comando 2>;! !...! !<comando n>;! fimse;! %?,9@0.$"#LA$B.'*$=8/*0$5.9$6@(.M*JK.$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# II# /* Algoritmo que calcula e imprime a média aritmética a partir de duas notas informadas pelo usuário. O algoritmo também imprime a mensagem “Aprovado” caso a nota final seja igual ou maior que 7,0. */! início! !/* Declaração de variáveis. */! !real: nota_1, nota_2, nota_final;! !/* Solicitação e leitura das notas. */! !escreva(“Informe sua primeira nota:”);! !leia(nota_1);! !escreva(“Informe sua segunda nota:”);! !leia(nota_2);! !/* Cálculo da nota final por média aritmética. */! !nota_final ! (nota_1 + nota_2) / 2;! !...! %?,9@0.$"#LA$B.'*$=8/*0$5.9$6@(.M*JK.$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# IJ# !...! !/* Impressão do resultado na tela. */! !escreva(“Sua nota final é: ” + nota_final + “.”);! !/* Testa e imprime a mensagem se a condição for! verdadeira. */! !se (nota_final >= 7.0) então! ! !escreva(“Você foi aprovado!”);! !fimse;! fim.! %&'()')(*$+,$;,0,JK.$-.9@.&'*$ •! !+3N+*#+*%*48&#'&"(&+23#>03.)&#&'&,,*,#0"3#+/20348&#*"# >0*#)03+#3%2*,.3M=3+#)*(*.)*"#)*#0"3#"*+"3#'&.)/48&6# +*.)&#(3,3#0"3#a*,)3)*/,&#*#(3,3#&02,3#b3%+&9# •! c03.)#'&.)/48&#A#a*,)3)*/,3#*R*'023#&#$%&'&#)&# “então”9# •! c03.2#'&.)/48&#A#b3%+3#*R*'023#&#$%&'&#)&#“senão”9# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# IP# se (<condição>) então! !<comando 1>;! !...! !<comando n>;! senão! !<comando 1>;! !...! !<comando n>;! fimse;! %?,9@0.$"#NA$6@(.M*JK.$,$O,@(.M*JK.$H3I$$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# IZ# /* Algoritmo que calcula e imprime a média aritmética a partir de duas notas informadas pelo usuário. O algoritmo também imprime a mensagem “Aprovado” caso a nota final seja igual ou maior que 7,0, e a mensagem “Reprovado” caso a nota final seja menor que 7,0. */! início! !/* Declaração de variáveis. */! !real: nota_1, nota_2, nota_final;! !/* Solicitação e leitura das notas. */! !escreva(“Informe sua primeira nota:”);! !leia(nota_1);! !escreva(“Informe sua segunda nota:”);! !leia(nota_2);! !/* Cálculo da nota final por média aritmética. */! !nota_final ! (nota_1 + nota_2) / 2;! !...! %?,9@0.$"#NA$6@(.M*JK.$,$O,@(.M*JK.$HCI$$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# I[# !...! !/* Impressão do resultado na tela. */! !escreva(“Sua nota final é: ” + nota_final + “.”);! !/* Testa e imprime a mensagem de acordo com a avaliação da ! condição. */! !se (nota_final >= 7.0) então! ! !escreva(“Você foi aprovado!”);! !senão! ! !escreva(“Você foi reprovado!”);! !fimse;! fim.! %&'()')(*$+,$;,0,JK.$%/5*+,*+*$H3I$ •! !+3N+*#+*%*48&#*.'3)*3)3#>03.)&6#(&,#.*'*++/)3)*#)*# (,&'*++3"*.2&6#+8<,0(3)3+#=L,/3+#*+2,020,3+#)*# +*%*48&9# •! !+3)3+#>03.)#*R*'048&#)*#0"3#348&#&0#$%&'&#)*# 348&#)*(*.)*#)*#0"#'&.10.2&#)*#'&.)/45*+9# •! d*+2*+#'3+&+6#(,/"*/,&#+8=3%/3)3+#3+#+*%*45*+#"3/+# /.2*,.3+6#(3,3#)*(&/+#3+#+*%*45*+#"3/+#*R2*,.3+9# •! @&)*#*R/+M,#=L,/&+#.O=*/+#)*#*.'3)*3"*.2&6#(&,A"6# >03.2&#"3/+#*.'3)*3)&6#"3/+#'&"(%*R&#A#%<&,/2"&9# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# I\# %&'()')(*$+,$;,0,JK.$%/5*+,*+*$HCI$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# IE# se (<condição>) então! !se (<condição>) então! ! !<comando 1>;! ! !...! ! !<comando N>;! !fimse;! senão! !se (<condição>) então! ! !<comando 1>;! ! !...! ! !<comando N>;! !senão! ! !<comando 1>;! ! !...! ! !<comando N>;! !fimse;! fimse;! %?,9@0.$"#PA$-0*&&8Q5*JK.$+,$G(8R/7)0.$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# I]# /* Algoritmo que recebe três valores do usuário, verifica se eles podem formar um triângulo. Um triângulo é uma figura geométrica em que cada lado é menor que a soma dos dois outros lados. Caso forme triângulo, o algoritmo o classifica (equilátero, isósceles ou escaleno) e imprime a sua classificação. Caso não seja triângulo, o algoritmo imprime uma mensagem informativa. */! início! !/* Declaração de variáveis. */! !inteiro: A, B, C;! !/* Solicitação e leitura dos valores. */! !escreva(“Informe o tamanho do lado A:”);! !leia(A);! !escreva(“Informe o tamanho do lado B:”);! !leia(B);! !escreva(“Informe o tamanho do lado c:”);! !leia(C);! !...! %?,9@0.$"#PA$-0*&&8Q5*JK.$+,$G(8R/7)0.$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# I`# !...! !/* Verifica se é triângulo, caso sim classifica, caso não ! imprime mensagem. */! !se ((A < B + C) e (B < A + C) e (C < A + B)) então! ! !se ((A = B) e (B = C)) então! ! ! !escreva(“O triângulo é equilátero.”);! ! !senão! ! ! !se ((A = B) ou (A = C) ou (B = C)) então! ! ! ! !escreva(“O triângulo é isósceles.”);! ! ! !senão! ! ! ! !escreva(“O triângulo é escaleno.”);! ! ! !fimse;! ! !fimse;! !senão! ! !escreva(“Estes valores não forma um triângulo.”);! !fimse;! fim.! %&'()')(*$+,$;,0,JK.$+,$ST0E@0*$%&5.0U*$ •! !+3N+*#+*%*48&#)*#"?%M(%3#*+'&%^3#>03.)�"3#=3,/L=*%# (&)*#3++0"/,#0"#'&.10.2&#)*-./)&#)*#=3%&,*+6#+*.)&#>0*# (3,3#'3)3#=3%&,#^L#0"3#+*>0S.'/3#)*#/.+2,045*+#(,;(,/39# C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# JD# escolha <variável>! !caso <valor 1>:! ! !<comando 1>;! ! !...! ! !<comando n>;! !caso <valor 2>:! ! !<comando 1>;! ! !...! ! !<comando n>;! !caso <valor n>:! ! !<comando 1>;! ! !...! ! !<comando N>;! fimescolha;! %?,9@0.$"#VA$S,&,&$+.$6/.$H3I$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# JI# /* Algoritmo que recebe um número de mês e o imprime por extenso. */! início! !/* Declaração de variáveis. */! !caractere: mes;! !/* Solicitação e leitura do mês. */! !escreva(“Informe o código do mês:”);! !leia(mes);! !/* Seleção e impressão por extenso. */! !escolha mes! ! !caso “1”:! ! ! !escreva(“Janeiro”);! ! !caso “2”:! ! ! !escreva(“Fevereiro”);! ! !caso “3”:! ! ! !escreva(“Março”);! ! !...! %?,9@0.$"#VA$S,&,&$+.$6/.$HCI$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# JJ# ! !...! ! !caso “4”:! ! ! !escreva(“Abril”);! ! !caso “5”:! ! ! !escreva(“Maio”);! ! !caso “6”:! ! ! !escreva(“Junho”);! ! !caso “7”:! ! ! !escreva(“Julho”);! ! !caso “8”:! ! ! !escreva(“Agosto”);! ! !caso “9”:! ! ! !escreva(“Setembro”);! ! !caso “10":! ! ! !escreva(“Outubro”);! ! !...! %?,9@0.$"#VA$S,&,&$+.$6/.$HLI$ C&8&#@3$%&# DE9#F+2,020,3+#)*#G&.2,&%*#H#@3,2*#DI# JP# ! !...! ! !caso “11”:! ! ! !escreva(“Novembro”);! ! !caso “12”:! ! ! !escreva(“Dezembro”);!!fimescolha;! fim.! !"#$%&'()*)+,-$.'$/+&012,$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ 7$ 8+!9":3;/<&$<=$&(>"/2;="$?&/&$0&(0<(&/$&3$/&1@.3$4.$<=&$ .A<&6#"$4"$7B$>/&<$CD-7$E$F-$E$9GH$3.:4"$A<.$DH$FH$9$3#"$ I"/:.024"3$?.("$<3<J/2"+$9":324./.$A<.$&$.A<&6#"$?"33<2$ 4<&3$/&1@.3+$ 7+!9":3;/<&$<=$&(>"/2;="$A<.H$;.:4"$0"="$4&4"3$4.$.:;/&4&$ 4"23$?":;"3$A<&23A<./$4"$?(&:"H$%C-8H$K8G$.$LC-7H$K7GH$ 2=?/2=&$&$423;M:02&$.:;/.$.(.3+$D$IN/=<(&$A<.$.I.;<&$"$ 0J(0<("$OP$4C%H$LG$Q$/&4C?";C-8R-7H7GE?";CK8RK7H7GG+$ S+! 5&6&$<=$&(>"/2;="$?&/&$0&(0<(&/$"$T"(<=.$4.$<=&$.3I./&$4.$ /&2"$UH$.=$A<.$U$O$<=$4&4"$I"/:.024"$?.("$<3<J/2"+$D$ IN/=<(&$?&/&$.I.;<&/$"$0J(0<("$OP$V$Q$WXSY%ZY?";C/H$SG+$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ S$ W+! ,30/.T&$<=$&(>"/2;="$A<.$/.0.'&$4"23$T&("/.3$2:;.2/"3$.$ ="3;/.$A<&($4.(.3$O$"$=&2"/+$ [+! ,30/.T&$<=$&(>"/2;="$A<.$(.2&$;/\3$T&("/.3$2:;.2/"3$.$ ="3;/.R"3$.=$"/4.=$0/.30.:;.+$]^(2@.$?&/&$;&($<=&$ 3.(.6#"$.:0&4.&4&+$ _+! ,30/.T&$<=$&(>"/2;="$A<.$/.0.'&$<=$:`=./"$2:;.2/"$.$ 2:I"/=.$3.$.3;.$O$"<$:#"$O$<=$:`=./"$?/2="+$ a+! b.:4"$0"="$4&4"3$4.$.:;/&4&$&$&(;</&$.$"$3.-"$4.$<=&$ ?.33"&H$0":3;/<&$<=$&(>"/2;="$A<.$0&(0<(.$3.<$?.3"$24.&($ <3&:4"$&3$3.><2:;.3$IN/=<(&3P$ $c"=.:3P$Ca7+a$Y$dG$e$[*$ $f<(d./.3P$C_7+8$Y$dG$R$WW+a$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ W$ *+! 5&6&$<=$&(>"/2;="$A<.$(.2&$&$&:"$4.$:&302=.:;"$4.$<=&$ ?.33"&H$0&(0<(.$.$="3;/.$3<&$24&4.$.H$;&='O=H$T./2gA<.$.$ ="3;/.$3.$.(&$hJ$;.=$24&4.$?&/&$T";&/$C8_$&:"3$"<$=&23G$.$ ?&/&$42/2>2/$C8*$&:"3$"<$=&23G+$ i+! ,(&'"/.$<=$&(>"/2;="$A<.$(.2&$"$T&("/$4.$4"23$:`=./"3$ 2:;.2/"3$.$&$"?./&6#"$&/2;=O^0&$4.3.h&4&+$D?N3$0&(0<(.$.$ &?/.3.:;.$&$/.3?"3;&+$]3.$"3$31='"("3$C$EH$RH$YH$XG$?&/&$ 24.:^g0&/$&$"?./&6#"+$ !"#"$%&'("$ )*+$,-./0102"3$4.$52-&6#"$ [$ 8)+! ,30/.T&$<=$&(>"/2;="$A<.$(.2&$"$0N42>"$4.$<=$?/"4<;"$.$ ="3;/.$&$3<&$0(&332g0&6#"H$0":I"/=.$?&4/#"$&$3.><2/+$ $ $8+++++++++++++++++++++ $D(2=.:;"$j#"R?./.01T.($ $ $7H$S$"<$W+++++++++ $D(2=.:;"$%./.01T.($ $ $[$"<$_+++++++++++++ $V.3;<J/2"$ $ $a+++++++++++++++++++++ $c2>2.:.$%.33"&($ $ $*$&;O$8[++++++++++ $k2=?.@&$.$];.:31(2"3$l"=O3^0"3$ $ $m<;/"3++++++++++++ $9N42>"$Z:TJ(24"$$ !"#$%&'()')(*&$+,$-./'(.0,$1$2*(',$!3$ %&'()')(*&$+,$4,5,678.$ •! !"#$"%&'%'&("#)$#&$*$+,-.#/0(,."1#*$&23%$2#4'$#*(&%$# ).#56)37.89.:%$#"$;(#$<$5'%().#&$*$+)(2$:%$=# •! !#4'(:+)()$#)$#$<$5',>$"#/3%$&(,>$"1#)$#'2#0(,.#*.)$# "$&#)$?:3)(#".@#)'("#9.&2("A# –! (B(03(,-.#)$#5.:)3,-.C# –! 3%$&(,>$"#?<("=# •! D':)(2$:%(02$:%$#$<3"%$2#%&E"#+*."#)$#$"%&'%'&("#)$# &$*$+,-.A# –! &$*$+,-.#5.2#%$"%$#:.#3:F53.C# –! &$*$+,-.#5.2#%$"%$#:.#?2C# –! &$*$+,-.#5.2#B(&3GB$0#)$#5.:%&.0$=# H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# O# -./'*+.($,$9:);)0*+.($ •! -./'*+.($ –! P#4'(04'$&#B(&3GB$0#5(*(Q#)$#5.:%(&#)()."#3:9.&2()."#.'# %&$5R."#)$#56)37."#$<$5'%()."=# –! M.:%().&$"#"-.#5&3()."#5.0.5(:).#(#3:"%&',-.#(@(3<.# )$:%&.#)$#'2(#$"%&'%'&(#)$#&$*$+,-.=# •! 9:);)0*+.($ –! P#4'(04'$&#B(&3GB$0#5(*("#)$#%.%(03Q(&#B(0.&$"#(%&3@'F)."#(# '2(#B(&3GB$0=# –! !5'2'0().&$"#"-.#5&3()."#5.0.5(:).#(#3:"%&',-.#(@(3<.# )$:%&.#)$#'2(#$"%&'%'&(#)$#&$*$+,-.=# H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# S# contador ! contador + 1;! acumulador ! acumulador + valor;! %&'()')(*$+,$4,5,678.$:.;$<,&',$/.$=/>:?.$ •! T"(8"$#(#$"%&'%'&(#)$#&$*$+,-.#5.2#%$"%$#:.#3:F53.# 4'(:).#:-.#"$#%$2#5$&%$Q(#4'$#.#U'<.#)$#3:"%&',>$"# )$B$#"$&#$<$5'%().#*$0.#2$:."#'2(#B$Q=# # •! I&32$3&(2$:%$V#W#(B(03()(#(#5.:)3,-.A# –! M(".#"$;(#B$&)()$3&(V#.#@0.5.#)$#3:"%&',>$"#W#$<$5'%().=# –! M(".#"$;(#9(0"(V#(#3:"%&',-.#(*6"#fimenquanto#W# $<$5'%()(=# •! !#5()(#3%$&(,-.#(#5.:)3,-.#W#&$(B(03()(=# H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# X# enquanto (<condição>) faça! !<comando 1>;! !...! !<comando N>;! fimenquanto;! %@,;50.$"#AB$C.'*$D?/*0$5*(*$<)(;*$EAF$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# Y# /* Algoritmo que calcula e imprime a média aritmética a partir de duas notas informadas pelo usuário. O algoritmo é capaz de calcular a nota final de uma turma de 50 alunos. */! início! !/* Declaração de variáveis. */! !real: nota_1, nota_2, nota_final;! !inteiro: contador;! !/* Inicialização de variáveis. */! !contador ! 0; !// Variável contadora.! !/* Laço para obtenção das notas parciais, cálculo de nota! final e apresentação do resultado. */! !enquanto (contador < 50) faça! ! !/* Solicitação e leitura das notas. */! ! !escreva(“Informe sua primeira nota:”);! ! !leia(nota_1);! ! !escreva(“Informe sua segunda nota:”);! ! !leia(nota_2);! ! !...! %@,;50.$"#AB$C.'*$D?/*0$5*(*$<)(;*$E3F$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# Z# ! !...! ! !/* Cálculo da nota final por média aritmética. */! ! !nota_final ! (nota_1 + nota_2) / 2;! ! !/* Impressão do resultado na tela. */! ! !escreva(“Sua nota final é: ” + nota_final + “.”);! ! !/* Incremento do contador para a próxima iteração. */! ! !contador ! contador + 1;! !fimenquanto;! fim.! %&'()')(*$+,$4,5,678.$:.;$<,&',$/.$D?;$ •! T"(8"$#(#$"%&'%'&(#)$#&$*$+,-.#5.2#%$"%$#:.#?2# 4'(:).#"$#%$2#5$&%$Q(#4'$#.#U'<.#)$#3:"%&',>$"#)$B$# "$&#$<$5'%().#*$0.#2$:."#'2(#B$Q=# •! I&32$3&(2$:%$V#W#$<$5'%()(#.#@0.5.#)$#3:"%&',>$"V#*(&(# (*6"#(B(03(&#(#5.:)3,-.#)$#&$*$+,-.=# •! M(".#(#5.:)3,-.#"$;(#B$&)()$3&(V#.#0(,.#W#3:%$&&.2*3).# $#.#(07.&3%2.#"$7'$#*(&(#(#*&6<32(#3:"%&',-.=# H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# [# faça! !<comando 1>;! !...! !<comando N>;! enquanto <condição>;! %@,;50.$"#3B$GH+?*$+*$<)(;*$EAF$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# \# /* Algoritmo que calcula e imprime a média aritmética de notas de uma turma. O algoritmo recebe as notas finais de cada aluno para realização do cálculo. A turma é de 50 alunos. */! início! !/* Declaração de variáveis. */! !real: nota_aluno, nota_total, média_turma;! !inteiro: contador;! !/* Inicialização de variáveis. */! !contador ! 0; ! !// Variável contadora.! !nota_total ! 0;! !// Variável acumuladora.! !/* Laço para obtenção e totalização das notas de cada! aluno. */! !faça! ! !escreva("Informe a nota do aluno " + (contador + 1) +! ": ");! ! !leia(nota_aluno);! ! !...! %@,;50.$"#3B$GH+?*$+*$<)(;*$E3F$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# K# ! !...! ! !/* Totalização das notas de cada aluno. */! ! !nota_total ! nota_total + nota_aluno;! ! !/* Incremento do contador de iterações. */! ! !contador ! contador + 1;! !enquanto(contador < 50);! !/* Cálculo da média aritmética da turma. */! !média_turma ! nota_total / 50;! !/* Apresentação do resultado do cálculo. */! !escreva("A média da turma é: " + média_turma + ".");! fim.! %&'()')(*$+,$4,5,678.$:.;$I*(?JK,0$+,$-./'(.0,$ •! T"(8"$#$"%&'%'&(#)$#&$*$+,-.#5.2#B(&3GB$0#)$#5.:%&.0$# 4'(:).#"$#%$2#5$&%$Q(#".@&$#.#:]2$&.#)$#3%$&(,>$"# 4'$#.#0(,.#)$B$#9(Q$&=# # •! ^#0(,.#"$&G#$<$5'%().#$<(%(2$:%$#.#:]2$&.#)$#B$Q$"# )$?:3)."#:(#3:"%&',-.#*(&(=# •! !#B(&3GB$0#)$#5.:%&.0$#)$B$#"$:353(03Q()(#5.2#Q$&.#$V# (#5()(#3%$&(,-.V#W#3:5&$2$:%()(#)$#'2=# H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# _J# para <variável> de <valor inicial> até <valor final> faça! !<comando 1>;! !...! !<comando N>;! fimpara;! %@,;50.$"#LB$G*?.($CM;,(.$=/N.(;*+.$EAF$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# __# /* Algoritmo que recebe como entrada 50 números inteiros positivos e imprime o maior número informado. */! início! !/* Declaração de variáveis. */! !inteiro: numero, contador, maior;! !/* Inicialização da variável maior com o menor valor! !possível. */! !maior ! 1;! !/* Laço que solicita 50 números para o usuário e verifica! se é o maior informado. */! !para contador de 1 até 50 faça!! !escreva(“Informe um número inteiro positivo:");! ! !leia(numero);! ! !...! %@,;50.$"#LB$G*?.($CM;,(.$=/N.(;*+.$E3F$ H.-.#I(@0.# JK=#L"%&'%'&("#)$#M.:%&.0$#N#I(&%$#JO# _O# ! !...! ! !/* Verifica se é o maior número informado. */! ! !se (numero > maior) então! ! ! !maior ! numero;! ! !fimse;! !fimpara;! !/* Apresenta o resultado da verificação. */! !escreva("O maior número informado foi: " + maior + ".");! fim.! 10. Exercícios de Fixação João Pablo 10. Exercícios de Fixação 2 1. Construa um algoritmo que, dado um conjunto de valores inteiros e positivos, determine qual o menor valor do conjunto. O final do conjunto de valores é conhecido através do valor zero, que não deve ser considerado. 2. Construa um algoritmo que verifique se um número inteiro informado pelo usuário é ou não primo. 3. A série de Fibonacci é formada pela seguinte sequência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, etc. Escreva um algoritmo que gere a série até o vigésimo termo. 4. Sendo H = 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, construa um algoritmo para gerar o número H. O número N é fornecido pelo usuário. João Pablo 10. Exercícios de Fixação 3 5. Elabore um algoritmo que calcule !N (Fatorial de N), sendo que o valor inteiro de N é fornecido pelo usuário. Observe que: !0 = 1; !N = 1 * 2 * 3 * ... * N‐1 * N. 6. A conversão de graus Fahrenheit para Celsius é obtida pela fórmula C = 5 / 9 * (F ‐ 32). Construa um algoritmo que calcule e escreva uma tabela de graus Celsius em função de graus Fahrenheit que variem de 50 a 150 de 1 em 1. 7. A conversão de um número de base 10 em base 2 se dá dividindo o número por 2 até que o quociente seja 1, então recupera‐se o quociente e todos os restos, começando pelo próprio quociente. Construa uma algoritmo que faça esta conversão para números naturais. João Pablo 10. Exercícios de Fixação 4 8. Fulano tem 1,5m e cresce 2cm por ano, enquanto que Ciclano tem 1,1m e cresce 3cm por ano. Elabore um algoritmo que calcule e imprima quantos anos serão necessários para Ciclano ser mais alto que Fulano. 9. Construa um algoritmo que leia um conjunto de dados contendo a altura e o sexo de 50 pessoas. Após, calcule e imprima: a maior e menor altura do grupo; a média das alturas das mulheres; a diferença percentual entre a quantidade de homens e mulheres. João Pablo 10. Exercícios de Fixação 5 10. Uma rainha requisitou os serviços de um monge e disse‐lhe que pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito em grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subsequentes, o dobro do quadro anterior. Faça um algoritmo que calcule o número de grãos que o monge espera receber. 1/4Gustavo Rissetti gustavorissetti@gmail.com 10. Exercícios de Revisão 2/4Gustavo Rissetti gustavorissetti@gmail.com Algoritmos Sequenciais 1) Criar um algoritmo que imprima a média aritmética entre os números 8, 9 e 7. 2) Ler um número inteiro e imprimir seu sucessor e seu antecessor. 3) Ler dois números inteiros e imprimir a soma, subtração, produto e divisão entre eles, mostrando a mensagem adequada para cada resultado. 4) Ler dois números (dividendo e divisor) e mostrar o quociente da divisão e o resto. 5) Entrar com um número no formato CDU e imprimir invertido: UDC. Armazenar o número em uma variável antes de imprimir. Exemplo: 123, resultará em 321. 3/4Gustavo Rissetti gustavorissetti@gmail.com Algoritmos com Seleção 1) Entrar com um número e imprimir a mensagem: é múltiplo de 3 ou não é múltiplo de 3. 2) Ler um número inteiro de 3 casas decimais e imprimir se o algarismo da casa das centenas é par ou ímpar. 3) Construir um algoritmo que indique se o número digitado está no intervalo entre 20 e 90 ou não. 4) Ler um número e imprimir se ele é igual a 5, a 200, a 400, se está no intervalo entre 500 e 1000, inclusive, ou se está fora dos escopos anteriores. 5) Ler um número entre 1 e 12 e escrever o mês correspondente. Verificar se o mês digitado existe. 4/4Gustavo Rissetti gustavorissetti@gmail.com Algoritmos com Repetição 1) Imprimir todos os números de 1 até 100. 2) Imprimir todos os números de 100 até 1. 3) Imprimir os números pares no intervalo de 1 a 600. 4) Imprimir todos os números de 1 até 100 e a soma deles. 5) Criar um algoritmo que calcule e imprima o valor de b^n. O valor de n deverá ser maior que 1 e inteiro, e o valor de b maior ou igual a 2 e inteiro. 6) Chico tem 1,50m e cresce 2cm por ano, enquanto Juca tem 1,10m e cresce 3cm por ano. Construir um algoritmo que calcule e imprima quantos anos serão necessários para que Juca seja maior que Chico. 1/34Gustavo Rissetti gustavorissetti@gmail.com 11. Introdução à Linguagem C 2/34Gustavo Rissetti gustavorissetti@gmail.com Tradução Código Fonte Tradutor Código Objeto int soma=var1+var2 0001011001011010... ● Montador •Tradutor para linguagens de segunda geração. ● Compilador •Traduz todo o programa de uma vez. ● Interpretador •Traduz o programa instrução por instrução. 3/34Gustavo Rissetti gustavorissetti@gmail.com A Linguagem C ● A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell Laboratories. • Sua primeira utilização importante foi a reescrita do Sistema Operacional UNIX, que até então era escrito em assembly. ● É uma linguagem de propósito geral, sendo adequada à programação estruturada. • Normalmente é usada para escrever compiladores, analisadores léxicos, bancos de dados, editores de texto, etc.. • Características: ● portabilidade, modularidade, compilação separada, recursos de baixo nível, geração de código eficiente, confiabilidade, regularidade, simplicidade e facilidade de uso. 4/34Gustavo Rissetti gustavorissetti@gmail.com Estrutura Básica de um Programa C diretivas para o pré-processador declaração de variáveis globais main(){ declaração de variáveis locais da função main comandos da função main } 5/34Gustavo Rissetti gustavorissetti@gmail.com Diretivas para o Processador ● As diretivas para o processador servem para fazer a inclusão de bibliotecas ao código-fonte. ● Bibliotecas • Contêm funções pré-definidas, utilizadas nos programas. ● Para incluir uma biblioteca no código: • #include <nome da biblioteca> • Exemplos: ● #include <stdio.h> → Funções de entrada e saída ● #include <stdlib.h> → Funções padrão ● #include <math.h> → Funções matemáticas ● #include <string.h> → Funções de texto 6/34Gustavo Rissetti gustavorissetti@gmail.com Dev-C++ (1) ● O Dev-C++ engloba num único aplicativo todas as ferramentas necessárias para programar em C/C++. • Pode ser obtido em: http://www.bloodshed.net/devcpp.html ● O pacote compõe um ambiente completo de desenvolvimento para a criação, debug e compilação de código-fonte. ● A aparência do Dev-C++ segue a tradição dos programas do gênero. • A maior porção da tela está disponível para a edição de texto. Mas o aplicativo não deixa de lado o espaço para o explorador de arquivos e classes nem a área dedicada às mensagens de erros e avisos do compilador. 7/34Gustavo Rissetti gustavorissetti@gmail.com Dev-C++ (2) ● Usando a IDE • Inicie o Dev-C++ pelo atalho na área de trabalho ou pelo menu iniciar. • Crie um novo arquivo, com os comandos ● File – New Source File • Edite o programa do próximo slide. 8/34Gustavo Rissetti gustavorissetti@gmail.com Dev-C++ (3) #include <stdio.h> #include <stdlib.h> int main(void){ printf(“Esse eh o meu primeiro programa!”); system(“PAUSE”); return 0; } 9/34Gustavo Rissetti gustavorissetti@gmail.comDev-C++ (4) ● Salve o programa com o nome primeiroPrograma.cpp ● Compile o programa com os comandos: • Executar → Compilar • Ou simplesmente digitando CTRL+F9. ● Se houver algum erro de sintaxe, aparece uma ou mais mensagens no rodapé da janela. • Neste caso, corrija o programa e repita. ● Se não houver erros, execute o programa com: • Executar → Executar • Ou simplesmente digitando CTRL+F10. 10/34Gustavo Rissetti gustavorissetti@gmail.com Lembre-se ● Termine todas as linhas com ; (ponto e vírgula) ● Sempre salve o programa antes de compilar. ● Sempre compile o programa antes de executar. ● Quando ocorrer um erro de compilação, dê um duplo clique sobre a mensagem de erro para destacar a linha que contém erro no código-fonte. • Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar um ; ● Use comentários, iniciados por // 11/34Gustavo Rissetti gustavorissetti@gmail.com Template ● Para desenvolver os algoritmos já vistos, use sempre o seguinte template, colocando o algoritmo (em C) entre as duas chaves do método main(). #include <stdio.h> #include <stdlib.h> int main(void){ // Aqui vai o algoritmo, traduzido para a linguagem C. // Deixar esses dois comandos no final da função main(): system(“PAUSE”); return 0; } 12/34Gustavo Rissetti gustavorissetti@gmail.com Declarações em C ● Declaram as variáveis e seus tipos. • Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ (sublinhado/underline). ● Os principais tipos são: int, float, double e char. ● Exemplos: int n, quantidade_valores; float x, y, somaValores; char sexo, nome[40]; ● Em C, letras maiúsculas são diferenciadas de letras minúsculas. int n, N; • N e n são duas variáveis diferentes... 13/34Gustavo Rissetti gustavorissetti@gmail.com Declarações: Algoritmo x C ● Algoritmo real: n1,n2,n3,media; ● C #include <stdio.h> #include <stdlib.h> int main(void){ float n1,n2,n3,media; system(“PAUSE”); return 0; } 14/34Gustavo Rissetti gustavorissetti@gmail.com Comando de Atribuição ● Atribui o valor da direita à variável da esquerda. ● O valor pode ser: • uma constante; • uma variável; • ou uma expressão. ● Exemplos x = 4; → lê-se: x recebe 4 y = x + 2; y = y + 4; valor = 2.5; sexo = 'F' 15/34Gustavo Rissetti gustavorissetti@gmail.com Atribuição: Algoritmo x C ● Algoritmo real: n1; n1 ← 10.5; ● C #include <stdio.h> #include <stdlib.h> int main(void){ float n1; n1 = 10.5; system(“PAUSE”); return 0; } 16/34Gustavo Rissetti gustavorissetti@gmail.com Entrada de Dados ● Função scanf() scanf("formatos", &var1, &var2,...) • Para cada tipo de variável, existe um “formato” de leitura. • O & indica que é para ler o valor e armazenar no endereço daquela variável. ● Exemplos int i, j; float x; char c, nome[32]; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", nome); %d → int %f → float %lf → double %c → char %s → char[] (palavras) 17/34Gustavo Rissetti gustavorissetti@gmail.com Entrada de Dados: Algoritmo x C ● Algoritmo real: n1,n2,n3; leia(n1); leia(n2); leia(n3); leia(n1, n2, n3); ● C #include <stdio.h> #include <stdlib.h> int main(void){ float n1,n2,n3; scanf(“%f”, &n1); scanf(“%f”, &n2); scanf(“%f”, &n3); scanf(“%f %f %f”,&n1,&n2,&n3); system(“PAUSE”); return 0; } 18/34Gustavo Rissetti gustavorissetti@gmail.com Operadores Matemáticos Operador Exemplo Comentário + x + y Soma x e y - x - y Subtrai y de x * x * y Multiplica x e y / x / y Divide x por y % x % y Resto da divisão de x por y ++ x++ Incrementa em 1 o valor de x -- x-- Decrementa em 1 o valor de x 19/34Gustavo Rissetti gustavorissetti@gmail.com Entrada de Dados: Algoritmo x C ● Algoritmo real: n1,n2,n3,media; leia(n1); leia(n2); leia(n3); media ← (n1+n2+n3)/3; ● C #include <stdio.h> #include <stdlib.h> int main(void){ float n1,n2,n3,media; scanf(“%f”, &n1); scanf(“%f”, &n2); scanf(“%f”, &n3); media = (n1+n2+n3)/3; system(“PAUSE”); return 0; } 20/34Gustavo Rissetti gustavorissetti@gmail.com Saída de Dados ● Função printf() printf("formatos", var1, var2,...) • Para cada tipo de variável, existe um “formato” de leitura. ● Exemplos int i, j; float x; char c, nome[32]; printf("%d", i); printf("%d %f", j, x); printf("%c", c); printf("%s", nome); %d → int %f → float %lf → double %c → char %s → char[] (palavras) 21/34Gustavo Rissetti gustavorissetti@gmail.com Saída de Dados: Algoritmo x C ● Algoritmo inteiro: i, j; real: x; i ← 1; j ← 2; x ← 3.4 escreva(i); escreva(j, x); ● C #include <stdio.h> #include <stdlib.h> int main(void){ int i,j; float x; i = 1; j = 2; x = 3.4; printf(“%d”, i); printf(“%d, %f”, j, x); system(“PAUSE”); return 0; } 22/34Gustavo Rissetti gustavorissetti@gmail.com Exemplos (1) #include <stdio.h> #include <stdlib.h> int main(void){ // Definição de variáveis double n1, n2, n3, media; // Entrada de dados printf(“Digite os valores de n1, n2 e n3:”); scanf("%lf %lf %lf",&n1, &n2, &n3); // Operação media = (n1 + n2 + n3) / 3; // Saída de dados printf("%lf", n1); printf("%lf", n2); printf("%lf", n3); printf("%lf", media); system("PAUSE"); return 0; } 23/34Gustavo Rissetti gustavorissetti@gmail.com Exemplos (2) #include <stdio.h> #include <stdlib.h> int main(void){ // Definição de variáveis int i, j; float x; char c, nome[32]; // Entrada de dados printf(“Digite os valores de i, j, x, c e nome:”); scanf("%d",&i); scanf("%d %f",&j, &x); scanf("%c",&c); scanf("%s",nome); // Exibição de dados printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); system("PAUSE"); return 0; } 24/34Gustavo Rissetti gustavorissetti@gmail.com Exemplos (3) #include <stdio.h> #include <stdlib.h> int main(void){ // Declaração de variáveis int n, quantidade_valores; float x, y, somaValores; char sexo, nome[32]; // Operação somaValores = 1 + 1; // Exibição de dados printf("somaValores=%f", somaValores); system("PAUSE"); return 0; } 25/34Gustavo Rissetti gustavorissetti@gmail.com Exemplos (4) #include <stdio.h> #include <stdlib.h> int main(void){ // Definição de variáveis double n1, n2, n3, media; // Entrada de dados printf(“Digite n1, n2 e n3:”); scanf("%lf %lf %lf",&n1,&n2,&n3); // Operação media = (n1 + n2 + n3) / 3; // Saída de dados printf("%lf", media); system("PAUSE"); return 0; } #include <stdio.h> #include <stdlib.h> int main(void){ // Definição de variáveis double n1, n2, n3, media; // Entrada de dados printf(“Digite n1, n2 e n3:”); scanf("%lf %lf %lf",&n1,&n2,&n3); // Operação media = (n1 + n2 + n3) / 3; // Saída de dados Printf("%.2lf", media); system("PAUSE"); return 0; } 26/34Gustavo Rissetti gustavorissetti@gmail.com Operadores de Atribuição Operador Exemplo Comentário = x = y Atribui o valor de y a x += x += y Equivale a x = x + y -= x -= y Equivale a x = x - y *= x *= y Equivale a x = x * y /= x /= y Equivale a x = x / y %= x %= y Equivale a x = x%y 27/34Gustavo Rissetti gustavorissetti@gmail.com Funções Matemáticas #include <math.h> Função Exemplo Comentário ceil ceil(x) Arredonda o número real para cima cos cos(x) Cosseno de x (x em radianos) exp exp(x) e elevado à potencia x fabs fabs(x) Valor absoluto de x floor floor(x) Arredonda o número real para baixo log log(x) Logaritmo natural de x log10 log10(x) Logaritmo decimal de x pow pow(x,y) Calcula x elevado à potência y sin sin(x) Seno de x sqrt sqrt(x)
Compartilhar