Structs, Records) Structures Struct Type Definitions (Typedef) Field Selection (

Total Page:16

File Type:pdf, Size:1020Kb

Structs, Records) Structures Struct Type Definitions (Typedef) Field Selection ( CSE 142 Concepts this lecture Computer Programming I Review: Data structures Heterogenous structures (structs, records) Structures struct type definitions (typedef) Field selection (. operator) Structs as parameters Or… Call by value There are more things in Heaven and Earth, Pointer parameters and -> operator C, than are dreamt of in your grammar. S-1 S-2 © 2000 UW CSE Chapter 11 Review: Data Structures Functions give us a way to organize programs. Read 11.1-11.3, & 11.7 Data structures are needed to organize data, especially: 1. large amounts of data 11.1: Structure types 2. variable amounts of data 11.2: Structures as parameters 3. sets of data where the individual pieces are related to one another 11.3: Structures as return values Arrays helped with points 1 and 2, but not with point 3 Optional examples; skim or read: Example: the data describing one house in a neighborhood: x, y, color, # windows, etc. 11.4: Complex numbers Example: information about one student: name, ID, GPA, etc. etc. S-3 S-4 Problem: Account Records Structs: Heterogeneous Structures Collection of values of possibly differing types. The Engulf & Devour Credit Co. Inc., Ltd. needs to keep track of insurance policies it has issued. Name the collection; name the components Information recorded for each policy (fields). Account number (integer) Example: Insurance policy information for Alice Policy holder’s age (integer) and sex (‘m’ or ‘f’) (informally) Monthly premium (double) “alice” C expressions: At E&G, customers are only known by their account 9501234 account #, so there is no need to store their age 23 alice.age is 23 names. sex 'f' alice.sex is 'f' premium 42.17 S-5 2*alice.premium is 84.34S-6 S-1 Defining structs Defining struct types There are several ways to define a struct typedef struct { /* record for one policy:*/ in a C program. For this course: int account; /* account number */ Define a new type specifying the fields int age; /* policy holder’s age */ in the struct char sex; /* policy holder’s sex */ Declare variables as needed using that double premium; /* monthly premium */ new type } account_record; The type is defined only once at the beginning of the program Defines a new data type called account_record. Variables with this new type can be Does not declare (create) any variables. No storage is declared as needed. allocated. S-7 S-8 Style Points in struct types Declaring struct Variables In a type definition, use comments to describe the fields, Follow the usual rules: not the contents of the fields for any write the type name followed by one or more particular variable variable identifiers I.e., describe the layout of an Only difference: this time the type is defined account_record, not information about by the programmer, not built in Alice’s account. typedefs normally are placed at the top of the program file S-9 S-10 Declaring struct Variables Field access alice /*typedef students_record A fundamental operation on goes at top of program */ account struct variables is field access: ... age struct_name.field_name sex selects the given field account_record alice; premium (variable) from the struct account_record bob; alice bob alice.age = 23; account_record is a type; alice.premium = 12.20; account alice and bob are variables. age 23 account alice.premium = 2 * age sex alice.premium; Both variables have the sex premium 12.20-------- 24.40 same internal layout premium S-11 S-12 S-2 Field access Terminology alice A selected field is an ordinary variable - it can account The terms “struct”, “record” and “structure” be used in all the usual age mean the same thing ways sex premium “fields” are often called “components” or alice.age++; “members”. printf("Alice is %d years old\n", alice.age); scanf("%lf", &alice.premium); S-13 S-14 Why use structs? Structs as User-Defined Types C provides a limited set of built-in types: int, Collect together values that are treated as a unit char, double (and variants of these not discussed (for compactness, readability, maintainability). in these lectures) Pointers introduced some new types typedef struct { typedef struct { Arrays further enrich the possible types available int hours, minutes; int dollars, cents; double seconds; But... the objects in the real world and in } money; } time; computer applications are often more complex than these types allow This is an example of “abstraction” With structs, we’re moving toward a way for programmers to define their own types. S-15 S-16 Some Limitations struct Assignment Like arrays, there are some restrictions on how a Unlike arrays, entire structs can be copied in a struct can be used compared to a simple single operation. Don’t need to copy field-by- variable (int, double, etc.) field. Can’t compare (==, !=) two structs directly Can assign struct values with = Can have functions with struct result types, Can’t read or write an entire struct with and can use struct values in a return scanf/printf statement But you can do these things on individual fields S-17 S-18 S-3 struct Assignment structs as Parameters dilbert A struct assignment account 46532 structs behave like all other non-array values copies all of the fields. If age 12 when used as function parameters dilbert is another sex m Can be call-by-value (copied) account_record, then premium 12.95 Can use as pointer parameters dilbert = bob; is equivalent to dilbert.account = bob bob.account; account 46532 dilbert.age = bob.age; age 12 dilbert.sex = bob.sex; sex m dilbert.premium = premium 12.95 S-19 S-20 bob.premium; struct initializers Midpoint Example Revisited /* Given 2 endpoints of a line, “return” coordinates of midpoint */ A struct can be given an initial value when it is declared. List initial values for the fields in the void midpoint( double x1, double y1, (x2, y2) same order they appear in the struct typedef. double x2, double y2, double *midxp, double *midyp ) { account_record *midxp = (x1 + x2) / 2.0; ratbert = { 970142, 6, ’?’, 99.95 } ; *midyp = (y1 + y2) / 2.0; (x , y ) } 1 1 (x +x ) (y +y ) ()1 2 , 1 2 2 2 double ax, ay, bx, by, mx, my; S-21 midpoint(ax, ay, bx, by, &mx, &my); S-22 Points as structs Midpoint with points Better: use a struct to make the concept of a “point” explicit in the code /* return point whose coordinates are the center of the line segment with endpoints typedef struct { /* representation of a point */ pt1 and pt2. */ double x, y; /* x and y coordinates */ point midpoint (point pt1, point pt2) { point mid; } point; mid.x = ( pt1.x + pt2.x ) / 2.0; ... mid.y = ( pt1.y + pt2.y ) / 2.0; point a = {0.0, 0.0}, b = {5.0, 10.0}; return mid; point m; } m.x = (a.x + b.x) / 2.0; ... m.y = (a.y + b.y) / 2.0; point a = {0.0, 0.0}, b = {5.0, 10.0}, m; S-23 ... /* struct declaration and initializationS-24 */ m = midpoint (a, b); /* struct assignment */ S-4 Execution Midpoint with Pointers point midpoint ( point pt1, point pt2) { Instead of creating a temporary variable and point mid; x 0.0 x 5.0 x 2.5 returning a copy of it, we could write the function so mid.x = ( pt1.x + pt2.x ) / 2.0; it stores the midpoint coordinates directly in the mid.y = ( pt1.y + pt2.y ) / 2.0; y 0.0 y 10.0 y 5.0 destination variable. return mid; pt1 pt2 mid How? Use a pointer parameter: } ... midpoint void set_midpoint (point pt1, point pt2, point *mid) point a = {0.0, 0.0}, b = {5.0, 10.0}, m; x 0.0 x 5.0 x 2.5 point a = {0.0, 0.0}, b = {5.0, 10.0}, m; ... set_midpoint (a, b, &m); m = midpoint (a, b); y 0.0 y 10.0 y 5.0 abmS-25 Structs behave like all non-array types when S-26 used as parameters. main Field Access via Pointers Midpoint with Pointers Function set_midpoint needs to access the x and y /* Store in *mid the coordinates of the midpoint */ fields of its third parameter. How? /* of the line segment with endpoints pt1 and pt2 */ void set_midpoint (point pt1, point pt2, point *mid) void set_midpoint (point pt1, point pt2, point *mid) { … (*mid).x = ( pt1.x + pt2.x ) / 2.0; Field access requires two steps: (*mid).y = ( pt1.y + pt2.y ) / 2.0; 1) Dereference the pointer with * } 2) Select the desired field with . Technicality: field selection has higher precedence point a = {0.0, 0.0}, b = {5.0, 10.0}, m; than pointer dereference, so parentheses are set_midpoint (a, b, &m); S-27 S-28 needed: (*mid).x Execution Pointer Shorthand: -> void set_midpoint (point pt1, x 0.0 x 5.0 “Follow the pointer and select a field” is a very point pt2, point *mid) { common operation. C provides a shorthand (*mid).x = ( pt1.x + pt2.x ) / 2.0; y 0.0 y 10.0 operator to make this more convenient. (*mid).y = ( pt1.y + pt2.y ) / 2.0; pt1 pt2 mid } structp - > component ... set_midpoint point a = {0.0, 0.0}, means exactly the same thing as b = {5.0, 10.0}, m; ... (*structp).component 0.0 5.0 2.5 set_midpoint (a, b, &m); x x x y 0.0 y 10.0 y 5.0 -> is (sometimes) called the “indirect S-29 component selection operator” S-30 abm main S-5 Pointer Shorthand: -> Summary Function set_midpoint would normally be written Structs collect variables (“fields”) like this: possibly of differing types each field has a name /* Store in *mid the coordinates of the midpoint */ .
Recommended publications
  • Employee Class Class Employee: Def __Init__(Self, Name, Sal, Bon): Self.Name = Name Self.Salary = Sal Self.Bonus = Bon
    Laurent Gregoire http://www.vim.org/about.php It is a poor craftsman who blames his tools. CS 152: Programming Language Paradigms Editor Plugins Prof. Tom Austin San José State University Plugin architectures for different text editors / IDEs • Emacs (Emacs Lisp) • Vim (Vimscript) – Learn Vimscript the Hard Way, Steve Losh • Eclipse (Java, AspectJ) • Sublime Text (Python) Python • Invented by Guido van Rossum –benevolent dictator for life (BDFL) • "Executable pseudocode" • scripting language • whitespace sensitive –don't mix tabs and spaces Employee class class Employee: def __init__(self, name, sal, bon): self.name = name self.salary = sal self.bonus = bon def get_wages(self): return self.salary + self.bonus Manager class class Manager(Employee): def __init__(self, n, s, b, subs): Employee.__init__(self, n, s, b) self.subordinates = subs def get_department_wages(self): wages = self.get_wages() for emp in self.subordinates: wages += emp.get_wages() return wages Using Employee and Manager alice = Employee("Alice", 125000, 200) dilbert = Employee("Dilbert", 100000, 2000) wally = Employee("Wally", 85000, 0) phb = Manager("Pointy-haired boss", 136000, 100000, [alice,dilbert,wally]) print("Alice makes " + `alice.get_wages()`) print("The boss makes " + `phb.get_wages()`) print("The whole department makes " + `phb.get_department_wages()`) Executing system calls in Python import subprocess p = subprocess.Popen("ls -l", shell=True, stdout=subprocess.PIPE) for bline in p.stdout: line = bline.decode('utf-8') .rstrip('\n') print(line) Developing
    [Show full text]
  • Dilbert": a Rhetorical Reflection of Contemporary Organizational Communication
    UNLV Retrospective Theses & Dissertations 1-1-1998 "Dilbert": A rhetorical reflection of contemporary organizational communication Beverly Ann Jedlinski University of Nevada, Las Vegas Follow this and additional works at: https://digitalscholarship.unlv.edu/rtds Repository Citation Jedlinski, Beverly Ann, ""Dilbert": A rhetorical reflection of contemporary organizational communication" (1998). UNLV Retrospective Theses & Dissertations. 957. http://dx.doi.org/10.25669/3557-5ql0 This Thesis is protected by copyright and/or related rights. It has been brought to you by Digital Scholarship@UNLV with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in UNLV Retrospective Theses & Dissertations by an authorized administrator of Digital Scholarship@UNLV. For more information, please contact [email protected]. INFORMATION TO USERS Uns manuscript has been reproduced from the microfilm master. UMI fifans the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter free, while others may be from any type o f computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely afifrct reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these wiH be noted.
    [Show full text]
  • “Don't Be a Dilbert”: Transmedia Storytelling As Technical
    corrected 7/15/20 Applied Research “Don’t Be a Dilbert”: Transmedia Storytelling as Technical Communication during and after World War II By Edward A. Malone Abstract Purpose: My goal was to determine whether the U.S. Navy’s “Don’t Be a Dilbert” aviation safety campaign during World War II was a fully developed example of transmedia storytelling and whether it could be used as an illustration of transmedia storytelling in technical communication. Method: I located and gathered primary sources in the Navy’s safety campaign from archives, museums, and military and civilian publications, and then analyzed these artifacts according to the definition and attributes of transmedia storytelling in Jenkins (2007, 2011). Results: From my analysis, I found that the Navy’s use of the Dilbert myth combined multimodality with radical intertextuality in order to foster additive comprehension; it also employed a robust set of transmedia storytelling techniques. Conclusion: Tese findings suggest that transmedia storytelling was used to communicate technical information before the digital age and that the Navy’s Dilbert campaign is a potentially useful historical example for illustrating transmedia storytelling techniques. Keywords: transmedia storytelling, participatory culture, safety education, cartoon characters, history of technical communication Practitioner’s • Examines the role of transmedia communication students to Takeaway: storytelling in a high-stakes training transmedia storytelling program in which entertainment • Contributes to an understanding of supported education the history of transmedia storytelling • Provides a potential pedagogical in technical communication tool for introducing technical Volume 66, Number 3, August 2019 l Technical Communication 209 Applied Research "Don't Be a Dilbert" Introduction Most people are familiar with Dilbert, the main character in Scott Adams’ comic strip about an engineer who, in some ways, epitomizes the white- collar worker in corporate America.
    [Show full text]
  • Reflections with Scott Adams Page 12
    Reflections with Scott Adams Page 12 VOL.OOL.OL XIX, XIX NUMBER 35 • SEPTEMBER 21, 21 2018 WWW.PLEASANTONWEEKLY.COM 5 NEWS Council formally rescinds JDEDZ; Costco on hold 10 PULSE PPD cites drivers in pedestrian crossing sting 14 SPORTS Strong week for Foothill girls volleyball Paid for by Stanford Health Care “If it weren’t for Stanford, I don’t think I’d have the quality of life I’ve had over the past year. I’m good as new, if not better than new.” —Ron Focal Therapy For Prostate Cancer Gives Patient but perhaps for whom removing the entire prostate is too aggressive, he said. Full Recovery, With Fewer Side Effects “What we have found with HIFU is lower rates of erectile dysfunction, lower rates of urinary Ron received a cancer diagnosis the day before his 58th birthday. incontinence, quicker recovery and minimal pain,” It all started with a prostate-specific antigen (PSA) test, a common blood said Sonn. “To be able to offer this treatment test given to men to identify issues with their prostate. “It wasn’t super to a man in his 50s or 60s is very gratifying.” high, but it was high enough that a biopsy was recommended,” said Ron, For Ron, traveling a few hours to Stanford meant receiving the most advanced standard of care a commercial real estate business owner in Lodi. “Everything progressed available. “Quality of life was the most important pretty quickly after I got my results. Within a month or two, I had thing,” he said. “I’m lucky to have benefited from this cutting-edge technology.” to start making some choices and the options weren’t really appealing.” On the day of surgery, Ron recalls waking up An avid runner, bicyclist and skier, Ron was is already approved and available to patients in as if nothing happened.
    [Show full text]
  • Typical Girls: the Rhetoric of Womanhood in Comic Strips Susan E
    Typical girls The Rhetoric of Womanhood in Comic Strips Susan E. Kirtley TYPICAL GIRLS STUDIES IN COMICS AND CARTOONS Jared Gardner and Charles Hatfield, Series Editors TYPICAL GIRLS The Rhetoric of Womanhood in Comic Strips SUSAN E. KIRTLEY THE OHIO STATE UNIVERSITY PRESS COLUMBUS COPYRIGHT © 2021 BY THE OHIO STATE UNIVERSITY. THIS EDITION LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION- NONCOMMERCIAL-NODERIVS LICENSE. THE VARIOUS CHARACTERS, LOGOS, AND OTHER TRADEMARKS APPEARING IN THIS BOOK ARE THE PROPERTY OF THEIR RESPECTIVE OWNERS AND ARE PRESENTED HERE STRICTLY FOR SCHOLARLY ANALYSIS. NO INFRINGEMENT IS INTENDED OR SHOULD BE IMPLIED. Library of Congress Cataloging-in-Publication Data Names: Kirtley, Susan E., 1972– author. Title: Typical girls : the rhetoric of womanhood in comic strips / Susan E. Kirtley. Other titles: Studies in comics and cartoons. Description: Columbus : The Ohio State University Press, [2021] | Series: Studies in comics and cartoons | Includes bibliographical references and index. | Summary: “Drawing from the work of Lynn Johnston (For Better or For Worse), Cathy Guisewite (Cathy), Nicole Hollander (Sylvia), Lynda Barry (Ernie Pook’s Comeek), Barbara Brandon-Croft (Where I’m Coming From), Alison Bechdel (Dykes to Watch Out For), and Jan Eliot (Stone Soup), Typical Girls examines the development of womanhood and women’s rights in popular comic strips”—Provided by publisher. Identifiers: LCCN 2020052823 | ISBN 9780814214572 (cloth) | ISBN 0814214576 (cloth) | ISBN 9780814281222 (ebook) | ISBN 0814281222 (ebook) Subjects: LCSH: Comic strip characters—Women. | Women in literature. | Women’s rights in literature. | Comic books, strips, etc.—History and criticism. Classification: LCC PN6714 .K47 2021 | DDC 741.5/3522—dc23 LC record available at https://lccn.loc.gov/2020052823 COVER DESIGN BY ANGELA MOODY TEXT DESIGN BY JULIET WILLIAMS TYPE SET IN PALATINO For my favorite superhero team—Evelyn, Leone, and Tamasone Castigat ridendo mores.
    [Show full text]
  • Quarterly 1998 Winter
    S OUTH D AKOTA S CHOOL OF M INES AND T ECHNOLOGY QUARTERLYWINTER 1998 SOUTH DAKOTA CASHES IN ON SDSM&T ALUMNI FOR ECONOMIC LEADERSHIP Story on Page 6 APUBLICATION OF SDSM&T Perspectives SUARTERLYOUTH DAKOTA SCHOOL OF MINES AND TECHNOLOGY Q Winter 1998 President Dr. Richard J. Gowen Dear Friends, Assistant to the President Gail Boddicker Welcome to the second issue of SDSM&T Quarterly! Thank you for the very positive responses to the Vice President for Academic Affairs magazine’s inaugural issue this fall. We hope you enjoy this Dr. Karen L. Whitehead publication featuring some of the many academic and Business & Administration research accomplishments of our South Dakota Tech Timothy G. Henderson, Director family. Student Affairs Dr. Douglas K. Lange, Dean The School of Mines was founded in 1885 to prepare graduates for the developing mining industries of the University & Public Relations Julie A. Smoragiewicz, Director Dakota Territories. Over a century later we continue the proud traditions of preparing graduates to lead the development of the business and SDSM&T Foundation industries that use the technological advances of today. L. Rod Pappel, President College of Earth Systems We are pleased that the reputation of the South Dakota School of Mines and Technology Dr. Sangchul Bang, Dean attracts outstanding students from South Dakota, other states and the international College of Interdisciplinary Studies community. The continuing growth of business and industry in our state provides increasing Dr. Dean A. Bryson, Dean opportunities for the two-thirds of our graduates who are South Dakotans to use their talents to build our future.
    [Show full text]
  • Bazinga! You’Re an Engineer
    Paper ID #6139 Bazinga! You’re an engineer.. you’re ! A Qualitative Study on the Media and Perceptions of Engineers Rachel McCord, Virginia Tech Rachel McCord is a second year graduate student in the Department of Engineering Education at Virginia Tech. Her current research interests include motivation, conceptual understanding and student use of metacognitive practices. She received her B.S. and M.S. in Mechanical Engineering from The University of Tennessee. Her advisor is Dr. Holly Matusovich. Page 23.240.1 Page c American Society for Engineering Education, 2013 Bazinga! You’re an engineer…you’re___! A Qualitative Study on the Media and Perceptions of Engineers While a significant amount of television air time is dedicated to dramatizing careers, engineering careers seem somewhat vacant from the prime time line up. Many studies have been conducted to look at the impact of popular television shows on how people view career professionals but little has been done to look at the impact of popular media on people’s views of engineers. This pilot study looked at the impact of viewing popular media articles that focus on engineering characters on a person’s perception of an engineer. The study focused on using three popular media articles (Dilbert, Mythbusters, and The Big Bang Theory) as representations of engineers. Participants for this study were graduate students at a large research university. Utilizing individual interviews, participants in this study were asked to describe their initial mental picture of an engineer from their own personal experiences. Participants were shown a series of media articles and were asked to describe the mental picture of an engineer they held after watching the media articles.
    [Show full text]
  • Dilbert E a Tradução Para Dublagem
    63 DILBERT E A TRADUÇÃO PARA DUBLAGEM Turma de Tradução Avançada1 RESUMO Traduzir não é uma tarefa fácil. O tradutor tem de passar por várias etapas a fim de terminar o projeto no qual esteja trabalhando. Por isso, o Professor Mestre José Manuel da Silva desenvolveu uma tarefa que visou simular a rotina de uma empresa de tradução, editora ou de um estúdio cinematográfico, a fim de trabalhar prazo, estresse, gerenciamento de equipe e distribuição de tarefas entre os alunos da disciplina de Tradução Avançada, do Instituto Superior Anísio Teixeira (ISAT). Para que essa meta fosse alcançada, a turma traduziu o primeiro episódio da primeira temporada da série animada de televisão Dilbert, que teve duas temporadas e foi exibida entre 1999 e 2000, baseada na história em quadrinhos homônima criada por Scott Adams. Este trabalho tem como objetivo relatar passo a passo as etapas pelas quais os alunos da disciplina de Tradução Avançada tiveram de passar, tais como a divisão de grupos, a confecção do script com a transcrição do áudio, a tradução propriamente dita, a revisão e os relatórios a serem enviados para o professor. PALAVRAS-CHAVE: tradução. tradução para dublagem. Dilbert. ABSTRACT Translating is not an easy endeavor. The translator has to go through several steps in order to finish the project at hand. Therefore, Professor José Manuel da Silva, M. A., assigned a task that aimed at simulating the routine of a translation firm, publisher or a cinematographic studio in order to work with deadlines, stress, team management and task distribution among the students of the Advanced Translation course at the Instituto Superior Anísio Teixeira (ISAT).
    [Show full text]
  • Donas Das Dores No Laço Da Verdade
    Pontifícia Universidade Católica de São Paulo- Puc-SP Karine Freitas Sousa Donas das dores no laço da verdade: Violências contra mulheres trabalhadoras nos quadrinhos Doutorado em Ciências Sociais São Paulo 2016 DONAS DAS DORES NO LAÇO DA VERDADE: VIOLÊNCIAS CONTRA MULHERES TRABALHADORAS NOS QUADRINHOS - cover, ju.2004) ju.2004) cover, - Identity Crisis Identity Arte: Michael Turner ( Turner Arte: Michael Fonte: http://www.dccomics.com/graphic-novels/identity-crisis-new-edition Pontifícia Universidade Católica de São Paulo –PUC-SP Karine Freitas Sousa DONAS DAS DORES NO LAÇO DA VERDADE: VIOLÊNCIAS CONTRA MULHERES TRABALHADORAS NOS QUADRINHOS Tese apresentada à Banca Examinadora do Programa de Estudos Pós-Graduados em Ciências Sociais, como requisito parcial para obtenção do grau de Doutor em Ciências Sociais (Sociologia), sob a orientação da Prof.ª Dra. Carla Cristina Garcia. São Paulo 2017 Banca examinadora AGRADECIMENTOS A Eu Sou. Agradeço ao Divino e ao Amor que sempre estiveram comigo em todos os momentos da elaboração desta tese. À minha professora Carla Cristina Garcia, pela sua generosidade em compar- tilhar conhecimentos, paciência e cujo exemplo de militância nos estudos e causas das mulheres me despertaram como feminista. Eternamente grata. A Jorge, meu amado companheiro, por absolutamente tudo. A toda minha família, especialmente às mulheres que mobilizaram outras mu- lheres em suas comunidades religiosas, e criaram redes incríveis de orações que alimentavam a minha fé. Aos professores Rita Alves e Francisco Greco, pelas contribuições significati- vas durante a qualificação da tese, e pela ampliação da oportunidade de aprendiza- do. À professora Mônica Mac-Allister, pelas conversas que me despertaram para a ampliação do tema iniciado no mestrado.
    [Show full text]
  • Comic Art and Humor in the Workplace: an Exploratory Study ...Zzzzzz
    Pepperdine University Pepperdine Digital Commons Theses and Dissertations 2015 Comic art and humor in the workplace: an exploratory study ...ZZzzzz Kella Brown Follow this and additional works at: https://digitalcommons.pepperdine.edu/etd Recommended Citation Brown, Kella, "Comic art and humor in the workplace: an exploratory study ...ZZzzzz" (2015). Theses and Dissertations. 533. https://digitalcommons.pepperdine.edu/etd/533 This Dissertation is brought to you for free and open access by Pepperdine Digital Commons. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of Pepperdine Digital Commons. For more information, please contact [email protected], [email protected], [email protected]. Pepperdine University Graduate School of Education and Psychology COMIC ART AND HUMOR IN THE WORKPLACE: AN EXPLORATORY STUDY…ZZzzzz A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Education in Organizational Change by Kella Brown February, 2015 Kay Davis, Ed. D. – Dissertation Chairperson This dissertation, written by Kella Brown under the guidance of a Faculty Committee and approved by its members, has been submitted to and accepted by the Graduate Faculty in partial fulfillment of the requirements for the degree of DOCTOR OF EDUCATION Doctoral Committee: Kay Davis, Ed. D., Chairperson Maria Brahme, Ed. D. Kent Rhodes, Ed. D. © Copyright by Kella Brown (2015) All Rights Reserved TABLE OF CONTENTS LIST OF FIGURES........................................................................................................................vi
    [Show full text]
  • Comprehensive Comprehensions
    Edinburgh Research Explorer Comprehensive comprehensions Citation for published version: Jones, SLP & Wadler, P 2007, Comprehensive comprehensions. in Proceedings of the ACM SIGPLAN Workshop on Haskell, Haskell 2007, Freiburg, Germany, September 30, 2007. pp. 61-72. https://doi.org/10.1145/1291201.1291209 Digital Object Identifier (DOI): 10.1145/1291201.1291209 Link: Link to publication record in Edinburgh Research Explorer Document Version: Publisher's PDF, also known as Version of record Published In: Proceedings of the ACM SIGPLAN Workshop on Haskell, Haskell 2007, Freiburg, Germany, September 30, 2007 General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 01. Oct. 2021 Comprehensive Comprehensions Comprehensions with ‘Order by’ and ‘Group by’ Simon Peyton Jones Philip Wadler Microsoft Research University of Edinburgh Abstract We make the following contributions. We propose an extension to list comprehensions that makes it • We introduce two new qualifiers for list comprehensions, order easy to express the kind of queries one would write in SQL using and group (Section 3). Unusually, group redefines the value ORDER BY, GROUP BY, and LIMIT.
    [Show full text]
  • Topic Notes: Protection and Security
    Computer Science 330 Operating Systems Siena College Fall 2020 Topic Notes: Protection and Security The operating system is (in part) responsible for protection – to ensure that each object (hardware or software) is accessed correctly and only by those processes that are allowed to access it. We have seen protection in a few contexts: • memory protection • file protection • CPU protection We want to protect against both malicious and unintentional problems. Protection Domains There are a number of ways that an OS might organize the access rights for its protection system. A domain is a set of access rights and the objects (devices, files, etc.) they refer to. An abstract example from another text (Tanenbaum): This just means that processes executing in, for example, domain 1, can read file1 and can read and write file2. The standard Unix protection system can be viewed this way. A process’ domain is defined by its user id (UID) and group id (GID). Files (and devices, as devices in Unix are typically accessed through special files) have permissions for: user, group, and other. Each can have read, write, and/or execute permission. A process begins with the UID and GID of the process that created it, but can set its UID and GID during execution. Whether a process is allowed a certain type of access to a certain file is determined by the UID and GID of the process, and the file ownership and permissions. The superuser (UID=0) has the ability to set processes to any UID/GID. Regular users usually rely on setuid and setgid programs in the filesystem to change UID/GID.
    [Show full text]