Algoritmos Computacionais ( Programas )



Documentos relacionados
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Introdução à Lógica de Programação

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Algoritmos com VisuAlg

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

Algoritmos e Programação de Computadores

Linguagem algorítmica: Portugol

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Resolução de problemas e desenvolvimento de algoritmos

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmos e Programação _ Departamento de Informática

Programação Básica em Arduino Aula 2

Algoritmo e Programação

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Exemplo de Subtração Binária

OPERADORES E ESTRUTURAS DE CONTROLE

Orientação a Objetos

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

e à Linguagem de Programação Python

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Projeto e Desenvolvimento de Algoritmos

3. Tipos de Dados, Constantes e Variáveis.

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Introdução aos cálculos de datas

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Introdução a Algoritmos Parte 04

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

1.1. Organização de um Sistema Computacional

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Programação Elementar de Computadores Jurandy Soares

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

Estruturas de Repetição Parte II PARA-ATÉ

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Estruturas de Repetição

Quadro de consulta (solicitação do mestre)

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

2. Representação Numérica

Aluísio Eustáquio da Silva

JSP - ORIENTADO A OBJETOS

Resumo da Matéria de Linguagem de Programação. Linguagem C

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

ESTRUTURA CONDICIONAL

Capítulo 2: Introdução à Linguagem C

Este material traz a teoria necessária à resolução das questões propostas.

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

BC0501 Linguagens de Programação

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

Algoritmos em Javascript

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

ULA Sinais de Controle enviados pela UC

PC Fundamentos Revisão 4

ARQUITETURA DE COMPUTADORES

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Introdução à Lógica de Programação

Arquitetura de Computadores. Tipos de Instruções

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Dadas a base e a altura de um triangulo, determinar sua área.

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

CURSO TÉCNICO EM PROCESSAMENTO DE DADOS

Conceitos Importantes:

Lógica de Programação

4 RECURSOS AUTOMATIZADOS DO EXCEL

Estruturas de Controle A Tomada de Decisões

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Componentes da linguagem C++

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Estrutura de Dados Básica

Introdução à Programação

Prof. Dr. Iron Macêdo Dantas

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

13 Números Reais - Tipo float

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Introdução à Lógica de Programação (cont.)

Algoritmos e Linguagem de Programação I

Aula 2 Modelo Simplificado de Computador

Organização e Arquitetura de Computadores I

Programação para Computação

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

3 Sistemas de Numeração:

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

LÓGICA DE PROGRAMAÇÃO Prof. José Geraldo

Transcrição:

Algoritmos Computacionais ( Programas ) A partir deste tópico, consideramos a utilização do universo Computacional na solução de problemas. Para tanto devemos lembrar que a transposição de problemas do universo Real para o universo Computacional, é realizada através da modelagem de problemas cuja solução já é conhecida e já foi expressa na forma de algoritmo na linguagem natural, discutido no tópico anterior. Na construção de algoritmos no tópico anterior, foram introduzidos conceitos fundamentais, e suficiente, para a construção de algoritmos em uma linguagem mais próxima da linguagem natural. Algoritmos computacionais, ou programas de computadores, por outro lado, requerem um nível de detalhamento mais próximo da linguagem computacional, de modo que as ações representem comandos que possam ser entendidos e realizados pelo computador. Surge então uma questão: Como saber se já temos detalhes suficientes em um programa para que a AÇÃO possa ser entendida e realizada? A resposta a essa pergunta vai depender do agente que irá executar o programa. No caso de algoritmos computacionais, sabemos que o computador possui um conjunto limitado de instruções e que o programa deve ser expresso com estas instruções. Entretanto para facilitar a construção de algoritmos computacionais, as linguagens de programação evoluiram de forma a aproximarem-se cada vez mais da linguagem natural. Pseudolinguagens tentam aproximar ainda mais os algoritmos computacionais da linguagem natural, sendo especialmente adequadas para utilizacao em cursos introdutórios sobre a arte de programar computadores. Neste trabalho utilizaremos uma pseudolinguagem, conhecida como PORTUGOL, para aproximar a liguagem natural ao detalhamento das ações nos algoritmos computacionais. A descrição de algoritmos em pseudo linguagens, além da simplicidade, permitem mesclar regras e estruturas rígidas, com descrições de ações em liguagem natural, tornando possível postergar destalhes minuciosos para o momento de modelar o algoritmo na linguagem executável do computador. para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 1

