roblema: Valor de Nomes

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

Download "roblema: Valor de Nomes"

Transcrição

1 roblema: Valor de Nomes Slide 39 tribua-se a cada letra do alfabeto o valor indicado na tabela seguinte A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ado um conjunto de nomes completos de pessoas, determinar um nome que nha n letras e cuja soma dos valores das suas consoantes seja mínima. O valor de é dado e não excede 50, embora possam existir nomes com mais de 50 aracteres. O número de nomes do conjunto será também indicado. Caso não exista enhum nome com n letras, o programa deverá escrever inexistente. Caso ontrário, escreve o primeiro nome que está nas condições pretendidas, e a seguir o alor das suas cosoantes.

2 roblema: Valor de Nomes (Cont) Slide 40 obre o Input n ( 50) o número de letras dos nomes (completos) que interessa considerar; nnomes o número de nomes completos que podem ser dados (não é limitado pelo enunciado); e ainda nn omes sequências de caracteres. Vamos supor que cada uma termina por \n e é um nome completo. Não vamos limitar o tamanho dos nomes completos que o utilizador vai poder inserir. Vamos admitir também que quaisquer duas palavras do nome podem estar separadas por um número arbitrário de espaços (maior ou igual a um). No entanto, se tivermos que escrever um nome, as palavras ficam separadas por um só espaço. Assim, se for necessário guardar um nome relevante para o problema, é suficiente (e talvez necessário) ter uma string que permita guardar 50 letras + até 49 espaços + 1 terminador, ou seja 100 caracteres.

3 roblema: Valor de Nomes (Cont) Slide 41 lgumas observações sobre o algoritmo 1. Se efectuarmos a leitura dum nome caracter a caracter, podemos controlar o n úmero de letras que vamos lendo. À medida que formos guardando o nome em memória, vamos garantir que cada duas palavras ficam separadas por um só espaç o. 2. Se durante a leitura, chegarmos à conclusão de que o n úmero de letras que o nome temé pelo menos n + 1, então podemos imediatamente descartá-lo. 3. Nesse caso, se estivermos a meio da leitura do nome, devemos lê-lo até ao fim (para podermos aceder ao próximo nome). 4. À medida que formos lendo as letras que formam o nome, podemos ir somando o valor das consoantes. 5. Se a soma parcial exceder a soma m ınima anteriormente encontrada, podemos descartar o nome. Se a soma final for inferior a esse m ınimo e o nome tiver n letras, devemos guardá-lo (dado que passa a ser o melhor até ao momento). 6. Podemos tomar 9n + 1 como valor m ınimo inicial. No máximo as n consoantes que constituem o nome têm valor 9n. Assim, todos os nomes relevantes têm um valor menor do que 9n Precisamos de duas strings: uma para guardar o melhor nome encontrado até um dado passo, e a outra, para guardar o nome que está a ser tratado.

4 rograma Slide 42 include <stdio.h> define VOGAL(C) (C == A C == E C == I C == O C == U ) * o y n~ao é! */ define MAXNOME 50*2 nt processa_nome(int, char [], int, char []); ain() int n, nnomes, somamin; char nomemin[maxnome],nome[maxnome]; scanf("%d %d",&n,&nnomes); somamin = 9*n+1; while(nnomes--) somamin = processa_nome(n,nomemin,somamin,nome); if (somamin == 9*n+1) printf("inexistente\n"); else printf("%s\nsoma = %d\n",nomemin,somamin);

