Engenharia Elétrica - Computação

Tamanho: px
Começar a partir da página:

Download "Engenharia Elétrica - Computação"

Transcrição

1 Universidade de Mogi das Cruzes Engenharia Elétrica - Computação Profa. MSc. Viviane Guimarães Ribeiro Mogi das Cruzes, SP 2012

2 Sumário APRESENTAÇÃO DA DISCIPLINA... 4 OBJETIVO DA DISCIPLINA... 4 TÓPICOS DO SEMESTRE... 4 METODOLOGIA... 4 AVALIAÇÃO... 4 DATAS IMPORTANTES... 5 BIBLIOGRAFIA BÁSICA... 5 BIBLIOGRAFIA COMPLEMENTAR INTRODUÇÃO À LÓGICA ALGORITMOS Formas de representação de um algoritmo FLUXOGRAMA PSEUDOCÓDIGO LINGUAGEM C BREVE HISTÓRICO AMBIENTE DE DESENVOLVIMENTO TIPOS DE DADOS DECLARAÇÃO DE VARIÁVEIS OPERADORES Atribuição Aritméticos Incremento e Decremento Aritmético de Atribuição Relacionais Lógicos - && - E Lógicos - - OU Lógicos -! NÃO Condicional Ternário Tabela de Precedência ESTRUTURA SEQUENCIAL SAÍDA DE DADOS printf() puts() putchar() ENTRADA DE DADOS scanf() gets() getchar() getche() getch() ESTRUTURA DE DECISÃO IF() IF() ELSE ENCADEAMENTO DE IF() SWITCH() ESTRUTURA DE REPETIÇÃO FOR() WHILE() DO... WHILE() COMANDO BREAK

3 8.5. COMANDO CONTINUE APÊNDICE A BIBLIOTECAS APÊNDICE B - FUNÇÕES MATEMÁTICAS

4 Apresentação da Disciplina Nome da Disciplina: Computação Professora MSc. Viviane Guimarães Ribeiro Objetivo da Disciplina Capacitar os alunos fornecendo as habilidades, os conhecimentos e as competências em informática necessárias para que possa utilizar o computador como ferramenta na vida acadêmica e profissional. O aluno deverá adquirir conhecimento em conceitos básicos de programação estruturada utilizando a linguagem C. Tópicos do Semestre 1) Introdução à Lógica 2) Algoritmo e Programação Estruturada: Conceitos 3) Representação de Algoritmos a. Descrição Narrativa b. Fluxograma c. Pseudocódigo / Português Estruturado / Portugol 4) Estrutura Seqüencial 5) Estruturas de Decisão a. Simples b. Composta c. Decisão Encadeada d. Múltipla Escolha 6) Estrutura de Repetição a. Com Variável de Controle b. Com Teste no Início e no Fim 7) Linguagem C a. Conceitos b. Tipos de Dados, Variáveis, Operadores c. Comandos de Entrada e Saída d. Comando de Decisão if e. Comando de Decisão switch f. Comando de Repetição for g. Comando de Repetição while h. Comando de Repetição - do.. while Metodologia Aulas expositivas e práticas em laboratório. Avaliação M1 = P1 (70%) + AP (20%) + Listas (10%) ND = P2 (70%) + AP (20%) + Listas (10%) M2 = ND (70%) + PI (30%) Média Semestral = (M1 + M2 * 2) / 3 Onde: P1 e P2 são provas individuais agendadas. Profa. MSc. Viviane Guimarães Ribeiro 4

5 AP são as atividades práticas realizadas em sala (sem a necessidade de agendamento prévio) ou em casa. PI prova interdisciplinar agendada pela gestão do curso. Listas exercícios individuais realizados em casa entregues em datas préestabelecidas. Datas Importantes P1 10/04 P2 12/06 Recuperação 26/06 OBS1: Não será aplicada prova substitutiva. OBS2: A disciplina tem caráter acumulativo, portanto em todas as provas será cobrado todo o conteúdo estudado até o momento no semestre. Bibliografia Básica SALIBA, Walter Luiz Caram, Técnicas de Programação: Uma abordagem estruturada, Makron Books, São Paulo, GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho, Algoritmos e Estruturas de Dados, Livros Técnicos e Científicos, Rio de Janeiro, PEREIRA, Silvio do Lago, Algoritmos e Lógica de Programação em C: uma abordagem didática, Editora Érica, São Paulo, BOENTE, Alfredo, Aprendendo a programar em linguagem C do básico ao avançado, Brasport, Rio de Janeiro, SCHILDT, Herbert, C completo e total, Pearson Makron Books, São Paulo, 2004 Bibliografia Complementar FARRER, H. et all, Algoritmos Estruturados, Livros Técnicos e Científicos, Rio de Janeiro, MANZANO, José Augusto Navarro Garcia; OLIVEIRA, Jayr Figueiredo de, Algoritmos: Lógica para desenvolvimento de programação de computadores, Editora Érica, São Paulo, HICKSON, Rosângela, Aprenda a programar em C, C++ e C#, Editora Campus, Rio de Janeiro, SCHILDT, Herbert, Linguagem C: Guia do usuário, McGraw-Hill, São Paulo, PUGA, Sandra; RISSETTI, Gerson, Lógica de Programação e Estrutura de Dados, Pearson Prentice Hall, São Paulo, Profa. MSc. Viviane Guimarães Ribeiro 5

6 1. Introdução à Lógica A palavra lógica é originária do grego logos, que significa linguagem racional. De acordo com o dicionário Michaelis, lógica é a análise das formas e leis do pensamento, mas não se preocupa com a produção do pensamento, quer dizer, não se preocupa com o conteúdo do pensamento, mas sim com a forma deste, isto é, com a maneira pela qual um pensamento ou uma ideia são organizados e apresentados, possibilitando que cheguemos a uma conclusão por meio do encadeamento dos argumentos. Os argumentos podem ser dedutivos ou indutivos. Os argumentos indutivos são aqueles com que, a partir dos dados, se chega a uma resposta por meio da analogia, ou seja, pela comparação com algo conhecido, porém esse tipo de raciocínio não oferece certeza de que a resposta será de fato verdadeira. É necessário conhecer os fatos ou as situações para que se possa fazer a comparação. Por exemplo: ontem não havia nuvens no céu e não choveu. Hoje não há nuvens no céu, portanto não vai chover. Já os argumentos dedutivos são aqueles cuja conclusão é obtida como conseqüência das premissas, isto é, por meio da análise das situações ou fatos, pode-se obter a resposta. Trabalha-se com a forma das sentenças, sem que haja a necessidade do conhecimento prévio das situações ou fatos. Por exemplo: Joana é uma mulher. As mulheres são seres humanos. Logo, Joana é um ser humano. Desde os tempos primitivos o homem utiliza-se do raciocínio lógico para a realização de suas atividades. Isso é comprovado pelo fato de ele ter estabelecido sequências adequadas para a realização de suas tarefas com sucesso. Podemos citar alguns exemplos relacionados às suas atividades do dia a dia: Uma pessoa adulta, para tomar banho, primeiro tira a roupa para não molhá-la e também para estabelecer contato direto entre sua pele e a água. Uma criança, desde pequena, aprende que, para chupar uma bala, é preciso tirá-la da embalagem. A lógica é aplicada a diversas ciências. Na informática e na computação, aplica-se a todas as suas áreas, para a construção e funcionamento do hardware e do software. Por exemplo, na construção de um circuito integrado para o teclado, trabalha-se com o conceito de portas lógicas para a verificação da passagem ou não de pulsos elétricos, a fim de que seja estabelecida uma comunicação entre os componentes. Já na construção de software, é por meio do raciocínio lógico que o homem constrói algoritmos que podem ser transformados em programas de computador capazes de solucionar problemas cada vez mais complexos. Como foi visto anteriormente, a lógica preocupa-se com a forma da construção de pensamento. Isto permite que se trabalhe com variáveis para que se possa aplicar o mesmo raciocínio a diferentes problemas. Por exemplo: João é cientista. Todo cientista é estudioso. Logo, João é estudioso. Substituindo as palavras João e estudioso por A e B: A é cientista. Todo cientista é B. Logo, A é B. O raciocínio lógico nos conduz a uma resposta que pode ser verdadeiro ou falso. Na construção de algoritmos para a solução de problemas computacionais, trabalha-se com esse tipo de raciocínio. As informações a serem analisadas são representadas por variáveis que posteriormente receberão valores. As variáveis, por sua vez, representarão as premissas. Por exemplo: Dados dois valores quaisquer, deseja-se saber qual é o maior. Os dois valores são representados pelas variáveis A e B. Analisa-se o problema a fim de averiguar qual é a melhor maneira de descobrir a solução, então se monta a sequência para Profa. MSc. Viviane Guimarães Ribeiro 6