A principal vantagem do uso de pseudolinguagens é a flexibilidade, todavia a utilização de ações especiais com regras definidas pode ajudar na modelagem e na posterior transcrição do problema para o universo computacional. Neste aspecto Portugol, tem a flexibilidade de poder ser adaptada facilmente as estruturas da linguagem real. PORTUGOL PORTUGOL é uma pseudolinguagem que permite ao programador pensar no problema em si e não no equipamento que irá executar o algoritmo. Em geral, a medida que o programador vai ganhando experiência, existe a tendência de utilização do PORTUGOL ainda no universo Real tornando mais fácil a transposição do problema para o universo Computacional. Todavia, devemos observar que mesmo com a utilização de pseudolinguagem na modelagem de soluções, é importante considerar-mos a sintaxe (em relação à forma) e a semântica (em relação ao conteúdo ou seu significado). Lembre que na construção de algoritmo mostrada no tópico anterior, identificamos dois conceitos básicos e fundamentais dos algoritmos. Memória ( Estruturas de Dados ) para manipulação das informações. Algoritmo ( Estruturas de Controle ) para manipulação das ações. Esses conceitos estão representados nas linguagens de programação, reais ou virtuais, através de variáveis (para representar a memória) e ações (para expressar a solução na forma algoritmica). A estrutura de um algoritmo em PORTUGOL pode ser dada como: início < declarações de variáveis > ( estrutura de dados ) < ações > ( algoritmo ) para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 2

Variáveis Variáveis são componentes das linguagens de programação, que identificam as informações que estão sendo manipuladas pelos programas. Uma variável é um local (área na memória do computador) que armazena um tipo específico de conteúdo. Uma variável contém um valor que pode ser modificado durante a execução do programa. A variável possui um identificador (nome), que pode ser representado da seguinte forma: O diagrama acima, mostra a forma como uma variável é declarada em função de um tipo associado. Tipos O Tipo define duas características importantes: 1. Intervalo de valores possíveis. Por exemplo: se pensarmos em números naturais, estamos identificando o conjunto de números inteiros e não negativos (inclui o zero). 2. Conjunto de operações que podem ser realizados. Os mesmos números naturais, admitem as 4 operações aritméticas básicas: adição, subtração, multiplicação e divisão, mas não admitem por exemplo operações de conjunto, como União e Interseção. para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 3

Os tipos por sua vez são divididos em duas características distintas: 1. Tipos básicos 2. Tipos estruturados Em PORTUGOL, vamos considerar os tipos básicos como sendo um conjunto de 4 tipos principais, (embora nas linguagens de programação, como em C Sharp, existam modificações para estes tipos principais). Tipos básicos em Portugol : Tipo Inteiro: Intervalo de valores: Número inteiro (negativo, nulo ou positivo). -100, 0, 1, 2, 1250. Operações: + (adição), - (subtração), * (multiplicação), / (divisão) Exemplo: int X; ( declaração de X do tipo inteiro ) int Idade; ( declaração de Idade do tipo inteiro ) int A, B, C; ( declaração de A, B e C do tipo inteiro ) Tipo Real: Intervalo de valores: Número real (negativo, nulo ou positivo). -10, -1.5, 11.2, 0, 1.0, 2, 50.23465 Operações: + (adição), - (subtração), * (multiplicação), / (divisão) Exemplo: real X; ( declaração de X do tipo real ) real Peso; ( declaração de Peso do tipo real ) real A, B, C; ( declaração de A, B e C do tipo real ) para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 4