5 rograma (cont) Slide 43 t processa_nome(int n, char nomemin[], int smin, char aux[]) int nletras=0, i=0, soma=0; char c; while((c=getchar()) == c == \n ); do { do { aux[i++] = c; nletras++; if (c >= a && c <= z ) c += ( A - a ); if (!VOGAL(c)) soma += (1+(c- A )%9); while ((c=getchar())!= && c!= \n && nletras <=n && soma < smin); if (nletras > n soma >= smin) { while (c!= \n ) c=getchar(); return smin; if (c == ) { aux[i++] = c; while ( (c=getchar()) == ); while (c!= \n ); if (nletras == n && soma < smin) { for(nletras=0;nletras < i; nletras++) nomemin[nletras] = aux[nletras]; nomemin[nletras] = \0 ; return soma; else return smin;

6 assando somamin por referência Slide 44 include <stdio.h> define VOGAL(C) (C == A C == E C == I C == O C == U ) * o y n~ao é! */ define MAXNOME 50*2 oid processa_nome(int, char [], int *, char []); ain() int n, nnomes, somamin; char nomemin[maxnome],nome[maxnome]; scanf("%d %d",&n,&nnomes); somamin = 9*n+1; while(nnomes--) processa_nome(n,nomemin,&somamin,nome); if (somamin == 9*n+1) printf("inexistente\n"); else printf("%s\nsoma = %d\n",nomemin,somamin);

7 assando somamin por referência (cont) Slide 45 id processa_nome(int n, char nomemin[], int *psmin, char aux[]) int nletras=0, i=0, soma=0; char c; while((c=getchar()) == c == \n ); do { do { aux[i++] = c; nletras++; if (c >= a && c <= z ) c += ( A - a ); if (!VOGAL(c)) soma += (1+(c- A )%9); while ((c=getchar())!= && c!= \n && nletras <=n && soma < *psmin); if (nletras > n soma >= *psmin) { while (c!= \n ) c=getchar(); if (c == ) { aux[i++] = c; while ( (c=getchar()) == ); while (c!= \n ); if (nletras == n && soma < *psmin) { for(nletras=0;nletras < i; nletras++) nomemin[nletras] = aux[nletras]; nomemin[nletras] = \0 ; *psmin = soma;

8 asamentos Estáveis Slide 46 ados n homens e n mulheres, pretende-se formar casais tais que nenhum homem refere uma mulher que não é a sua e que o prefere ao seu marido. Supõe-se que ada pessoa ordenou os do sexo oposto por ordem de preferência estrita. Prefs dos homens Prefs das mulheres ada linha da tabela da esquerda tem as preferências dos homens. A i-ésima linha m as preferências do i-ésimo homem (por ordem decrescente).

9 Slide 47 asamentos Estáveis Ideia do Algoritmo de Gale & Shapley [1962] Prefs dos homens Prefs das mulheres Os homens propõem-se. As mulheres aceitam (provisoriamente) se não tiverem já um parceiro de quem gostem mais. Se tiverem um parceiro de que gostam menos, rejeitam-no, para aceitar o que se está a propor. Então, o homem rejeitado vai ficar livre, e propor-se-á à próxima mulher na sua lista de preferências. Qualquer um dos homens que num dado momento está livre, pode efectuar a sua proposta. O emparelhamento final não depende da ordem pelo qual os homens se vão propondo. O algoritmo é apresentado em pseudo-código a seguir

10 lgoritmo de Gale-Shapley [1962] Slide 48. Gale and L. S. Shapley, College admissions and the stability of Marriage, American Mathematical onthly, 69:9 15, ssign each person to be free; hile some man m is free do egin w := first woman on m s list to whom m has not yet proposed; if w is free then assign m and w to be engaged (to each other) else if w prefers m to her fiancé m then assign m and w to be engaged and m to be free else w rejects m (and m remains free) nd:. Gusfield, R. W. Irving, The Stable Marriage Problem Structure and Algorithms, MIT Press, 1989.)

rograma (cont) ypedef char bool; oid initstructures(void); ool execstep(int,int,int,int,int); nt findarea(int); ool updateverts(int,int,int,int,int);

rograma (cont) ypedef char bool; oid initstructures(void); ool execstep(int,int,int,int,int); nt findarea(int); ool updateverts(int,int,int,int,int); rograma (cont) Slide 28 ypedef char bool; oid initstructures(void); ool execstep(int,int,int,int,int); nt findarea(int); ool updateverts(int,int,int,int,int); oid dilatagrelha(int,int,int); ool noothervertinborder(int,

Leia mais

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais

Leia mais

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura

Leia mais

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tabelas Resumo Aulas Anteriores Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Leitura e Escrita de Caracteres Input/Output Leitura

Leia mais

Introdução à Programação em C Input / Output

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

Leia mais

Introdução à Programação em C (II)

Introdução à Programação em C (II) Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos

Leia mais

Introdução à Programação C

Introdução à Programação C Introdução à Programação C Fabio Mascarenhas - 2014.2 http://www.dcc.ufrj.br/~fabiom/introc Recapitulando Um programa C é uma sequência de diretivas (#include e #define), declarações de funções auxiliares,

Leia mais

imprimir seus quadrados.

imprimir seus quadrados. 1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo

Leia mais

ESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Baseado nos slides de Rosely Sanches e Simone Senger de Souza 2 ESTRUTURAS COMPOSTAS Pode-se organizar os dados dos tipos simples em tipos

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Estruturas Compostas Matriz

Estruturas Compostas Matriz Estruturas Compostas Matriz Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Dra. Simone Souza 2 Introdução n Como armazenar um nome em um programa? n Uso

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 2 Etapas para o desenvolvimento dum programa 1. Perceber o problema 2. Encontrar um procedimento algorítmico para o resolver. Estratégias:

Leia mais

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011 MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2.

Leia mais

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20 Vetores Marina Andretta ICMC-USP 11 de abril de 2016 Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de 2016 1 / 20 Vetores Um vetor (ou array) é uma variável composta. Ele é formado por uma sequência

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de

Leia mais

MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003

MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque

Leia mais

Introdução à Programação. Strings

Introdução à Programação. Strings Introdução à Programação Strings Sumário Caracteres (ASCII) Exercícios Vectores de caracteres Strings Exercícios Definição Uma string é um conjunto de caracteres armazenados num vector. Em C, o vector

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Recursão em C

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Recursão em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Recursão em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Definição

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURA SEQUENCIAL E ESTRUTURAS CONDICIONAIS Introdução à Ciência da Computação Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples

Leia mais

Exemplo 1.1: Algoritmo para encontrar a quantidade de números informados maior que 50, considerando que serão informados 20 números.

Exemplo 1.1: Algoritmo para encontrar a quantidade de números informados maior que 50, considerando que serão informados 20 números. ESTRUTURAS DE REPETIÇÃO 1) estrutura do..while do while(; ou do while (); Exemplo 1.1: Algoritmo para encontrar a quantidade de números informados maior

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2

Leia mais

Aula 16: Laços aninhados e desvios

Aula 16: Laços aninhados e desvios Aula 16: Laços aninhados e desvios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos de Repetição (Parte

Leia mais

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Prof. Marcos V. O. de Assis mvoassis@gmail.com marcos.assis@ufpr.br h>p://mvoassis.wordpress.com Alguns conceitos adicionais O compilador (Codeblocks, Dev, Eclipse, etc)

Leia mais

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados Introdução aos Algoritmos e Estruturas de Dados Repescagem 2 o Teste - B Ano lectivo: 2010/2011 2 o Semestre RESOLUÇÃO DA REPESCAGEM DO 2 o TESTE I. (2.5 + 2.5 + 3.0 = 8.0 val.) I.a) Considere o tipo Voo

Leia mais

Laboratório 3 Comandos de repetição while, do-while e for

Laboratório 3 Comandos de repetição while, do-while e for Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos

Leia mais

SSC 0301 IC para Engenharia Ambiental

SSC 0301 IC para Engenharia Ambiental SSC 0301 IC para Engenharia Ambiental Definição e uso de funções Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 7 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal:e cada um pode ter vários tamanhos: int i; unsigned int

Leia mais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais Instituto de Computação Unicamp 26 de Agosto de 2016 Roteiro 1 Expressões relacionais 2 Expressões lógicas 3 4 Exercícios (Instituto

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C 1º Semestre 2006/2007 27/02/2007 (D) Leia com atenção as perguntas e justifique todas as suas respostas. 1. Explique

Leia mais

Funções de Entrada e Saída

Funções de Entrada e Saída inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

Aula 18 Algoritmos básicos de busca e classificação

Aula 18 Algoritmos básicos de busca e classificação Aula 18 Algoritmos básicos de busca e classificação Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas e classificação de tabelas estão entre os mais usados. Considere por exemplo

Leia mais

1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000

1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000 #include #include #include #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 1ª versão int main() { DISCO listadiscos[maxdiscos];

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.

Leia mais

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 Listas Lineares Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples

Leia mais

Analise o código abaixo:

Analise o código abaixo: Recursão - introdução Analise o código abaixo: 1 # include 2 # include 3 int Fatorial ( int x) 4 int k, s =1; for (k =0;k

Leia mais

Introdução à Programação (CC111)

Introdução à Programação (CC111) Introdução à Programação (CC111) 1.Ano LCC-MIERSI Nelma Moreira Aula 11 Tipos de inteiros em C Os inteiros em C podem ser com sinal ou sem sinal: int i; unsigned int u; E cada um pode ter vários tamanhos:

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens

Leia mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS. Profa. Dra. Milena Guessi Margarido

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL RESOLUÇÃO EXERCÍCIOS Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) PSEUDOCÓDIGO corpo principal algoritmo sequência de comandos fim

Leia mais

ESTRUTURAS COMPOSTAS

ESTRUTURAS COMPOSTAS ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Clique para adicionar texto Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Rosely Sanches

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES- Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Árvores CES- Operações sobre uma árvore Estruturas para armazenar árvores Contígua Contígua melhorada Encadeada

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

ESTRUTURAS COMPOSTAS VETOR

ESTRUTURAS COMPOSTAS VETOR ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches 2 ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Árvores Operações sobre uma árvore Estruturas para armazenar árvores

CES-11. Algoritmos e Estruturas de Dados. Árvores Operações sobre uma árvore Estruturas para armazenar árvores ES- Algoritmos e Estruturas de ados ES- ontígua ontígua melhorada arlos Alberto Alonso Sanches uliana de Melo Bezerra ES- ontígua ontígua melhorada Operações sobre uma árvore é o tipo correspondente a

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

ESTRUTURAS COMPOSTAS VETOR

ESTRUTURAS COMPOSTAS VETOR ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as ESTRUTURAS

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos

Leia mais

Expressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits

Expressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits Expressões lógicas, expressões condicionais, prioridades e operadores, base binária, operadores de bits Equivalência entre valores lógicos e aritméticos Quando uma expressão lógica é calculada dentro do

Leia mais

REVISÃO: VECTORES, MATRIZES, STRINGS

REVISÃO: VECTORES, MATRIZES, STRINGS REVISÃO: VECTORES, MATRIZES, STRINGS roblema: Reservas para Estádio do Maracanã Slide 2 Estádio do Maracanã, localizado na Zona Norte do Rio de Janeiro, foi inaugurado m 16 de Junho de 1950 e tem actualmente

Leia mais

Programação em C Funções e estruturas

Programação em C Funções e estruturas 0784 Programação em C Funções e estruturas [Escrever o subtítulo do documento] Tomé [Escrever o nome da empresa] 0784 Exercício 42 O programa simplesmente mostra texto, mesma no código é usada a função

Leia mais

Estruturas de repetição

Estruturas de repetição Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora

Leia mais

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B

Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira olivrap@gmail.com Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

Legibilidade do código fonte

Legibilidade do código fonte Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere

Leia mais

Aula 05: Condicionais (if / else)

Aula 05: Condicionais (if / else) Aula 05: Condicionais (if / else) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido

Leia mais

4 MDP. void média e dp(int a[],int n,float em,float ed) 7. Variáveis auxiliares 7. Faça ed igual ao desvio padrão 6 }

4 MDP. void média e dp(int a[],int n,float em,float ed) 7. Variáveis auxiliares 7. Faça ed igual ao desvio padrão 6 } 1 MDP INTRODUCÃO 1 1. Introducão. Esta é uma demonstração do sistema CWEB (veja http://www.ime.usp.br/~pf/ CWEB/) de Knuth e Levy. Um programa CWEB, como este que você está lendo, é uma espécie de jogo

Leia mais

C/C++; biblioteca stdio

C/C++; biblioteca stdio INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Sistemas Operativos ETI - IGE C/C++; biblioteca stdio 2º Semestre 2005/2006 Ficha 3 1. A biblioteca stdio engloba o conjunto de funções que são normalmente

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 07. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 07 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação ARGUMENTOS POR LINHA DE COMANDO 2 Argumento por linha de comando Na

Leia mais

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

Pontifícia Universidade Católica de São Paulo Faculdade de Ciências Exatas e Tecnologia Depto. de Computação Curso: Ciência da Computação

Pontifícia Universidade Católica de São Paulo Faculdade de Ciências Exatas e Tecnologia Depto. de Computação Curso: Ciência da Computação Pontifícia Universidade Católica de São Paulo Faculdade de Ciências Exatas e Tecnologia Depto. de Computação Curso: Ciência da Computação LIC Laboratório de Introdução a Computação Avaliação P1 Prof. Julio

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C ompiladores Análise Sintática Bruno Lopes Bruno Lopes ompiladores 1 / 30 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

Compiladores - Autômatos

Compiladores - Autômatos Compiladores - Autômatos Fabio Mascarenhas 2015.1 http://www.dcc.ufrj.br/~fabiom/comp Especificação x Implementação Usamos expressões regulares para dar a especificação léxica da linguagem Mas como podemos

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

1ª Avaliação Oficial Noturno

1ª Avaliação Oficial Noturno 1ª Avaliação Oficial Noturno Professor Disciplina Data NOTA Dilermando Piva Jr. Algoritmos e Lógica de Programação 05/out/2017 Critérios Desligue seu celular! Questões rasuradas não serão consideradas.

Leia mais

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1 INF1005: Programação 1 Repetições 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Construção de Laços com while Algoritmos com Repetição Construção de Laços com for Repetição com Teste no Final 08/03/10

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Estruturas condicionais Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Comandos condicionais

Leia mais

prim = A ; prim = &A[0];

prim = A ; prim = &A[0]; 57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro

Leia mais

Instituto de Física Segundo Semestre de Diurno. Prova Substitutiva 15/12/2000

Instituto de Física Segundo Semestre de Diurno. Prova Substitutiva 15/12/2000 MAC 115 Introdução à Computação Instituto de Física Segundo Semestre de 2000 - Diurno Prova Substitutiva 15/12/2000 Nome do aluno: Turma: Assinatura: Professor(a): N ō USP: Curso: Instruções: 1. Não destaque

Leia mais

Introdução à Programação em C (I)

Introdução à Programação em C (I) Introdução à Programação em C (I) IAED Tagus, 2009/2010 Organização de Ficheiros em C Organização Típica de Ficheiros em C Inclusão de bibliotecas de sistema Inclusão de bibliotecas locais Definição de

Leia mais

Aula 06: Condicionais (switch)

Aula 06: Condicionais (switch) Aula 06: Condicionais (switch) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Condicionais (if - else) Exemplos

Leia mais

Introdução a linguagem C. Introdução à Programação 06/07

Introdução a linguagem C. Introdução à Programação 06/07 Introdução a linguagem C Introdução à Programação 06/07 A LINGUAGEM DE PROGRAMAÇÃO C A linguagem C foi criada, na década de setenta, por Dennis M. Ritchie; Apesar de se considerar uma linguagem de alto

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

LP II Estrutura de Dados

LP II Estrutura de Dados LP II Estrutura de Dados Linguagem C Seleção e Repetição Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Estruturas de Seleção Simples Composta Aninhada Estruturas de

Leia mais

Pesquisa em Árvores Digitais. Adaptado de David M.

Pesquisa em Árvores Digitais. Adaptado de David M. Pesquisa em Árvores Digitais Adaptado de David M. Pesquisa Digital Pesquisa digital é baseada na representação das chaves como uma seqüência de caracteres ou de dígitos. Os métodos de pesquisa digital

Leia mais

Introdução à Programação. Ciclos 1ª parte

Introdução à Programação. Ciclos 1ª parte Introdução à Programação Ciclos 1ª parte Sumário Ciclos while Exercícios com instruções condicionais e ciclos Ciclos (while) while ( ) ; Enquanto for diferente de zero

Leia mais

Lógica de Programação I

Lógica de Programação I Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Até agora, todos os algoritmos que foram vistos têm um fluxo de execução único, ou seja, as instruções que serão executadas são sempre as mesmas, independentemente

Leia mais

ICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero

ICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero ICMC USP 1.semestre/2011 SCC120 - ICC Aula: Comandos em C Profa. Roseli Ap. Francelin Romero O comando if if ( expressão é verdadeira ) execute comando ou bloco de comandos ; else /* se expressão é falsa

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Linguagem de Programação I. Aula 08 Linguagem C: Arrays

Linguagem de Programação I. Aula 08 Linguagem C: Arrays Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação MIEA 1º Semestre Frequência Resolução 13/12/2016 1. Escreva uma expressão lógica em linguagem C para cada uma das seguintes condições: (a) o valor da variável

Leia mais

Estruturas de Dados Aula 11: TAD Pilha

Estruturas de Dados Aula 11: TAD Pilha Estruturas de Dados Aula 11: TAD Pilha Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 10; Estruturas

Leia mais

Técnicas de Programação: Comandos de Controle de DEE UFPB

Técnicas de Programação: Comandos de Controle de DEE UFPB Técnicas de Programação: Comandos de Controle de Programa Prof. Protásio DEE UFPB 1 Comandos de Controle de Programa Comandos que direcionam o fluxo de execução de programa. Em C, tem se 3 categorias:

Leia mais

Operações em Arquivos. MC102 Felipe Bergo

Operações em Arquivos. MC102 Felipe Bergo Operações em Arquivos MC102 Felipe Bergo Arquivos O sistema de arquivos é uma abstração para as memórias secundárias do computador: discos, fitas, CDs. Há uma hierarquia de diretórios e cada diretório

Leia mais

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node { Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item

Leia mais

Linguagem C Introdução à programação em C

Linguagem C Introdução à programação em C Linguagem C Introdução à programação em C Emanuel Camacho earc96@hotmail.com a33878@ubi.pt 2015 Emanuel Camacho (UBI) Linguagem C 2015 1 / 50 Mapa de conceitos 1 Conceitos básicos 2 Instruções condicionais

Leia mais

Entrada: M ind

Entrada: M ind Ordenação O objetivo deste capítulo é o de estudar algoritmos de ordenação (ou classificação) de uma sequência de números, em ordem crescente, ou decrescente. De um modo geral tal sequência pode ser uma

Leia mais

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos: CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta

Leia mais