7 que seja verificada a questão. Para descobrir a solução, pode-se partir de problemas similares já resolvidos e, por analogia, aplicar o mesmo método ao problema atual, ou podem-se estudar formas de resolvê-lo buscando dados com especialistas no assunto em questão. Neste caso, vamos substituir as variáveis por valores conhecidos, apenas como modelo para facilitar o entendimento do raciocínio aplicado: A será substituída por 7 e B, por 19. Para que seja verificado o maior valor, deve-se fazer uma comparação, por exemplo: 7 é maior que 19? Logo tem-se a resposta falso. Então, pode-se concluir que 19 é o maior número entre os dois. Quando os valores são desconhecidos, na representação para a solução do problema, trabalha-se apenas com as variáveis: A é maior que B? Se a resposta é verdadeiro, A é o maior valor. Se a resposta é falso, B é o maior valor. Exercícios 1. Dadas as premissas a seguir, verifique quais são as sentenças que representam a conclusão correta: I- Cavalos são animais. Animais possuem patas, Logo: a. Cavalos possuem patas. b. Todos os animais são cavalos. c. Os cavalos possuem quatro patas. II- Retângulos são figuras que têm ângulos. Temos uma figura sem nenhum ângulo. Logo: a. Essa figura pode ser um circulo. b. Não é possível tirar conclusões. c. Essa figura não é um retângulo. III- Se o verde é forte, o vermelho é suave. Se o amarelo é suave, o azul é médio. Mas ou o verde é forte ou o amarelo é suave. Forte, suave e médio são as únicas tonalidades possíveis. Logo: a. O azul é médio. b. Ou o vermelho é suave ou o azul é médio. c. O amarelo e o vermelho são suaves. 2. Analise e descreva uma maneira de mover os discos do pino A para o pino C, usando o pino B como espaço auxiliar, de modo que: a. apenas um disco seja movido de cada vez; b. nenhum disco seja posicionado sobre outro disco de diâmetro menor; c. os discos sejam imediatamente transferidos de um pino para o outro. Profa. MSc. Viviane Guimarães Ribeiro 7

8 2. Algoritmos Um algoritmo é uma sequência lógica de instruções que devem ser seguidas para a resolução de um problema ou para a execução de uma tarefa. Os algoritmos são amplamente utilizados nas disciplinas ligadas à área de ciências exatas. No dia a dia, as pessoas utilizam-se de algoritmos de maneira intuitiva, sem que haja a necessidade de planejar previamente a sequência de passos para a resolução das tarefas quotidianas. Dentre os inúmeros exemplos existentes, podemos citar: 1. Quando uma pessoa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que casa instrução é um passo a ser seguido para que o prato fique pronto com sucesso: Bata 4 claras em neve; Adicione 2 xícaras de açúcar; Adicione 2 xícaras de farinha de trigo, 4 gemas, 1 colher de fermento e 2 colheres de chocolate; Bata por 3 minutos; Unte uma assadeira com margarina e farinha de trigo; Coloque o bolo para assar durante 20 minutos em temperatura média. 2. Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar esta tarefa: Verifica qual pneu está furado; Posiciona o macaco para levantar o carro; Pega o estepe; Solta os parafusos; Substitui o pneu furado; Recoloca os parafusos; Desce o carro; Guarda o pneu furado e as ferramentas utilizadas. Porém, no contexto da ciência da computação, estamos interessados em definir algoritmos que serão executados por computadores e não por pessoas. Assim, ao definir um algoritmo computacional, precisamos nos restringir a um conjunto bastante limitado de passos (ou operações) que um computador é capaz de executar. Além disso, precisamos de uma notação que permita descrever precisamente estes passos, sem nenhuma ambiguidade. Ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: entrada de dados, processamento e saída de dados. Entrada Processamento Saída Imagine o seguinte problema: Calcular a média final de um aluno. Pelas provas os alunos receberão 2 notas: N1, N2. Onde: Média Final = (nota1 + nota2 * 2 )/3 a) Quais são os dados de entrada? R: Os dados de entrada são nota1 e nota2. b) Qual será o processamento a ser utilizado? R: O procedimento será multiplicar a nota2 por dois, somar o resultado com o valor da nota1 e dividir o resultado da soma por 3. Profa. MSc. Viviane Guimarães Ribeiro 8

9 c) Quais serão os dados de saída? R: O dado de saída será a média final 2.1. Formas de representação de um algoritmo Um algoritmo pode ser representado das seguintes maneiras: Descrição Narrativa: utiliza linguagem natural para especificar os passos para a realização das tarefas. Isso dá margens a más interpretações e ambigüidades. Não é muito utilizada. Fluxograma: é uma forma universal de representação, pois utiliza de formas geométricas para ilustrar os passos a serem seguidos para a resolução dos problemas. Bastante utilizado, é também chamados por alguns autores de diagrama de blocos. Diagrama de Chapin (Diagrama Nassi-Shneiderman/Diagrama N-S): apresenta a solução do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada. Esse tipo de diagrama não é muito utilizado, pois é muito difícil representar recursividade, entre outros procedimentos. Pseudocódigo (Portugol/Português Estruturado): utiliza linguagem estruturada. É bastante utilizado para representação da resolução de problemas computacionais. Profa. MSc. Viviane Guimarães Ribeiro 9

10 3. Fluxograma É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos e justifica sua popularidade. A seguir são apresentados os principais símbolos e suas descrições. É importante lembrar que existem pequenas diferenças entre as simbologias utilizadas pelos diferentes autores. Início/Fim Entrada de dados ou Saída de dados ou Atribuição Profa. MSc. Viviane Guimarães Ribeiro 10

11 Se Escolha Decisão Profa. MSc. Viviane Guimarães Ribeiro 11

12 Para Enquanto Repetição Repita Em um fluxograma, os passos de um algoritmo são representados por símbolos e a ordem de execução desses passos é representada por setas conectando os símbolos. Cada símbolo pode conter uma anotação indicando sua finalidade específica. Profa. MSc. Viviane Guimarães Ribeiro 12