Tipo Caracter: Intervalo de valores: Caracteres Alfanuméricos casa, UFSC, Win7, 123, alfa#2 Operações: + (união), - (interseção) Exemplo: caracter X; ( declaração de X do tipo caracter ) caracter Nome; ( declaração de Nome do tipo caracter ) caracter A, B, C; ( declaração de A, B e C do tipo caracter ) Tipo Lógico Intervalo de valores: valores booleanos verdadeiro, false Operações: operadores lógicos ( <, <=, >, >=, <>, == ) Exemplo: bool X; bool Sucesso; bool A, B, C; ( declaração de X do tipo lógico) ( declaração de Sucesso do tipo lógico) ( declaração de A, B e C do tipo lógico) Identificador de Variáveis O identificador de uma variável, se refere ao nome de como a variável vai ser conhecida no programa. É importante não esquecer que: a) Não é possível definir variáveis de diferentes tipos com o mesmo identificador, isto é com o mesmo nome. por exemplo: real A; int A; não são aceitos, pois causaria erro na programação, real A1; int A2; pode ser utilizado para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 5

b) O nome do identificadores somente podem conter: Letras (maiúsculas e minúsculas), números e o caracter _. Por exemplo: são válidas as declatações: int Idade, real A1, A2 não são aceitas as variáveis: caracter?nome, real valor* c) Letras maiúsculas e minúsculas são tratadas de forma diferente, deste modo as variáveis abaixo são variáveis diferentes. caracter Nome_Aluno, Nome_aluno; real media, MEDIA; É importante entender que cada variável definida no programa usa um local da memória, que é acessada através do nome dado a variável. O espaço de memória ocupado pelo conteúdo da variável, depende do tamanho destes tipos de dados, que variam de acordo com o tipo do processador e com a implementação do compilador. Como referência inicial podemos considerar o seguinte: Tipo inteiro com 2 bytes; Tipo real com 4 bytes; Tipo caracter com 1 byte; Tipo lógico com 1 byte; Exemplo: Pode-se supor a memória como uma matriz, onde cada célula possui o tamanho de 1 byte (8 bits): A B Para armazenar o valor inteiro A, são necessários 2 bytes. Para armazenar o valor real B, são necessários 4 bytes. para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 6

Estrutura do algoritmo Conforme definimos anteriormente, algoritmos são sequências de comandos especiais e com alguma estrutura de controle. Um destes comandos especiais e bastante importante é o comando utilizado para atribuir conteúdo a variáveis. Comando de atribuição O comando de atribuição tem a seguinte operação: 1. A expressão é avaliada, isto é resolvida. 2. O resultado da execução da expressão é então atribuído a variável. Exemplo: 1. 2. int X; 3. X 10 + 17; 4. ; Vamos executar o algoritmo linha a linha; Linha 1; O programa é iniciado. No compudador, início significa a preparação de um ambiente para execução de programa. Linha 2; Variável X é declarada. Um espaço na memória do computador, compatível ao tipo, é reservado para armazenar a variável X. Desta forma, toda vez que a variável X aparecer no programa, estará sendo referenciando o conteúdo de memória reservado a X. Linha 3; A expressão é avaliada e o resultado atribuído a X. A expressão 10 + 17 é resolvida, isto é obtem-se o resultado 27. Este resuldado é então atribuido a X, ou seja o espaço de memória reservado para X, recebe o valor 27. Desta forma o conteúdo (valor) de X é 27. Linha 4; O programa é finalizado. Fim significa que o ambiente de execução do programa é liberado. para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 7

