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



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

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

Resolução de problemas e desenvolvimento de algoritmos

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Conceitos Importantes:

Algoritmos e Programação de Computadores

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

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

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

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

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

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

Algoritmos com VisuAlg

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

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

Programação para Computação

Lógica de Programação

Algoritmo e Programação

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Algoritmos Computacionais ( Programas )

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

ULA Sinais de Controle enviados pela UC

Introdução a Algoritmos Parte 04

Orientação a Objetos

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

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

23/02/ NOME João CPF SALARIO 3000,00 VARIÁVEL VARIÁVEIS

1.1. Organização de um Sistema Computacional

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

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

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

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

Lógica de Programação

Algoritmos e Linguagem de Programação de Computadores I

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

e à Linguagem de Programação Python

Algoritmos e Programação Parte Teórica

FÓRMULAS DO MICROSOFT EXCEL

1. NÍVEL CONVENCIONAL DE MÁQUINA

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

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

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

PC Fundamentos Revisão 4

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

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

Algoritmos e Programação. Prof. Tarcio Carvalho

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

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

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

ESTRUTURA CONDICIONAL

Sistemas de Numerações.

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

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Introdução à Programação e Algoritmos. Aécio Costa

Matemática Financeira Módulo 2

UNIDADE 6 - PROGRAMAÇÃO MODULAR

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

ICC Introdução para JavaScript

AMBIENTE DE PROGRAMAÇÃO PYTHON

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

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

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

JSP - ORIENTADO A OBJETOS

Lógica. Everson Santos Araujo

2. Representação Numérica

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

LÓGICA DE PROGRAMAÇÃO

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

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Arquitetura de Computadores. Tipos de Instruções

Exemplo de Subtração Binária

COMPUTADOR,, que máquina é essa?

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Algoritmos e Programação Estruturada

CAP. I ERROS EM CÁLCULO NUMÉRICO

OPERADORES E ESTRUTURAS DE CONTROLE

O modelo do computador

INTRODUÇÃO AOS SISTEMAS LÓGICOS

UTILIZANDO PROGRAMAS EDUCACIONAIS

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

QUESTÃO 1 ALTERNATIVA B

Noções Básicas de Excel página 1 de 19

Organização e Arquitetura de Computadores I

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

2. ENTRADA DE DADOS 2.1. TEXTOS

ENG1000 Introdução à Engenharia

3. Arquitetura Básica do Computador

1. Sistemas de numeração

Transcrição:

Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia Qualquer tipo de ferramenta que venha a facilitar nossas vidas pode também ser considerada um exemplo de tecnologia Uma simples caneta pode ser considerada uma tecnologia da escrita (Vilarim, 2004) O desenvolvimento dos primeiros computadores está relacionando às necessidades do homem de fazer cálculos Programação consiste no conjunto de métodos, das técnicas e dos procedimentos em computação para a elaboração de programas de computador A necessidade de existência de bons programas, fáceis de serem entendidos por outros programadores, com o mínimo de erros, que sejam executados em tempo aceitável, fez disseminar-se uma metodologia em programação, a Programação Estruturada Nela aplicamos técnicas que permitam fazer programas corretos, fáceis de se entender e modificar (Vilarim, 2004) Mais do que ter conhecimento de linguagens e detalhes sobre este ou aquele equipamento, a programação é uma atividade diretamente ligada à resolução de problemas Quando elaboramos um programa de computador, no fundo queremos ensinar a máquina a resolver um problema, e a eletrônica permite que a máquina chegue a uma resposta de maneira mais rápida e mais precisa do que nós (Vilarim, 2004) Quando os computadores passaram a ter os programas funcionando na memória, percebeu-se que era possível utilizar um conceito matemático para definir soluções de problemas os algoritmos Um algoritmo é uma seqüência ordenada e finita de etapas, cuja execução passo a passo resolve um determinado problema (Boratti & Oliveira, 2004) Português Estruturado para representar algoritmos A maior parte dos nossos algoritmos será feita no que chamados de português estruturado (também chamado portugol ) O português estruturado possui as seguintes características Utiliza um conjunto muito mais limitado de comandos do que a língua normal, mas que podem ser combinados para se construir desde algoritmos simples até outros bem complexos; Estabelece um rigor na construção do algoritmo que impede a existência de ambigüidades Cada comando tem uma interpretação única para a máquina; O algoritmo torna-se uma lista ordenada de comandos combinados, cujo seqüenciamento de execução é uma solução do problema