13 Exemplo 1: Note que todo dado manipulado pelo computador deve estar armazenado em alguma posição de sua memória. Uma posição de memória contendo um dado que pode ser alterado pelo algoritmo é denominada variável. Basicamente uma variável possui três atributos: um nome, um tipo de dado associado à mesma e a informação por ela guardada. Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes de variáveis. Adotaremos as seguintes regras: Um nome de variável deve necessariamente começar com uma letra; Um nome de variável não deve conter nenhum símbolo especial, exceto a sublinha ( _ ). Obviamente é interessante adotar nomes de variáveis relacionados às funções que serão exercidas pelas mesmas dentro de um programa. Outro atributo característico de uma variável é o tipo de dado que ela pode armazenar. Este atributo define a natureza das informações contidas na variável. Por último, há o atributo informação, que nada mais é do que a informação útil contida na variável. Uma vez definidos, os atributos nome e tipo de dados de uma variável não podem ser alterados e assim permanecem durante toda a sua existência, desde que o programa que a utiliza não seja modificado. Por outro lado, o atributo informação está constantemente sujeito a mudanças, de acordo com o fluxo de execução do programa. Por exemplo, se definirmos que uma determinada variável é chamada salário e é destinada a guardar números reais, é possível que seu conteúdo seja, num dado instante, igual a 1.500,00 e posteriormente modificado para 3.485,21, de acordo com o programa executado. Profa. MSc. Viviane Guimarães Ribeiro 13

14 Em resumo, o conceito de variável foi criado para facilitar a vida dos programadores, permitindo acessar informações na memória dos computadores por meio de um nome, em vez do endereço de uma célula de memória. Exercícios 1. Explique o que é uma variável e escreva a regra para criação de nome de variáveis em algoritmos. 2. Dados os identificadores (nomes das variáveis) abaixo, sublinhe apenas aqueles nomes que são aceitos em Algoritmos. VALOR SALARIO-LIQUIDO X X2 A1B2C3 1ºnome 1 3 x 4 Maria Km/h preço Nota Média XYZ SalarioLiquido preco Nota-do-aluno NoTa Algoritmo profissao 3. Escreva um algoritmo em Fluxograma para cada situação abaixo: a) Carlos precisa calcular a área de uma sala. Sabe-se que a sala é retangular. b) O professor de matemática precisa calcular a média de um aluno. Para tanto ele precisa levar em consideração 4 notas do aluno. c) Ler um número inteiro e imprimir seu sucessor e seu antecessor. d) Ler o saldo de uma aplicação e imprimir o novo saldo, considerando um reajuste de 1%. e) Ler duas variáveis inteiras e trocar o conteúdo entre elas apresentando o nome de cada variável com seu respectivo valor ao usuário. f) O preço de um produto ao consumidor é a soma do preço de custo e da porcentagem do imposto. Faça um algoritmo que leia o nome do produto, o custo de fábrica e a porcentagem do imposto. Exiba o nome do produto e o preço final ao consumidor. Profa. MSc. Viviane Guimarães Ribeiro 14

15 4. Pseudocódigo O pseudocódigo é um tipo de algoritmo que utiliza uma linguagem flexível, intermediária entre a linguagem natural e a linguagem de programação. Aqui, cada símbolo utilizado no fluxograma possui uma palavra chave equivalente, o que torna o fluxograma livre de ambiguidades. Esta forma de representação de algoritmos é mais rica em detalhes, como a definição dos tipos das variáveis usadas. Na verdade, esta representação é suficiente para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. Forma geral: Algoritmo <nome do algoritmo>; <declaração de variáveis>; <subalgoritmos> Início <corpo do algoritmo>; Fim Exemplo 1: Algoritmo Media; Var nota1, nota2, mf: real; Inicio Escreva ( Entre com a primeira nota: ); Leia (nota1); Escreva ( Entre com a segunda nota: ); Leia (nota2); mf (nota1 + nota2 * 2) / 3; Escreva ( Média final:, mf); Fim Identificação do algoritmo Declaração de variáveis Corpo do algoritmo Para definir o nome de um algoritmo, deve-se seguir a mesma regra para criação de nomes de variáveis, ou seja, o nome do algoritmo deve iniciar com uma letra e não conter caracteres especiais. Todas as variáveis utilizadas no algoritmo devem ser declaradas. É neste momento que definimos o nome da variável e o tipo de dado que será armazenado na mesma. Na confecção de algoritmos, utilizamos os tipos de dados primitivos (literal, lógico, inteiro e real), uma vez que os algoritmos apenas representam a solução dos problemas. Já na confecção de programas existem desdobramentos para esses tipos de dados a fim de adequá-los melhor ao propósito de cada linguagem e à resolução prática dos problemas. Veja na tabela a seguir os tipos de dados primitivos utilizados em algoritmos. Tipo de Dados Definição Capacidade de armazenamento inteiro Representa números inteiros 2 bytes = 2 8 x 2 8 = (sem casas decimais) positivos possibilidades ( à ). ou negativos. real literal Representa números reais (com casas decimais) positivos ou negativos. Poderá receber letras, números e símbolos. OBS: Os números armazenados 4 bytes = 2 8 x 2 8 x 2 8 x 2 8 = possibilidades (-3,4E-38 à +3,4E+38). 1 byte para cada caracter necessário. Profa. MSc. Viviane Guimarães Ribeiro 15

16 lógico em uma variável cujo tipo de dado é literal não podem ser utilizados para cálculo. Poderá ser verdadeiro (1) ou falso (0) 1 byte O corpo do algoritmo é a área reservada para a resolução do problema. Nesta parte, devem-se escrever todos os passos lógicos necessários para solucionar o problema, tais como: representar a entrada de valores para as variáveis; representar as operações de atribuição, lógicas e aritméticas; representar a abertura e fechamento de arquivos; representar os laços de repetição; representar a exibição dos resultados; representar as estruturas de decisão; entre outros. Início/Fim Início Fim Entrada de dados Leia (<variável>); Saída de dados Escreva (<valor a ser impresso>); Atribuição <variável> <valor>; Se Se (<condição>) Então <Comando 1>; Senão <Comando 2>; Fim_Se Escolha Decisão Escolha (<variável>) Caso <valor_1>: <Comando 1>; Caso <valor_2>: <Comando 2>;... Caso <valor_n>: <Comando n>; Senão <Comando n + 1>; Fim_Escolha Profa. MSc. Viviane Guimarães Ribeiro 16

17 Para Para <var> de <início> até <fim> incr de <inc> faça <comando>; Fim_Para Enquanto Repetição Enquanto (<condição>) faça <comando>; Fim_Enquanto Repita Repita <comando>; até que (<condição>); Exercícios 1. Classifique os dados especificados abaixo de acordo com seu tipo (inteiro, real, literal ou lógico) abc.v..f..f Preencha a Declaração de variáveis com o tipo de dados, levando em consideração os dados armazenados em cada uma das variáveis da tabela abaixo: Identificadores num1 num2 sexo letra Profissao nome media peso Conteúdo F.V. Médico Fernanda (Dados) Var num1, num2: ; sexo: ; letra: ; Profissao,nome: ; media, peso: ; 3. Escreva um algoritmo em Pseudocódigo para cada situação abaixo: a. O professor de matemática precisa calcular a média de um aluno. Para tanto ele precisa levar em consideração 4 notas do aluno. b. Ler um número inteiro e imprimir seu sucessor e seu antecessor. c. Ler duas variáveis inteiras e trocar o conteúdo entre elas apresentando o nome de cada variável com seu respectivo valor ao usuário. Profa. MSc. Viviane Guimarães Ribeiro 17

18 d. O preço de um produto ao consumidor é a soma do preço de custo e da porcentagem do imposto. Faça um algoritmo que leia o nome do produto, o custo de fábrica e a porcentagem do imposto. Exiba o nome do produto e o preço final ao consumidor. e. Dados o tamanho de um arquivo (em bits), bem como a velocidade da conexão (em bits por segundo), informe o tempo necessário para o download do arquivo. f. Dados um capital C, uma taxa de juros mensal fixa J e um período de aplicação em meses M, informe o montante F no final do período (F = C * (1 + J/100) M ). Profa. MSc. Viviane Guimarães Ribeiro 18