Operadores Aritméticos Operadores aritméticos são utilizados para expressar equações matemáticas. Neste estágio vamos nos deter ao entendimento de apenas alguns operadores conhecidos como operadores básicos. Adição: operador + ex: Z X + Y; Subtração: operador - ex: Z X - Y; Multiplicação: operador * ex: Z X * Y; Divisão: operador / ex: Z X / Y; Resto da divisão: operador % ex: R X % Y; União: operador + Ex: Nome_Completo Pre_Nome + Sobre_Nome; Ordem de execução dos operadores em expressões: 1º. Resolvidos o que estiver interno a parenteses ( ) 2º. Multiplição, Divisão e Resto ( primeiro o da esquerda, se houver empate ) 3º. Adição e Subtração ( primeiro o da esquerda, se houver empate ) Exemplos: os resultados de: 10 / 2 + 5 10 10 / 2 * 5 25 10 / ( 2 * 5 ) 1 para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 8

Estruturas de controle de PORTUGOL Nos interessa neste momento conhecer apenas as estruturas de controle básicas, variantes e demais potencialidades deixaremos para estudar mais adiante. Vimos anteriormente que existem basicamente três estruturas de controle: 1. Sequência simples, representada pelo ponto e virgula ; O ponto e virgula determina uma ordem sequêncial de execução das ações. Isto é, a presença do ponto e virgula, determina que a ação seguinte ao ponto e virgula somente pode ser executada após a ação que vem antes do ponto e virgula ter sido executada. Ex:.... X 10; Y X;.... No exemplo acima quem determina que o comado Y X, somente pode ser executada após do comando X 10 ter sido executado, não é a lógica de execução da aplicação, mas sim a presença do ponto e virgula, que estabelece a ordem sequêncial dos comandos. para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 9

2. Alternativa, para expressar condição: Estruturas alternativas são utilizadas quando há uma condição que desvia o fluxo do programa, dependendo de uma condição ser avaliada como verdadeira ou falsa. 2.1 Alternativa simples se < condição > então < ação 1 >; < ação 2 >;... Fimse 2.2 Alternativa composta se < condição > então < ação 1 >; < ação 2 >;... senão < ação 1 >; < ação 2 >;... Fimse exemplo: algoritmo para determinar se um dado número é PAR ou IMPAR int N = 7; // definir ou conhecer o valor de N int resto = N % 2; // calcular o resto da divisão de N por 2 se ( resto = 0 ) então N é um número PAR ; senão N é um número IMPAR ; se para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 10

2.3 Alternativa Multipla Alternativa multipla, são utilizadas quando a condição a ser avaliada permite varias alternativas como resposta. Caso < variável > FimCaso alternativa 1 : Bloco de Ações 1; alternativa 2 : Bloco de Ações 2; alternativa 3 : Bloco de Ações 3; alternativa 4 : Bloco de Ações 4; caso contrário : Bloco de Ações 5; Exemplo: Caso DIA SEG : TER : QUA : QUI : SEX : SAB : DOM: FimCaso Camisa Branca; Camisa Verde; Camisa Azul; Camisa Vermelha; Camisa Amarela; Camisa Rosa; Camisa Preta; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 11

3. Repetição, para expressar ação repetitivas: Quando for necessário repetir um conjunto de ações do algoritmo por um determinado número de vezes, utiliza-se uma estrutura de repetição, onde um conjunto de ações são repetidas dependendo de uma condição ser satisfeita. repita < ação 1 >; < ação 2 >;... enquanto < condição > exemplo: algoritmo para calcular o somatório dos número de 1 a N int N = 7; // definir ou conhecer o valor de N int somatorio = 0; // definir o valor inicial do somatório repita somatorio = somatorio + N; N = N 1; enquanto ( N > 0 ); Para estruturas repetitivas temos 2 grupos distintos: 1ª. Quando o número de repetições não é conhecida repita Bloco de ações enquanto <condição> enquanto <condição> enquanto bloco de ações para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 12

int N = 7; // definir ou conhecer o valor de N int somatorio = 0; // definir o valor inicial do somatório enquanto ( N > 0 ) somatorio = somatorio + N; N = N 1; enquanto; 2ª. Quando o número de repetições é conhecido PARA <variável> de <valor inicial> enquanto <condição> passo <incremento> faça Bloco de Ações; para int N = 7; // definir ou conhecer o valor de N int somatorio = 0; // definir o valor inicial do somatório para k de N enquanto k > 0 passo -1 somatorio = somatorio + k; para; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 13

