
EBK STARTING OUT WITH C++
8th Edition
ISBN: 8220100794438
Author: GADDIS
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
thumb_up100%
Chapter 4, Problem 34RQE
Write an if statement that sets the variable hours to 10 when the flag variable minimum is set.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
The next problem concerns the following C code:
/copy input string x to buf */
void foo (char *x) {
char buf [8];
strcpy((char *) buf, x);
}
void callfoo() {
}
foo("ZYXWVUTSRQPONMLKJIHGFEDCBA");
Here is the corresponding machine code on a Linux/x86 machine:
0000000000400530 :
400530:
48 83 ec 18
sub
$0x18,%rsp
400534:
48 89 fe
mov
%rdi, %rsi
400537:
48 89 e7
mov
%rsp,%rdi
40053a:
e8 di fe ff ff
callq
400410
40053f:
48 83 c4 18
add
$0x18,%rsp
400543:
c3
retq
400544:
0000000000400544 :
48 83 ec 08
sub
$0x8,%rsp
400548:
bf 00 06 40 00
mov
$0x400600,%edi
40054d:
e8 de ff ff ff
callq 400530
400552:
48 83 c4 08
add
$0x8,%rsp
400556:
c3
This problem tests your understanding of the program stack. Here are some notes to
help you work the problem:
⚫ strcpy(char *dst, char *src) copies the string at address src (including
the terminating '\0' character) to address dst. It does not check the size of
the destination buffer.
• You will need to know the hex values of the following characters:
Consider the following assembly code for a C for loop:
movl $0, %eax
jmp
.L2
.L3:
addq
$1, %rdi
addq
%rsi, %rax
subq
$1, %rsi
.L2:
cmpq
%rsi, %rdi
jl
.L3
addq
ret
%rdi, %rax
Based on the assembly code above, fill in the blanks below in its corresponding C
source code. Recall that registers %rdi and %rsi contain the first and second, respectively,
argument of a function. (Note: you may only use the symbolic variables x, y, and
result in your expressions below do not use register names.)
long loop (long x, long y)
{
long result;
}
for (
}
return result;
__; y--) {
In each of the following C code snippets, there are issues that can prevent the compiler
from applying certain optimizations. For each snippet:
Circle the line number that contains compiler optimization blocker.
⚫ Select the best modification to improve optimization.
1. Which line prevents compiler optimization? Circle one: 2 3 4 5 6
Suggested solution:
⚫ Remove printf or move it outside the loop.
Remove the loop.
• Replace arr[i] with a constant value.
1 int sum (int *arr, int n) {
2
int s = 0;
3
for (int i
=
0; i < n; i++) {
4
5
6
}
7
8 }
s = arr[i];
printf("%d\n", s);
return s;
234206
2. Which line prevents compiler optimization? Circle one: 2 3 4 5 6
Suggested solution:
Move or eliminate do_extra_work() if it's not necessary inside the loop.
Remove the loop (but what about scaling?).
⚫ Replace arr[i] *= factor; with arr[i] = 0; (why would that help?).
1 void scale (int *arr, int n, int factor) {
5
6 }
for (int i = 0; i < n; i++) {
rr[i] = factor;
do_extra_work ();
Chapter 4 Solutions
EBK STARTING OUT WITH C++
Ch. 4.1 - Prob. 4.1CPCh. 4.1 - Indicate whether the following statements about...Ch. 4.1 - Prob. 4.3CPCh. 4.1 - Prob. 4.4CPCh. 4.2 - Write an if statement that performs the following...Ch. 4.2 - Write an if statement that performs the following...Ch. 4.2 - Write an if statement that multiplies payRate by...Ch. 4.2 - True or False: Both of the following i f...Ch. 4.2 - True or false: Both of the following if statements...Ch. 4.3 - Write an if statement that performs the following...
Ch. 4.3 - The following code segment is syntactically...Ch. 4.4 - True or false: The following if/else statements...Ch. 4.4 - Write an if/else statement that assigns 1 to x if...Ch. 4.4 - Write an if/else statement that assigns 0.10 to...Ch. 4.5 - If you executed the following code, what would it...Ch. 4.6 - What will the following code display? int funny =...Ch. 4.6 - The following code is used in a bookstore program...Ch. 4.9 - Prob. 4.18CPCh. 4.9 - Assume the variables a = 2, b = 4, and c = 6....Ch. 4.9 - Write an if statement that prints the message The...Ch. 4.9 - Write an if statement that prints the message The...Ch. 4.12 - Prob. 4.22CPCh. 4.12 - Indicate whether each of the following relational...Ch. 4.13 - Rewrite the following if/else statements as...Ch. 4.13 - The following statements use conditional...Ch. 4.13 - Prob. 4.26CPCh. 4.14 - Explain why you cannot convert the following if...Ch. 4.14 - What is wrong with the following switch statement?...Ch. 4.14 - What will the following program display? #include...Ch. 4.14 - Complete the following program skeleton by writing...Ch. 4.14 - Rewrite the following program. Use a switch...Ch. 4 - Describe the difference between the if /else if...Ch. 4 - In an if/else if statement, what is the purpose of...Ch. 4 - What is a flag and how does it work?Ch. 4 - Can an if statement test expressions other than...Ch. 4 - Briefly describe how the operator works.Ch. 4 - Briefly describe how the | | operator works.Ch. 4 - Why are the relational operators called...Ch. 4 - Why do most programmers indent the conditionally...Ch. 4 - An expression using the greater-than, less-than,...Ch. 4 - A relational expression is either ______ or...Ch. 4 - Prob. 11RQECh. 4 - The if statement regards an expression with the...Ch. 4 - The if statement regards an expression with a...Ch. 4 - For an if statement to conditionally execute a...Ch. 4 - In an if/else statement, the if part executes its...Ch. 4 - The trailing else in an if/else if statement has a...Ch. 4 - The if/else if statement is actually a form of the...Ch. 4 - If the subexpression on the left of the _________...Ch. 4 - If the subexpression on the left of the __________...Ch. 4 - The ________ logical operator has higher...Ch. 4 - The logical operators have _________...Ch. 4 - The _________ logical operator works best when...Ch. 4 - The __________ logical operator works best when...Ch. 4 - A variable with _________ scope is only visible...Ch. 4 - Prob. 25RQECh. 4 - An expression using the conditional operator is...Ch. 4 - The expression that is tested by a switch...Ch. 4 - Prob. 28RQECh. 4 - A program will fall through a case section if it...Ch. 4 - What value will be stored in the variable t after...Ch. 4 - Write an if statement that assigns 100 to x when y...Ch. 4 - Write an if/else statement that assigns 0 to x...Ch. 4 - Using the following chart, write an if/else if...Ch. 4 - Write an if statement that sets the variable hours...Ch. 4 - Write nested if statements that perform the...Ch. 4 - Write an if statement that prints the message The...Ch. 4 - Write an if statement that prints the message The...Ch. 4 - Write an if statement that prints the message The...Ch. 4 - Assume str1 and str2 are string objects that have...Ch. 4 - Convert the following if/else if statement into a...Ch. 4 - Match the conditional expression with the if /else...Ch. 4 - T F The = operator and the == operator perform the...Ch. 4 - Prob. 43RQECh. 4 - T F A conditionally executed statement should be...Ch. 4 - T F All lines in a block should be indented one...Ch. 4 - T F Its safe to assume that all uninitialized...Ch. 4 - T F When an if statement is nested in the if part...Ch. 4 - T F When an if statement is nested in the el se...Ch. 4 - T F The scope of a variable is limited to the...Ch. 4 - T F You can use the relational operators to...Ch. 4 - T F x ! = y is the same as (x y || x y)Ch. 4 - T F y x is the same as x = yCh. 4 - T F x = y is the same as (x y x = y)Ch. 4 - T F x == 5 || y 3Ch. 4 - T F 7 = x z 4Ch. 4 - T F 2 != y z != 4Ch. 4 - T F x = 0 || x = yCh. 4 - Each of the following programs has errors. Find as...Ch. 4 - // This program divides a user-supplied number by...Ch. 4 - // This program uses an if/else if statement to...Ch. 4 - // This program uses a switch-case statement to...Ch. 4 - The following statement should determine if x is...Ch. 4 - The following statement should determine if count...Ch. 4 - The following statement should determine if count...Ch. 4 - The following statement should assign 0 to z if a...Ch. 4 - Minimum/Maximum Write a program that asks the user...Ch. 4 - Roman Numeral Converter Write a program that asks...Ch. 4 - Magic Dates The date June 10, 1960 is special...Ch. 4 - Areas of Rectangles The area of a rectangle is the...Ch. 4 - Body Mass Index Write a program that calculates...Ch. 4 - Mass and Weight Scientists measure an objects mass...Ch. 4 - Time Calculator Write a program that asks the user...Ch. 4 - Color Mixer The colors red, blue, and yellow are...Ch. 4 - Change for a Dollar Game Create a change-counting...Ch. 4 - Days in a Month Write a program that asks the user...Ch. 4 - Math Tutor This is a modification of Programming...Ch. 4 - Software Sales A software company sells a package...Ch. 4 - Book Club Points Serendipity Booksellers has a...Ch. 4 - Bank Charges A bank charges 10 per month plus the...Ch. 4 - Shipping Charges The Fast Freight Shipping Company...Ch. 4 - Running the Race Write a program that asks for the...Ch. 4 - Personal Best Write a program that asks for the...Ch. 4 - Fat Gram Calculator Write a program that asks for...Ch. 4 - Spectral Analysis If a scientist knows the...Ch. 4 - Prob. 20PCCh. 4 - The Speed of Sound in Gases When sound travels...Ch. 4 - Freezing and Boiling Points The following table...Ch. 4 - Prob. 23PCCh. 4 - Long-Distance Calls A long-distance carrier...Ch. 4 - 25. Mobile Service Provider
A mobile phone service...Ch. 4 - 26. Mobile Service Provider, Part 2
Modify the...Ch. 4 - Prob. 27PC
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Define the three types of recursive binary relationships, and give an example of each, other than the ones show...
Database Concepts (8th Edition)
Comprehension Check 8-5
A 75-gram [g] cylindrical rod is measured to be 10 centimeters [cm] long and 2.5 centim...
Thinking Like an Engineer: An Active Learning Approach (4th Edition)
When displaying a Java applet, the browser invokes the _____ to interpret the bytecode into the appropriate mac...
Web Development and Design Foundations with HTML5 (8th Edition)
The wires each have a diameter of 12 in., length of 2 ft, and are made from 304 stainless steel. If P = 6 kip, ...
Mechanics of Materials (10th Edition)
Explain what happens when a Java program attempts to divide one integer by another. What happens to the fractio...
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
In what year was Plankalkl designed? In what year was that design published?
Concepts Of Programming Languages
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- 123456 A ROP (Return-Oriented Programming) attack can be used to execute arbitrary instructions by chaining together small pieces of code called "gadgets." Your goal is to create a stack layout for a ROP attack that calls a function located at '0x4018bd3'. Below is the assembly code for the function 'getbuf', which allocates 8 bytes of stack space for a 'char' array. This array is then passed to the 'gets' function. Additionally, you are provided with five useful gadgets and their addresses. Use these gadgets to construct the stack layout. Assembly for getbuf 1 getbuf: sub mov $8, %rsp %rsp, %rdi call gets add $8, %rsp ret #Allocate 8 bytes for buffer #Load buffer address into %rdi #Call gets with buffer #Restore the stack pointer #Return to caller Stack Layout each 8-byte (fill in section) Address Value (8 bytes) 0x7fffffffdfc0 0x7fffffffdfb8 0x7fffffffdfb0 0x7fffffffdfa8 0x7fffffffdfa0 0x7fffffffdf98 0x7fffffffdf90 0x7fffffffdf88 Gadgets Address Gadget Ox4006a7 pop %rdi; ret Ox4006a9…arrow_forwardProblem 1 [15 points] The code below is buggy. Assume the code compiles. Briefly: 1). Identify the problem with the code (e.g., can access memory out of bounds) and 2). Suggest a solution (e.g., check the length). Question 1 1 #define BLENGTH 5 2 int b[BLENGTH]; 3 void copy_from_global_int_array_b (int n, int* dest) { 4 5 } *dest = b[n]; ==arrow_forwardWhich statement regarding SGA_MAX_SIZE is true? SGA_MAX_SIZE is modifiable after an instance is started, only when Automatic Memory Management is used. SGA_MAX_SIZE is not dyamically modifiable. SGA_MAX_SIZE is ignored when MEMORY_TARGET > 0. SGA-MAX_SIZE must be specified when SGA_TARGET > 0arrow_forward
- Explian this C program #include <stdio.h> unsigned int rotateRight(unsigned int num, unsigned int bits) { unsignedint bit_count =sizeof(unsignedint) *8; bits = bits % bit_count; // Handle cases where bits >= bit_count return (num >> bits) | (num << (bit_count - bits)); } int main() { unsignedint num, bits; printf("Enter a number: "); scanf("%u", &num); printf("Enter the number of bits to shift: "); scanf("%u", &bits); printf("After rotation: %u\n", rotateRight(num, bits)); return0; }arrow_forwardExplian thiS C program #include<stdio.h> int countSetBits(int n) { int count = 0; while (n) { count += n & 1; n >>= 1; } return count;} int main() { int num; printf("Enter a number: "); scanf("%d", &num); printf("Output: %d units\n", countSetBits(num)); return 0;}arrow_forwardPlease provide the Mathematica codearrow_forward
- Explian this C program code. #include <stdio.h> void binary(unsigned int n) { if (n /2!=0) { binary(n /2); } printf("%d", n %2); } int main() { unsignedint number =33777; unsignedchar character ='X'; printf("Number: %u\n", number); printf("Binary: "); binary(number); printf("\nDecimal: %u\nHexadecimal: 0x%X\n\n", number, number); printf("Character: %c\n", character); printf("ASCII Binary: "); binary(character); printf("\nASCII Decimal: %u\nASCII Hexadecimal: 0x%X\n", character, character); return0; }arrow_forwardDesign a dynamic programming algorithm for the Longest Alternating Subsequence problem described below: Input: A sequence of n integers Output: The length of the longest subsequence where the numbers alternate between being larger and smaller than their predecessor The algorithm must take O(n²) time. You must also write and explain the recurrence. Example 1: Input: [3, 5, 4, 1, 3, 6, 5, 7, 3, 4] Output: 8 ([3, 5, 4, 6, 5, 7, 3, 4]) Example 2: Input: [4,7,2,5,8, 3, 8, 0, 4, 7, 8] Output: 8 ([4, 7, 2, 5, 3, 8, 0,4]) (Take your time with this for the subproblem for this one)arrow_forwardDesign a dynamic programming algorithm for the Coin-change problem described below: Input: An amount of money C and a set of n possible coin values with an unlimited supply of each kind of coin. Output: The smallest number of coins that add up to C exactly, or output that no such set exists. The algorithm must take O(n C) time. You must also write and explain the recurrence. Example 1: Input: C24, Coin values = = [1, 5, 10, 25, 50] Output: 6 (since 24 = 10+ 10+1+1 +1 + 1) Example 2: Input: C = 86, Coin values = [1, 5, 6, 23, 35, 46, 50] Output: 2 (since 86 = 46+35+5)arrow_forward
- Design a dynamic programming algorithm for the Longest Common Subsequence problem de- scribed below Input: Two strings x = x1x2 xm and y = Y1Y2... Yn Output: The length of the longest subsequence that is common to both x and y. . The algorithm must take O(m n) time. You must also write and explain the recurrence. (I want the largest k such that there are 1 ≤ i₁ < ... < ik ≤ m and 1 ≤ j₁ < ... < jk ≤ n such that Xi₁ Xi2 Xik = Yj1Yj2 ··· Yjk) Example 1: Input: x = 'abcdefghijklmnopqrst' and y = 'ygrhnodsh ftw' Output: 6 ('ghnost' is the longest common subsequence to both strings) Example 2: Input: x = 'ahshku' and y = ‘asu' Output: 3 ('asu' is the longest common subsequence to both strings)arrow_forwardDesign a dynamic programming algorithm for the problem described below Input: A list of numbers A = = [a1,..., an]. Output: A contiguous subsequence of numbers with the maximum sum. The algorithm must take O(n) time. You must also write and explain the recurrence. (I am looking for an i ≥ 1 and k ≥ 0 such that a + ai+1 + ···ai+k has the largest possible sum among all possible values for i and k.) Example 1: Input: A[5, 15, -30, 10, -5, 40, 10]. Output: [10, 5, 40, 10] Example 2: Input: A = [7, 5, 7, 4, -20, 6, 9, 3, -4, -8, 4] Output: [6,9,3]arrow_forwardDesign a dynamic programming algorithm for the Longest Increasing Subsequence problem described below: Input: A sequence of n integers Output: The length of the longest increasing subsequence among these integers. The algorithm must take O(n²) time. You must also write and explain the recurrence. Example 1: Input: [5, 3, 6, 8, 4, 6, 2, 7, 9, 5] Output: 5 ([3, 4, 6, 7, 9]) Example 2: Input: [12, 42, 66, 73, 234, 7, 543, 16] Output: 6 ([42, 66, 73, 234, 543])arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
- Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781305480537Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT

EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT

Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning

C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr

Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,

C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning

EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Control Structure in Data Structure - Data Structures - Computer Science Class 12; Author: Ekeeda;https://www.youtube.com/watch?v=9FTw2pXLhv4;License: Standard YouTube License, CC-BY