19 5. Linguagem C Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalha passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa nada mais é que um algoritmo escrito numa forma compreensível pelo computador. Um programa pode ser escrito em diversas linguagens de programação, como por exemplo: Pascal, Fortran, COBOL, Clipper, Basic, C, etc. Durante este semestre iremos estudar a linguagem C Breve Histórico C é uma linguagem de programação cujas instruções consistem de termos semelhantes a expressões algébricas, acrescidas de certas palavras chave em inglês. C foi desenvolvida a partir de duas linguagens anteriores, a BCPL e B, criadas no final da década de 60. Ambas as linguagens eram definidas sem tipo, ou seja, qualquer dado ocupava um mesmo espaço na memória. A linguagem C foi criada por Dennis Ritchie e Ken Thompson, em 1972, no centro de pesquisa da Bell Laboratories. Sua primeira utilização importante foi a reescrita do sistema Unix. Em meados da década de 70, o Unix foi liberado para utilização nas universidades, dando o impulso para o sucesso da linguagem. ANSI C (American National Standards Institute) é a versão da linguagem C padronizada em 1989 nos EUA como também no mundo através da International Standards Organization ISO. C++ é uma linguagem derivada da linguagem C. O conjunto de instruções que fazem parte da linguagem C também é parte de C++. Os elementos principais que foram adicionados à linguagem C para dar origem a C++ consistem na ideia de programação orientada ao objetos. Qualquer programa em C compilado no padrão ANSI também pode ser compilado em C++, ou seja, C e C++ são compatíveis Ambiente de Desenvolvimento Um compilador, também chamado de ambiente de desenvolvimento, é um programa que interpreta os comandos escritos em uma linguagem de programação e os converte em uma forma que o computador seja capas de executar. Em geral, há vários compiladores diferentes para uma mesma linguagem de programação. Como exemplo de compiladores para a linguagem C, podemos citar o Turbo C (proprietário), o DEV C (gratuito) e o Pelles C (gratuito). No decorrer deste semestre, utilizaremos o ambiente de desenvolvimento Pelles C Criação de programas utilizando o Pelles C Para utilizar um programa usando o compilador Pelles C for Windows, você deve proceder da seguinte forma: 1º passo: inicie a execução do programa Pelles C; 2º passo: no menu desse programa, selecione a opção File New Project. 3º passo: na janela New Projects, selecione Win32 Console program (EXE), digite o nome de projeto e clique no botão OK. 4º passo: no menu, selecione a opção File New Source code. 5º passo: digite o programa em linguagem C. 6º passo: no menu, selecione a opção File Save as, digite o nome do programa (que pode ser o mesmo dado ao projeto) e clique no botão Salvar. 1 O compilador Pelles C for Windows pode ser obtido gratuitamente em Profa. MSc. Viviane Guimarães Ribeiro 19

20 7º passo: clique no botão Sim, da caixa que apresenta a pergunta Do you want to add the file... to the current Project?. 8º passo: no menu, clique no botão Execute ( ) Tipos de dados Tipo de Dado Quantidade de Byte Descrição char 1 Armazena caracteres alfanuméricos int 2 É utilizado para armazenar números inteiros negativos e positivos float 4 Armazena números com casas decimais (números reais) double 8 Armazena números com casas decimais (números reais) void 1 É utilizado como retorno de funções e tipo de ponteiros bool 1 Valor booleano. Pode assumir um dos dois valores: true ou false NOTA: esse é um tipo que foi adicionado recentemente pelo padrão ANSI-C++. Nem todos os compiladores suportam-no. Faixa de Equivalente em Abrangência Algoritmo -127 a 127 literal a inteiro Seis dígitos de real precisão Dez dígitos de real precisão - - true ou false lógico Profa. MSc. Viviane Guimarães Ribeiro 20

21 5.4. Declaração de Variáveis Um programa em linguagem C não funciona se você não declarar suas variáveis. As variáveis são declaradas em qualquer lugar do programa, desde que antes de serem utilizadas. Uma declaração de variável consiste no nome de um tipo seguido do nome da variável (identificador), seguido de ponto-e-vírgula. Por exemplo: int contador; float acumulador; Inicializar uma variável significa atribuir um valor a ela na mesma instrução de sua declaração. Utiliza-se o operador de atribuição (=) para a definição do valor inicial. Exemplo: int contador = 0; float tempo = 30.00; Você pode usar quantos caracteres quiser para um nome de variável, sendo o primeiro caractere obrigatoriamente uma letra ou o sublinhado. Somente os 32 primeiros caracteres de um nome de variável são significativos e não é permitido o uso de uma palavra-chave da linguagem. Em C, letras maiúsculas e minúsculas são diferentes. Exemplo de um programa com definição de variáveis: #include <stdio.h> main() float j = ; printf ("Variavel float = %f \n",j); int i = j; printf ("Variavel int = %d \n",i); 5.5. Operadores Um operador é um símbolo usado para criar expressões, a partir de constantes e variáveis Atribuição É o sinal de igual (=). Atribui a expressão da direita à variável à sua esquerda. Em C podem ocorrer atribuições múltiplas. Operação Algoritmo Linguagem C Atribuição = Ex.: y = 3; y = x = 3; y = ( x = 3 ); Aritméticos Existem operadores denominados binários (trabalham com dois operandos) e unários (funcionam com um operando). Profa. MSc. Viviane Guimarães Ribeiro 21

22 Operadores aritméticos binários Operação Algoritmo Linguagem C Soma + + Subtração - - Multiplicação * * Divisão inteira div / Divisão real / / Resto da divisão inteira mod % Operadores aritméticos unários Operação Algoritmo Linguagem C Menos unitário (mult. o valor - - ou variável por -1) Incremento e Decremento Incrementam (++) ou decrementam ( ) a variável operando de 1. Podem ser prefixado ou pós- fixado. Ex.: x = x + 1; ++ x; ou x++; adiciona 1 a x Aritmético de Atribuição regra: Combinam operações aritméticas com atribuições. Compactam as operações. Segue a Ex.: Relacionais variável operação= expressão i += 2; equivale a i = i + 2 x *= y + 1; equivale a x = x * (y + 1) t /= 2.5; equivale a t = t/2.5 p %= 5; equivale a p = p % 5 Operação Algoritmo Linguagem C Maior > > Maior ou igual >= >= Menor < < Menor ou igual <= <= Igual = == Diferente <>!= Os operadores relacionais têm precedência menor que os aritméticos Lógicos - && - E Resulta 1 (V) somente se as duas expressões forem verdadeiras. A B Algoritmo Linguagem C A e B A&&B Profa. MSc. Viviane Guimarães Ribeiro 22

23 Lógicos - - OU Resulta 0 (F) somente se as duas expressões forem falsas. A B Algoritmo Linguagem C A ou B A B Lógicos -! NÃO Resulta 1 (V) somente se a expressão for falsa. A B Algoritmo Linguagem C não A não B!A!B Condicional Ternário É o único que opera sobre três expressões. exp1? exp2 : exp3; A exp1 é avaliada primeiro. Se for verdadeira, exp2 é avaliada e seu resultado é o valor da expressão como um todo. Se exp1 for zero (falso), exp3 é avaliada e será o valor da expressão condicional. Ex: max = (a > b)?a : b; a max. Neste exemplo a variável que contém o maior valor numérico entre a e b será atribuída Tabela de Precedência O nível de precedência dos operadores é avaliado da esquerda para a direita. Os parênteses podem ser utilizados para alterar essa ordem, sendo indicado seu uso a fim de tornar o programa (a expressão) mais legível. A tabela abaixo mostra a precedência dos operadores vistos até agora. Maior ()!, ++, --, -(unário) *, /, % +, - ==,!= &&?: Menor +=, -=, *=, /= Profa. MSc. Viviane Guimarães Ribeiro 23