Tipos de Dados Em nosso algoritmo classificaremos os valores nos seguintes tipos básicos: Inteiro; Real; Caractere; Literal; Lógico ou Booleano Valores tipo Inteiro São valores que representam quantidades numéricas inteiras, tais como a idade de uma pessoa, o número de funcionários de uma empresa, etc Exemplos: 17, -5, 90,0 Valores tipo Real São valores que representam quantidades reais, ou seja, valores que apresentam parte decimal, tais como salário de um funcionário, a altura de uma pessoa, etc Exemplos: 45, 120093, -00005, 150, 00 Valores tipo Caractere São valores utilizados para representar informações onde apenas um caractere é necessário, tais como o valor do sexo de uma pessoa (M ou F), uma letra do alfabeto, etc Todo valor do tipo caractere apresenta apenas um caractere Exemplos: *, I, i, 5, (espaço) Valores do tipo Literal São utilizados na representação de informações onde se faz necessária a utilização de zero ou mais caracteres, tais como nome de uma pessoa, o nome de uma cidade, uma frase, etc Exemplos: Roberval Moreira, Avenida Amazonas, 1234 Valores tipo Lógico ou Booleano São apenas dois valores: Verdadeiro e Falso São utilizados na representação do valor de uma expressão lógica ou afirmações, tais como 6>4 (Verdadeiro) ou A Terra gira em torno da Lua (Falso)

Uma variável é um local com um nome dentro da memória do computador, criado em um algoritmo para se armazenar um determinado dado (Boratti & Oliveira, 2004) Uma analogia muito comum é imaginar uma variável como uma gaveta dentro da memória do computador Esta gaveta tem capacidade de guardar um dado de certo tipo, e o nome da variável é como uma etiqueta colada na frente da gaveta Ela possui o nome de variável porque o dado nela armazenado pode se modificar durante a execução do algoritmo (Boratti & Oliveira, 2004) Toda variável precisa ter um nome definido pelo programador, que deve ser único dentro de um mesmo algoritmo Na nossa sintaxe, todo nome de variável deve começar por uma letra e não poderá ter espaço em branco ou acentos Exemplos de nomes de variável válidos: Valor_pago Soma AA k num contador Declaração de variáveis Toda variável usada em um algoritmo precisa ser declarada Isto deve ser feito no início do algoritmo A sintaxe de declaração de variáveis é: <variável1>, <variável2>, : <tipo>; Exemplos: Os tipos básicos a serem declarados são Inteiro, Real, Booleano ou Literal quant_latas, quant_garrafas : Inteiro; saldo, taxa, bônus : Real; nome_funcionario: Literal;

Uma variável só pode armazenar um dado de cada vez! Qualquer valor armazenado em uma variável sempre vai apagar outro valor guardado anteriormente dentro dela, no mesmo algoritmo Sintaxe geral de um algoritmo Constantes Os algoritmos em português estruturado sempre têm uma estrutura básica de descrita <constante1> : <tipo1>; <constante2> : <tipo2>; <variável1> : <tipo1>; <variável2> : <tipo2>; <variável3> : <tipo3>; <comando1>; <comando2>; <comando3>; Este molde indica que, ao construirmos um algoritmo, faremos primeiro as declarações de quais variáveis serão utilizadas, e depois escreveremos os comandos que ensinarão o computador a fazer algo Expressões Uma expressão constitui-se em um conjunto de variáveis e/ou valores, separados por caracteres especiais, que indicam as operações que devem ser executadas Assim, a expressão: Valor_a + Valor_b + Valor_c Indica o cálculo da soma dos conteúdos das variáveis, Valor_a, Valor_b e Valor_c Já o comando: Soma Valor_a + Valor_b + Valor_c Indica que o valor da expressão Valor_a + Valor_b + Valor_c deve ser armazenado na variável Soma Os operadores básicos utilizados em uma expressão podem ser classificados em: Aritméticos, Relacionais e Lógicos Os operadores aritméticos especificam operações

aritméticas, tal como em Valor_a + Valor_b Os operadores relacionais especificam uma relação, tal como Valor_a < 10 Operadores Aritméticos Operador Significado Exemplo Tipo dos operandos + Adição a + b Reais e/ou Inteiros - Subtraçào a - b Reais e/ou Inteiros * Multiplicação a * b Reais e/ou Inteiros / Divisão Real a / b Reais e/ou Inteiros DIV Divisão Inteira a DIV b Inteiros RESTO Resto da Divisão a RESTO b Inteiros Inteira ** Exponenciação a ** b Reais e/ou Inteiros Veja os exemplos de operações aritméticas no algoritmo a seguir: Algoritmo Exemplo a, b, d, Sobra : Inteiro; c, f : Real; a 22; /*Armazena o valor 22 na variável a*/ b 4; /*O comando a seguir faz a divisão real do conteúdo da variável a pelo conteúdo de b A variável c receberá o valor 55*/ c a / b; /*O comando a seguir faz a divisão inteira do conteúdo de a pelo conteúdo de b A variável d receberá o valor 5*/ d a DIV b; /*No próximo comando é calculado o resto da divisão inteira do conteúdo de uma variável a pelo conteúdo da variável b A variável Sobra receberá o valor 2*/ Sobra a RESTO b; F 20 ** b; /*Armazenará na variável f o valor 160*/ Operadores relacionais