Operadores relacionais e lógicos Na condição das estruturas alternativas e repetitivas, utilizam-se operadores: 1. relacionais: menor: operador < ex: X < Y; maior: operador > ex: X > Y; igual: operador = ex: X = Y; menor ou igual: operador <= ex: X <= Y; maior ou igual: operador >= ex: X >= Y; diferente: operador <> ex: X <> Y; 2. lógicos: multiplicação lógica: operador e ex: P e Q; adição lógica: operador ou ex: P ou Q; negação: operador ~ ex: ~P; tabela verdade: P Q P e Q P ou Q ~P V V V V F V F F V F F V F V V F F F F V para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 14

Exercícios Resolvidos Note que as soluções aqui apresentadas, são relativas aos exercícios resolvidos no capítulo anterior e que os algoritmos apresentados, representam o passo 3 da solução, de modo que a solução no passo 3 pode ser apresentada tanto na forma descritiva do capítulo 2, ou em PORTUGOL como apresentado abaixo. Passo 3 do exercício resolvido 1.01 int N 7; // número que se deja conhecer seu quadrado int Quadrado N * N; mostre Quadrado; Passo 3 do exercício resolvido 1.02 real Peso 80,0; real Altura 1,82; real IMC Peso / ( Altura * Altura ); mostre IMC; Passo 3 do exercício resolvido 1.03 real Valor_ME 100,00; real IC 2,55; real Valor_Reais Valor_ME * IC; mostre Valor_Reais; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 15

Passo 3 do exercício resolvido 2.01 Inicio int N 7; int Resto N % 2; se ( Resto = 0 ) entao mostre o número é PAR senão mostre o número é IMPAR ; se Passo 3 do exercício resolvido 2.02 Inicio real P1 7,0; real P2 8,5; real Media ( P1 + P2 ) / 2; se ( Media < 6,00 ) entao mostre o aluno está REPROVADO senão mostre o aluno está APROVADO ; se Passo 3 do exercício resolvido 2.03 Inicio int A leia valor do lado A; caracter TipoA leia tipo do lado A; int B leia valor do lado B; caracter TipoB leia tipo do lado B; int C; caracter TipoC Cateto ; se ( TipoA = Hipotenusa ) entao C A*A B*B; se; se ( TipoB = Hipotenusa ) entao C B*B A*A; se; se ( ( TipoA = Cateto ) e ( TipoB = Cateto ) ) entao C A*A + B*B; TipoC Hipotenusa ; se mostre RaizQuadrada ( C ); mostre TipoC; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 16

Passo 3 do exercício resolvido 3.01 int N leia valor N; int k 1; caracter sequencia ; repita sequencia sequencia + caracter ( k ); k k + 1; enquanto ( k <= N ); mostrar sequencia; Passo 3 do exercício resolvido 3.02 int N leia valor N; int k 1; int somatorio 0; repita somatorio somatorio + k k k + 1; enquanto ( k <= N ); mostrar somatorio; Passo 3 do exercício resolvido 3.03 int N leia valor N; int fatorial 1; repita fatorial fatorial * N N N - 1; enquanto ( N > 0 ); mostrar fatorial; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 17

Passo 3 do exercício resolvido 4.01 int N leia valor de N; // número a ser verificado se PRIMO int k 2; bool Primo True; repita int resto N % k; se ( resto <> 0 ) entao Primo false; se; k k + 1; enquanto ( Primo e ( k < N ) ); mostrar Primo; // outra solução int N leia valor de N; // número a ser verificado se PRIMO int k 2; bool Primo True; repita Primo ( N % k ) <> 0; k k + 1; enquanto ( Primo e ( k < ( N / 2 ) ); mostrar N, Primo; para CURSOS de ENGENHARIA e de AUTOMAÇÃO Página 18