24 6. Estrutura Sequencial As operações de entrada e saída de dados permitem a interação de um programa e/ou algoritmo com o usuário, seja permitindo que o mesmo digite valores (entrada de dados) ou exibindo informações (saída de dados). Estas operações são representadas tanto em algoritmos (fluxograma e pseudocódigo) quanto em linguagem C Saída de Dados Esta operação permite que o programa exiba mensagens ou valores de variáveis, através do monitor. Fluxograma Pseudocódigo Escreva ( Boa noite ); Escreva (x); Escreva ( Soma:, s); Em linguagem C, existem 3 funções (comandos) diferentes que permitem a saída de dados: printf(), puts() e putchar() printf() O printf() é uma função utilizada para saída de informações. É a função mais genérica de saída de dados, pois pode ser usado em qualquer situação. A função printf() requer a utilização dos códigos de formatação de tipos de variáveis. Código printf() Formato %c Apenas um caracter. %d Decimal inteiro. %e Notação científica. %f Ponto flutuante float ou double. %g %e ou %f (o mais curto). %o Octal. %s Cadeia de caracteres String. %u Decimal sem sinal. %x Hexadecimal. Além dos códigos de formatação a função printf() permite a utilização de códigos especiais para a exibição de caracteres específicos. Profa. MSc. Viviane Guimarães Ribeiro 24

25 Códigos especiais Significado \n Nova linha. \t Tab. \b Retrocesso. \ Aspas. \\ Barra invertida. \f Salta página de formulário. \0 Nulo. \x Mostra caracter hexadecimal. \a Produz o som de um beep. Exemplo 1: Fluxograma Algoritmo Algoritmo Exemplo1; Var x: inteiro; Inicio x 2; Escreva ( Tenho,x, irmãos. ); Fim Linguagem C #include <stdio.h> main() int x = 2; printf("tenho %d irmaos\n", x); Profa. MSc. Viviane Guimarães Ribeiro 25

26 Exemplo 2: Fluxograma Algoritmo Algoritmo Exemplo2; Inicio Escreva ( Juan tem 25 anos de idade. ); Fim Linguagem C #include <stdio.h> main() printf("%s tem %d anos de idade\n", "Juan",25); Exemplo 3: Fluxograma Algoritmo Algoritmo Exemplo3; Inicio Escreva ( A letra j ); Escreva ( pronuncia-se jota ); Fim Linguagem C #include <stdio.h> main() printf("a letra %c", 'j'); printf(" pronuncia-se %s\n", "jota"); puts() Representa a saída de uma única literal por vez, seguida do caracter de nova linha, ou seja, a função muda de linha automaticamente sem que haja a necessidade do pressionamento da tecla de entrada de dados, ENTER. Profa. MSc. Viviane Guimarães Ribeiro 26

27 Exemplo 4: Fluxograma Algoritmo Algoritmo Exemplo4; Inicio Escreva ( Gabriel ); Fim Linguagem C #include <stdio.h> main() puts("gabriel"); Exemplo 5: Fluxograma Algoritmo Algoritmo Exemplo5; Inicio Escreva ( Digite seu nome ); Fim Linguagem C #include <stdio.h> main() puts("digite seu nome"); putchar() Representa a saída de apenas um caracter na tela do computador e não acrescenta uma nova linha automaticamente. As duas instruções seguintes são equivalentes. putchar( w ); printf( %c, w ); Profa. MSc. Viviane Guimarães Ribeiro 27

28 Exemplo6: Fluxograma Algoritmo Algoritmo Exemplo6; Inicio Escreva ( A primeira letra ); Escreva ( do alfabeto é... ); Escreva ( a ); Fim Linguagem C #include <stdio.h> #include <conio.h> main() _clrscr(); printf("a primeira letra \n"); puts("do alfabeto eh..."); _gotoxy(5,4); putchar('a'); Neste exemplo foi utilizada a biblioteca <conio.h> que permite ao programador usar a função clrscr() para limpar a tela do computador e a função gotoxy(col,lin) para posicionar o cursor em um ponto de coluna e linha na tela do computador. Note que, segundo a convenção adotada pelo compilador Pelles C, todas as funções que não são padrão em C têm seus nomes iniciados com um caracter de sublinha ( _ ). Profa. MSc. Viviane Guimarães Ribeiro 28

29 6.2. Entrada de Dados Esta operação permite que o usuário forneça dados ao programa, através de sua interação com o teclado. Fluxograma Pseudocódigo Leia (x); Leia (n1, n2); Leia (nome); Em linguagem C, existem 5 funções (comandos) diferentes que permitem a entrada de dados: scanf(), gets(), getchar(), getche() e getch() scanf() É utilizada para permitir ao usuário realizar uma entrada de dados, geralmente através do teclado. Assim como a função printf() requer a utilização dos códigos de formatação de tipos de variáveis. Código printf() Formato %c Apenas um caracter. %d Decimal inteiro. %e Notação científica. %f Ponto flutuante float ou double. %g %e ou %f (o mais curto). %o Octal. %s Cadeia de caracteres. %u Decimal sem sinal. %x Hexadecimal. Profa. MSc. Viviane Guimarães Ribeiro 29

30 Exemplo: Fluxograma Algoritmo Algoritmo Soma; Var a, b, soma: inteiro; Inicio Escreva ( Entre com dois números: ); Leia (a,b); soma a + b; Escreva ( Soma=, soma); Fim Linguagem C #include <stdio.h> main() int a, b, soma; puts ("Entre com dois números:"); scanf("%d %d", &a, &b); soma = a+b; printf("soma= %d \n", soma); Na função scanf() utiliza-se o & antes de cada variável para indicar o endereço de memória no qual o conteúdo da variável estará armazenado. Este é de uso obrigatório quando tratamos variáveis do tipo numérico (inteira ou real). Profa. MSc. Viviane Guimarães Ribeiro 30

31 gets() Essa função processa tudo que foi digitado até que a tecla ENTER seja pressionada. O caracter ENTER não é acrescentado à literal, mas sim identificada como término da mesa. Exemplo: Fluxograma Algoritmo Algoritmo Nome; Var nome: literal[35]; Inicio Escreva ( Digite seu nome: ); Leia (nome); Escreva ( Como vai, nome); Fim Linguagem C #include <stdio.h> #include <conio.h> main() char nome[35]; printf("digite seu nome:"); gets(nome); _clrscr(); printf("como vai %s\n",nome); Profa. MSc. Viviane Guimarães Ribeiro 31

32 getchar() Essa função é utilizada quando queremos efetuar a entrada de apenas um caracter, não dispensando a necessidade de se pressionar a tecla ENTER para finalizar. Exemplo: Fluxograma Algoritmo Algoritmo Tecla1; Var ch: literal[1]; Inicio Escreva ( Digite uma tecla: ); Leia (ch); Escreva ( A tecla que você pressionou foi, ch); Fim Linguagem C #include <stdio.h> main() char ch; printf("digite uma tecla:"); ch = getchar(); printf("\n A tecla que voce pressionou foi %c \n",ch); Profa. MSc. Viviane Guimarães Ribeiro 32