Operador Significado Exemplo > Maior que Idade > 18 >= Maior ou igual que Num_Dep >= 2 < Menor que Nota < 60 <= Menor ou igual que X <= 25 = Igual que Nome = Antonio <> Diferente de Sexo <> F Constantes Em muitas situações, ao escrevermos um algoritmo, necessitamos trabalhar com valores que não se alterarão durante toda a execução do algoritmo A esses valores denominamos Constantes Constante é uma quantidade fixa, invariável, cujo valor é definido no início do algoritmo, não podendo ser alterado durante sua execução Exemplo: Algoritmo Exemplo_de_Constante Constantes Sal_minimo = 42000; Mensagem = Resultados ; Salario : Real; Quantidade : Inteiro; Leia Salario; Quantidade Salario DIV Sal_minimo; Escreva Mensagem; Escreva O funcionário tem salário de:, Salario; Escreva O qual equivale a, Quantidade; Escreva Valor do salário mínimo:, Sal_minimo; Estruturas de Seleção Comando Se Freqüentemente na construção de algoritmos vamos nos defrontar com problemas, onde é necessário selecionar uma, entre duas ou mais situações possíveis (Boratti & Oliveira,

2004) Suponha, por exemplo, um algoritmo em que se necessite mostrar o conteúdo de uma variável do tipo Inteiro, somente se seu conteúdo for maior que 10 Considerando uma variável de nome Nota, poderíamos escrever: Se Nota > 10 Então Escreva Nota; Suponha outro algoritmo que mostre, para dois valores inteiros, qual o maior deles: Algoritmo Mostra_maior Valor_a : Inteiro; Valor_b : Inteiro; Leia Valor_a; Leia Valor_b; Se Valor_a > Valor_b Então Escreva Maior valor:, Valor_a; Escreva Maior valor:, Valor_b; Sintaxes para o Comando Se: a) Comando Se sem a cláusula Se <expressão lógica> Então <comando1> <comando2> <comando3> <comandon> b) Comando Se com a cláusula Se <expressão lógica> Então <comando1> <comando2>

<comando_a> <comando_b> Dentro de um comando de seleção (Comando Se), podemos colocar qualquer tipo de comando Assim, dentro de um Se, pode-se ter outros comando de seleção Exemplo: Algoritmo Mostra_maior Valor_a : Inteiro; Valor_b : Inteiro; Leia Valor_a; Leia Valor_b; Se Valor_a > Valor_b Então Escreva Maior valor:, Valor_a; Se Valor_a < Valor_b Então Escreva Maior valor:, Valor_b; Escreva Os dois valores são iguais ; Comando Escolha O comando Escolha possibilita a escolha de uma alternativa entre as várias possíveis Algoritmo Conceito Nota : Inteiro; Conceito : Literal;

Leia Nota; Escolha Nota 049 : Conceito Insuficiente ; 5064 : Conceito Regular ; 6584 : Conceito Bom ; Conceito Ótimo ; Escolha A forma geral do Escolha pode ser colocada como: Escolha <expressão> Op1 : <Instruções relativas a Op1>; Op2 : <Instruções relativas a Op2>; Opn : <Instruções relativas a Opn>; <instruções> Escolha Estruturas de Repetição Existem situações em que, para se obter a solução do problema, é necessário fazer com que o conjunto de instruções seja executado vários vezes Comando Enquanto-Faça Uma das formas de fazermos com que um conjunto de instruções seja executado várias vezes é utilizando o comando Enquanto-Faça Sua forma geral pode ser escrita como segue

Enquanto <expressão lógica> Faça <conjunto de instruções> Enquanto Se quisermos um algoritmo que faça a análise de dez contas bancárias, podemos escrever a solução conforme a apresentada abaixo Algoritmo Banco Saldo :Real; Numero_conta: Inteiro; Contador : Inteiro; Contador 0; Enquanto Contador < 10 Faça Contador Contador + 1; Leia Numero_conta; Leia Saldo; Se Saldo < 0 Então Escreva Numero_conta, Conta estourada! ; Escreva Numero_conta, Conta normal! ; Enquanto Diagrama de Blocos Um bloco pode ser definido como um conjunto de comandos com uma função bem definida

f Se <expressão lógica> Então <comando1>; <comando2>; v C1 C2 Exemplo (Guimarães, et al, 1994): Algoritmo Exemplo A 1 A : Inteiro; B: Inteiro; B 2 A 1; B 2; A > B Se A > B Então v f A 5;

A 10; A 5 A 10 Referências bibliográficas Boratti, Isaias Camilo and Oliveira, Álvaro Borges 2004 Introdução à Programaçao - Algoritmos Florianópolis : Visual Books, 2004 Guimarães, Ângelo de Moura and Lages, Newton Alberto de Castilho 1994 Algoritmos e Estrutura de Dados Rio de Janeiro : LTC - Livros Técnicos e Científicos Editora, 1994 Vilarim, Gilvan 2004 Algoritmos Programação para Iniciantes Rio de Janeiro : Editora Ciência Moderna, 2004