33 getche() Essa função edita um caracter do teclado e permite que ele seja mostrado na tela do computador. É dispensável o pressionamento da tecla ENTER por parte do usuário. Isso já ocorre de forma automática. Exemplo: Fluxograma Algoritmo Algoritmo Tecla1; Var ch: literal[1]; Inicio Escreva ( Digite uma tecla: ); Leia (ch); Escreva ( A tecla que você pressionou foi, ch); Fim Linguagem C #include <stdio.h> #include <conio.h> main() char ch; printf("digite uma tecla:"); ch = _getche(); _clrscr(); printf("\n A tecla que voce pressionou foi %c \n",ch); Profa. MSc. Viviane Guimarães Ribeiro 33

34 getch() Essa função permite que o usuário forneça um caracter através do teclado. Este caracter não será mostrado na tela do computador. Também é dispensável o pressionamento da tecla ENTER. Esta função também atende à necessidade como recurso de parada temporária da execução do programa. Exemplo: Fluxograma Algoritmo Algoritmo Tecla1; Var ch: literal[1]; Inicio Escreva ( Digite uma tecla: ); Leia (ch); Escreva ( A tecla que você pressionou foi, ch); Escreva ( A função getch() causou uma pausa no programa. ); Fim Linguagem C #include <stdio.h> #include <conio.h> main() char ch; printf("digite uma tecla:"); ch = _getch(); printf("\n A tecla que voce pressionou foi %c ",ch); _getch(); printf("\n A funcao getch() causou um pausa no programa.\n"); Profa. MSc. Viviane Guimarães Ribeiro 34

35 Exercícios 1. Observe o fluxograma abaixo e escreve o pseudocódigo equivalente. 2. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C para calcular o valor de y como função de x, segundo a função y(x)=3x+2, em um domínio real. 3. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que calcule e exiba o consumo médio de um automóvel (medido em km/l), dado que são conhecidos a distância total percorrida e o volume de combustível consumido para percorrê-la (medido em litros). 4. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C para calcular e exibir o quadrado de um número inteiro. 5. Considerando o programa abaixo execute a simulação (teste de mesa), preenchendo a tabela conforme os valores de entrada lançados em cada linha. #include <stdio.h> main() float X, Y, F; printf ("Entre com o valor de x: "); scanf ("%f", &X); printf ("Entre com o valor de y: "); scanf ("%f", &Y); F = (2 * X) + 3 * (Y * Y); printf ("Funcao = %.2f\n", F); X Y F Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que leia o saldo de uma aplicação e imprimir o novo saldo, considerando um reajuste de 15%. 7. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que receba o salário de um funcionário e o percentual de aumento, calcule e mostre o valor do aumento e o novo salário. Profa. MSc. Viviane Guimarães Ribeiro 35

36 8. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que calcule e mostre a área de um circulo. Sabe-se que: A = π * R Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: - A idade desta pessoa hoje; - A idade desta pessoa em Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que converta segundos em minutos e segundos. Por exemplo, 252 segundos equivalem a 4 minutos e 12 segundos. 11. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C para que, dados dois lados de um triângulo retângulo calcule e exiba a respectiva hipotenusa 12. Faça um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que receba o número de horas trabalhadas e o valor do salário mínimo. Calcule e mostre o salário a receber seguindo as regras abaixo: d. o valor da hora trabalhada vale a metade do salário mínimo; e. o salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada; f. o imposto equivale a 3% do salário bruto; g. o salário a receber equivale ao salário bruto menos o imposto. 13. Dado o Fluxograma abaixo, indique o programa em linguagem C correto. A) ( ) #include<stdio.h> main() float a,b; printf( Digite um número: ); scanf( %f, &a); a = a % 100; printf( %f,b); B) ( ) #include<stdio.h> main() int a,b; printf( Digite um número: ); scanf( %d, a); a = a % 100; printf( %d,b); C) ( ) #include<stdio.h> main() int a,b; printf( Digite um número: ); scanf( %d, &a); b = a % 100; printf( %d,b); Profa. MSc. Viviane Guimarães Ribeiro 36

37 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação das estruturas de decisão é feita de acordo com o número de condições que devem ser testadas para que se decida qual o caminho a ser seguido. Têm-se 2 tipos de estrutura de decisão: Se; Escolha. Em linguagem C, o equivalente ao Se é a função if() e o equivalente ao Escolha é a função switch() if() Nesta estrutura uma única condição (expressão lógica) é avaliada. Se o resultado desta avaliação for verdadeiro (.V.), então um determinado conjunto de instruções (comandos compostos) é executado. Caso contrário, ou seja, quando o resultado da avaliação for falso (.F.), nada é executado e o fluxo de execução segue para o primeiro comando após o fim da estrutura. Fluxograma Pseudocódigo Linguagem C Se (condição) Então Comando 1; Fim_Se if (condição) Comando 1; Profa. MSc. Viviane Guimarães Ribeiro 37

38 Exemplo 1: Fluxograma Algoritmo Algoritmo Exemplo1; Var a: inteiro; Inicio Escreva ( Entre com o valor de A: ); Leia (a); Se (a<0) então Escreva ( O valor de A é menor que zero ); Fim_Se Fim Linguagem C #include <stdio.h> main() int a; printf("entre com o valor de A: "); scanf("%d",&a); if (a<0) printf("o valor de A eh menor que zero. \n"); 7.2. if() else Nesta estrutura uma única condição (expressão lógica) é avaliada. Se o resultado desta avaliação for verdadeiro (.V.), então um determinado conjunto de instruções (comandos compostos) é executado. Caso contrário, ou seja, quando o resultado da avaliação for falso (.F.), um comando diferente é executado. Após a execução de uma das partes (verdadeira ou falsa) o fluxo de execução segue para o primeiro comando após o fim da estrutura. Profa. MSc. Viviane Guimarães Ribeiro 38

39 Fluxograma Pseudocódigo Linguagem C Se (condição) Então Comando 1; Senão Comando 2; Fim_Se if (condição) Comando 1; else Comando 2; Profa. MSc. Viviane Guimarães Ribeiro 39

40 Exemplo 2: Fluxograma Algoritmo Algoritmo Exemplo2; Var salario: real; Inicio Escreva ( Entre com o salario: ); Leia (salario); Se (salário>50000) então Escreva ( Você ganha bem ); senão Escreva ( Você precisa ganhar mais ); Fim_Se Fim Linguagem C #include <stdio.h> main() float salario; printf("entre com seu salario: "); scanf("%f",&salario); if(salario>50000) printf("voce ganha bem.\n"); else printf("voce precisa ganhar mais.\n"); Profa. MSc. Viviane Guimarães Ribeiro 40

41 7.3. Encadeamento de if() Trata-se de um recurso que permite ao usuário utilizar uma estrutura if dentro de outra obtendo, assim, diversas respostas possíveis. Exemplo 3: Fluxograma Pseudocódigo Algoritmo Encadeamento; Var num: inteiro; Inicio Escreva ( Entre com um número: ); Leia (num); Se (num = 0) Então Escreva ( Número zero. ); Senão Se ( num < 0) Então Escreva ( Número negativo. ); Senão Escreva ( Número positivo. ); Fim_Se Fim_Se Fim Profa. MSc. Viviane Guimarães Ribeiro 41

42 Linguagem C #include <stdio.h> main() int num; printf("entre com um numero: "); scanf("%d",&num); if(num == 0) printf("numero zero.\n"); else if(num<0) printf("numero negativo.\n"); else printf("numero positivo.\n"); 7.4. switch() A utilização do switch oferece inúmeras vantagens em relação a utilização da estrutura ninho de if s. Um exemplo prático é a facilidade de escrita de uma estrutura composta por múltiplas escolhas, que requer diversas alternativas, a partir de um certo programa de computador. Porém, a estrutura switch só pode ser utilizada quando estamos testando uma situação de igualdade para uma mesma variável. Fluxograma Profa. MSc. Viviane Guimarães Ribeiro 42

43 Pseudocódigo Linguagem C Escolha (variável) Caso <valor_1> Comando 1; Caso <valor_2> Comando 2;... Caso <valor_n> Comando n; Senão Comando n + 1; Fim_escolha switch (variável) case valor_1 : Comando 1; case valor_2 : Comando 2;... case valor_n : Comando n; default: Comando n + 1; Exemplo 4: Fluxograma Profa. MSc. Viviane Guimarães Ribeiro 43

44 Pseudocódigo Algoritmo Exemplo4; Var opcao: literal[1]; Inicio Escreva ( Entre com uma letra: ); Leia (opcao); Escolha (opcao) caso A : Escreva ( Letra A ); caso B : Escreva ( Letra B ); caso C : Escreva ( Letra C ); caso D : Escreva ( Letra D ); senão: Escreva ( Não é A, B, C nem D. ); Fim_Escolha Fim Linguagem C #include <stdio.h> #include <conio.h> main() char opcao; puts("entre com uma letra: "); opcao = _getch(); switch (opcao) case 'A': printf("letra A.\n"); case 'B': printf("letra B.\n"); case 'C': printf("letra C.\n"); case 'D': printf("letra D.\n"); default: printf("nao eh A, B, C nem D.\n"); Nesta estrutura é opcional a utilização da cláusula default para representar uma alternativa que significa Em nenhum dos casos anteriores. Também é importante saber que a execução do comando switch segue os seguintes passos: 1. A expressão é avaliada. 2. Se o resultado da expressão for igual a uma constante, então a execução começará a partir do comando associado a essa constante e prossegue com a execução de todos os comandos até o fim do switch, ou até que se encontre uma instrução de parada denominada break. 3. Se o resultado da expressão não for igual a nenhuma das constantes e já estiver sido incluída no comando switch a opção default, o comando associado ao default será executado. Caso contrário, isto é, se a opção default não estiver presente, o processamento continuará a partir do comando seguinte ao switch. Profa. MSc. Viviane Guimarães Ribeiro 44

45 Linguagem C #include <stdio.h> #include <conio.h> main() char opcao; puts("entre com uma letra: "); opcao = _getch(); switch (opcao) case 'A': printf("letra A.\n"); break; case 'B': printf("letra B.\n"); break; case 'C': printf("letra C.\n"); break; case 'D': printf("letra D.\n"); break; default: printf("nao eh A, B, C nem D.\n"); Os operadores lógicos apresentados no item 6.6.6, e são normalmente utilizados em conjuntos com a estrutura de decisão if(). A seguir são apresentados exemplos de programas que fazem uso destes operadores. Exemplo 5: Fluxograma Profa. MSc. Viviane Guimarães Ribeiro 45

46 Algoritmo Algoritmo Exemplo5; Var n1,n2: inteiro; Inicio Escreva ( Digite dois números: ); Leia (n1,n2); Se ((n1=0)e(n2=0)) então Escreva ( Você forneceu apenas o número zeros ); senão Escreva ( Soma=, n1+n2); Fim_Se Fim Linguagem C #include <stdio.h> main() int n1, n2; printf("digite dois numeros: "); scanf("%d %d",&n1,&n2); if((n1==0)&&(n2==0)) printf("voce forneceu apenas o numero zero.\n"); else printf("soma = %d \n", n1+n2); Exemplo 6: Fluxograma Profa. MSc. Viviane Guimarães Ribeiro 46

47 Algoritmo Algoritmo Exemplo6; Var n1,n2: inteiro; Inicio Escreva ( Digite dois números: ); Leia (n1,n2); Se ((n1<0ou(n2<0)) então Escreva ( Pelo menos um dos números é negativo ); senão Escreva ( Você informou apenas números positivos ); Fim_Se Fim Linguagem C #include <stdio.h> main() int n1, n2; printf("digite dois numeros: "); scanf("%d %d",&n1,&n2); if((n1<0) (n2<0)) printf("pelo menos um dos numeros eh negativo.\n"); else printf("voce informou apenas numeros positivos.\n"); Exemplo 7: Fluxograma Profa. MSc. Viviane Guimarães Ribeiro 47

48 Algoritmo Algoritmo Exemplo7; Var n: inteiro; Inicio Escreva ( Digite um número: ); Leia (n); Se (nao(n<>0)) então Escreva (n, é igual de zero ); senão Escreva (n, é diferente a zero ); Fim_Se Fim Linguagem C #include <stdio.h> main() int n; printf("digite um numero: "); scanf("%d",&n); if(!(n!=0)) printf("%d eh igual a zero.\n", n); else printf("%d eh diferente de zero.\n",n); Exercícios 1. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que peça para o usuário informar dois números inteiros. Ao final do processamento, imprimir qual é o maior e o menor desses números. 2. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que peça para o usuário informar três números inteiros. Ordenar estes números de forma crescente e apresentar o resultado na tela. 3. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que peça para o usuário informar uma letra qualquer. No final do processamento, o programa deverá informar se a letra é vogal ou consoante. 4. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C para ler um número real, se este número for negativo, transforme-o em positivo e exiba o resultado ao operador. 5. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C para ler um número real equivalente ao comprimento de uma peça. Verificar se o valor lido encontra-se dentro da faixa de tolerância especificada, informando o resultado ao operador (limite especificado: 20 ± 0, cm). 6. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500 e menor ou igual a 1000, seu reajuste será de 10%, caso seja ainda maior que 1000, o reajuste deverá ser de 5%. 7. Criar um algoritmo (Fluxograma e Pseudocódigo) e o programa em linguagem C que leia dois números fornecidos pelo usuário e uma operação matemática (soma, subtração, multiplicação e divisão). Efetuar a operação matemática escolhida utilizando os números fornecidos e exibir o resultado. Profa. MSc. Viviane Guimarães Ribeiro 48

7. Estrutura de Decisão

7. Estrutura de Decisão 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

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

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

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

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos LÓGICA DE PROGRAMAÇÃO Vitor Valerio de Souza Campos Exemplos de algoritmos Faça um algoritmo para mostrar o resultado da multiplicação de dois números. Algoritmo em descrição narrativa Passo 1 Receber

Leia mais

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

Leia mais

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em

Leia mais

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

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando

Leia mais

Estrutura Condicional em Java

Estrutura Condicional em Java Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

Leia mais

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Definição de Programas de Computadores e Linguagem de Programação de Comutadores Definição de Programas de Computadores e Linguagem de Programação de Comutadores O computador é um equipamento eletrônico composto por circuitos eletrônicos, que trabalham com o estado ligado(1) e desligado(0),

Leia mais

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo LTP-IV Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Contato e-mail: slago@ime.usp.br home page: www.ime.usp.br/~slago apostila: Linguagem

Leia mais

9 Comandos condicionais

9 Comandos condicionais 9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em

Leia mais

Programação: Estruturas de seleção

Programação: Estruturas de seleção Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

CURSO DE INFORMÁTICA. Algoritmos. Parte 3. Ricardo José Cabeça de Souza

CURSO DE INFORMÁTICA. Algoritmos. Parte 3. Ricardo José Cabeça de Souza CURSO DE INFORMÁTICA Algoritmos Ricardo José Cabeça de Souza Parte 3 Sumário UNIDADE I - ALGORITMOS 1.6 Pseudo-Linguagem (Pseudocódigo) 1.6.1 Pseudo-Linguagem 1.6.2 Identificadores 1.6.2.1 Nomeação de

Leia mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

Leia mais

Lógica de programação Instrução Algoritmo Diferença entre algoritmo e programa

Lógica de programação Instrução Algoritmo Diferença entre algoritmo e programa Programação de Computadores III Aula 2 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

Variáveis e Comandos de Atribuição

Variáveis e Comandos de Atribuição BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l

Leia mais

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

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

Leia mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

Leia mais

Algoritmos e Programação Parte Teórica

Algoritmos e Programação Parte Teórica Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte Teórica Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

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

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00 Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de

Leia mais

Módulo 1 -Algoritmos e Programação

Módulo 1 -Algoritmos e Programação Curso de Programação em Computadores V Módulo 1 -Algoritmos e Programação Aura Conci & Erick Oliveira aconci@ic.uff.br, erickr@id.uff.br Disciplina: Programação V Bibliografia básica: W. Celes, R. Cerqueira

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM C. Estrutura básica de um programa LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm

Leia mais

compreender a importância de cada estrutura de controle disponível na Linguagem C;

compreender a importância de cada estrutura de controle disponível na Linguagem C; Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

Leia mais

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com. Algoritmos e Programação Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.br 2012 Conteúdo e Objetivos da Aula Introdução a Linguagem C Revisão

Leia mais

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

Leia mais

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

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

Leia mais

1 Funções básicas de implementação de arquivos

1 Funções básicas de implementação de arquivos 1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,

Leia mais

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

Leia mais

CURSO DE INFORMÁTICA. Algoritmos. Parte 4. Ricardo José Cabeça de Souza

CURSO DE INFORMÁTICA. Algoritmos. Parte 4. Ricardo José Cabeça de Souza CURSO DE INFORMÁTICA Algoritmos Ricardo José Cabeça de Souza Parte 4 Sumário UNIDADE I - ALGORITMOS 1.8 AVALIAÇÃO DE APRENDIZAGEM 1.9 EXERCÍCIOS RESOLVIDOS 1.10 AVALIAÇÃO DE APRENDIZAGEM 1.11 SÍNTESE DA

Leia mais

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes Pág 4 Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Lógica para a programação tem como objetivo promover o estudo dos principais

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

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

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão Introdução à Linguagem C Linguagem compilada. Desenvolvida sobre os paradigmas de programação procedural. Uma das linguagens

Leia mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

Leia mais

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação Introdução Algoritmos e Lógica de Programação Tipos de dados Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Informações a serem processadas pelo computador. Consideremos

Leia mais

Falso: F = Low voltage: L = 0

Falso: F = Low voltage: L = 0 Curso Técnico em Eletrotécnica Disciplina: Automação Predial e Industrial Professor: Ronimack Trajano 1 PORTAS LOGICAS 1.1 INTRODUÇÃO Em 1854, George Boole introduziu o formalismo que até hoje se usa para

Leia mais

Introdução a Programação

Introdução a Programação Universidade do Contestado Campus Concórdia Curso de Engenharia Civil Prof.: Maico Petry Introdução a Programação DISCIPLINA: Informática aplicada a Engenharia Programação de Computadores Como programar

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece

Leia mais

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

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

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

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi 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

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C

Leia mais

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

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis 1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que

Leia mais

Exemplos: Pág 5 FUNÇÕES. UC Extensão - Excel Docente: André Luiz Silva de Moraes OPERADORES BOOLEANOS

Exemplos: Pág 5 FUNÇÕES. UC Extensão - Excel Docente: André Luiz Silva de Moraes OPERADORES BOOLEANOS Roteiro 1: Planilhas Eletrônicas > funções Objetivos Manipular e editar planilhas eletrônicas; Utilizar Operadores de texto, booleanos; Utilizar comandos para o desenvolvimento de funções; Explorar as

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Introdução a Linguagem C Princípios de Programação em C Gil Eduardo de Andrade Conceitos Iniciais: Linguagem C Introdução É uma linguagem estruturada; Foi desenvolvida na década

Leia mais

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Linguagens de Programação

Linguagens de Programação 68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar

Leia mais

9.1.2 Laços Controlados por Entrada: Contador

9.1.2 Laços Controlados por Entrada: Contador 9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

Representação de Algoritmos - Linguagens de Programação

Representação de Algoritmos - Linguagens de Programação Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve

Leia mais

Programação para Computação

Programação para Computação Universidade Federal do Vale do São Francisco Programação para Computação Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Ementa Conceito de algoritmo. Lógica de programação e programação

Leia mais

Diagrama de fluxo de dados na Plataforma Vicon SAGA. Terminologias de bancos de dados: Banco de Dados, Tabela, Campos, Registros

Diagrama de fluxo de dados na Plataforma Vicon SAGA. Terminologias de bancos de dados: Banco de Dados, Tabela, Campos, Registros Exercício Objetivo Aplicativo Exercício para ambientação com Sistemas de Informação e Bancos de Dados. O usuário criará modelará um banco de dados aplicado ao contexto de desastres; realizará cadastros

Leia mais

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br LÓGICA DE PROGRAMAÇÃO Professor Celso Masotti http://ead.celsomasotti.com.br Ano: 2015 1 HTML & PHP em Ambiente Web PARTE II Sumário I Decisão... 4 Operadores de Comparação... 6 II IF ELSEIF ELSE... 7

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

Painel de Mensagens TXT 010556 TXT 010764 TXT 020764. Manual do Usuário

Painel de Mensagens TXT 010556 TXT 010764 TXT 020764. Manual do Usuário Painel de Mensagens TXT 010556 TXT 010764 TXT 020764 Manual do Usuário A GPTRONICS está capacitada a fabricar produtos de excelente qualidade e oferecer todo o suporte técnico necessário, tendo como objetivo

Leia mais

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

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Memória Variáveis e constantes Tipos primitivos de dados Operadores Comandos

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

JavaScript (ou JScript)

JavaScript (ou JScript) 1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de

Leia mais

Sessão 2 UFCD 0804 Algoritmos

Sessão 2 UFCD 0804 Algoritmos Sessão 2 UFCD 0804 Algoritmos Revisões Sessão 1 Algoritmo - Definição Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa, é uma sequência de instruções para atingir

Leia mais

Mapeamento de memória e programação da IHM do controlador CP-WS41/8DO8DI4AO2AI2TAI

Mapeamento de memória e programação da IHM do controlador CP-WS41/8DO8DI4AO2AI2TAI Comércio e Manutenção de Produtos Eletrônicos Manual CP-WS1 Mapeamento de memória e programação da IHM do controlador CP-WS41/8DO8DI4AO2AI2TAI PROXSYS Versão 1.0 Março-2013 Controlador Industrial CP-WS1

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio. Nenhuma parte desta publicação pode ser reproduzida nem transmitida

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização

Leia mais

Usando o do-file editor Automatizando o Stata

Usando o do-file editor Automatizando o Stata Usando o do-file editor Automatizando o Stata 1 O QUE É O EDITOR DE DO-FILE O Stata vem com um editor de texto integrado, o do-file editor (editor de do-files, em português), que pode ser usado para executar

Leia mais

Aula 2 Sistemas de Numeração (Revisão)

Aula 2 Sistemas de Numeração (Revisão) Aula 2 Sistemas de Numeração (Revisão) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm 1 O que fazer com essa apresentação 2 Agenda Breve revisão da aula anterior

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Estrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case

Estrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case Estrutura switch. O comando if-else e o comando switch são os dois comandos de tomada de decisão. Sem dúvida alguma o mais importante dos dois é o if, mas o comando switch tem aplicações valiosas. Sua

Leia mais

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL. Nome do Software: Gerenciador de Projetos Versão do Software: Gerenciador de Projetos 1.0.0 1. Visão Geral Este Manual de Utilização do Programa Gerenciador de Projetos via Web, tem por finalidade facilitar

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais