Главная / Задание 8. Ответы и решения

Задание 8. Ответы и решения

8.1     8.2     8.3     8.4      8.5  

 

8.1  ( ege.yandex.ru-1)

Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

 

Бейсик Паскаль
DIM N, S AS INTEGER
N = 1 : S = 0
WHILE N <= 101
   S = S + 7
   N = N + 1
WEND
PRINT S
var n, s: integer;
begin
   n := 1; s := 0; 
   while n <= 101 do begin
      s := s + 7;
      n := n + 1;
   end;
   write(s);
end.
Си Алгоритмический
#include<stdio.h>
void main(){
   int n, s;
   n = 1;  s = 0;
   while (n <= 101) {
      s = s + 7;
      n = n + 1;
   }  
   printf("%d", s);
}
алг
нач
   цел n, s
   n := 1; s := 0
   нц пока n <= 101
      s := s + 7
      n := n + 1
   кц
   вывод s
кон

Решение. При решении этой задачи не требуется непосредственно выполнять алгоритм. Обозначим ST значение переменной s после выполнения T-й итерации цикла. В начале T-й итерации значение переменной равно (в начале 1-й итерации выполнено: n=1;  в начале 2-й итерации выполнено: n=2 и т.д.). В конце T-й итерации значение переменной равно 7(в конце 1-й итерации выполнено: s=7;  в конце 2-й итерации выполнено: s=14 и т.д.).  Цикл будет выполнен 101 раз. Значит, итоге s = 7*101=707.

Ответ707

 

8.2  ( ege.yandex.ru-2)

Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

Бейсик Паскаль
DIM N, S AS INTEGER
N = 4 : S = 0
WHILE N <= 8
   S = S + 15
   N = N + 1
WEND
PRINT S
var n, s: integer;
begin
   n := 4;s := 0;
   while n <= 8 do begin 
      s := s + 15;
      n := n + 1;
   end;
   write(s);
end.
Си Алгоритмический
#include<stdio.h>
void main(){
   int n, s;
   n = 4; s = 0;
   while (n <= 8 ){
      s = s + 15;
      n = n + 1;
   }
   printf("%d", s);
}
алг
нач
   цел n, s
   n := 4; s := 0
   нц пока n <= 8
      s := s + 15
      n := n + 1
   кц
   вывод s
кон

Решение (набросок). При решении этой задачи не требуется непосредственно выполнять алгоритм. В конце T-й итерации значение переменной равно 15(в конце 1-й итерации выполнено: s=15;  в конце 2-й итерации выполнено: s=30 и т.д.). Цикл будет выполнен 8-4+1=5 раз. Значит, в итоге s = 15*5=75.

Ответ: 75

 

8.3  ( ege.yandex.ru-3)

Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

Бейсик Паскаль
DIM N, S AS INTEGER
N = 0 : S = 512
WHILE S  >= 0
   S = S - 20
   N = N + 1
WEND
PRINT N
var n, s: integer;
begin
   n := 0; s := 512;
   while s >= 0 do begin 
      s := s - 20;
      n := n + 1;
   end;
   write(n);
end.
Си Алгоритмический
#include<stdio.h>
void main(){
   int n, s;
   n = 0; s = 512;
   while (s >= 0){
      s = s - 20;
      n = n + 1;
   }
   printf("%d", n);
}
алг
нач
   цел n, s
   n := 0; s := 512
   нц пока s >= 0
      s := s - 20
      n := n + 1
   кц
   вывод n
кон

Решение (набросок). Значение переменной n – количество выполнений цикла. Это количество равно div(512, 20)+1 = 26.

Ответ:  26

 

8.4  ( ege.yandex.ru-4)

Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

Бейсик Паскаль
DIM N, S AS INTEGER
N = 14 : S = 0
WHILE N <= 18
   S = S + 25
   N = N + 1
WEND
PRINT S
var n, s: integer;
begin
   n := 14; s := 0; 
   while n <= 18 do begin
      s := s + 25;
      n := n + 1;
   end;
   write(s);
end.
Си Алгоритмический
#include<stdio.h>
void main(){
   int n, s;
   n = 14; s = 0;
   while (n <= 18){
      s = s + 25;
      n = n + 1;
   }
   printf("%d", s);
}
алг
нач
   цел n, s
   n := 14; s := 0
   нц пока n <= 18
      s := s + 25
      n := n + 1
   кц
   вывод s
кон

Решение: При каждом выполнении цикла значение переменной увеличивается на 25. Цикл будет выполнен 18-14+1 = 5 раз. Итоговое значение равно 5*25 = 125.

Ответ:  125

 

8.5  ( ege.yandex.ru-5)

Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

Бейсик Паскаль
DIM N, S AS INTEGER
N = 24 : S = 0
WHILE N <= 28
   S = S + 20
   N = N + 2
WEND
PRINT S
var n, s: integer;
begin
   n := 24; s := 0; 
   while n <= 28 do begin 
      s := s + 20;
      n := n + 2;
   end;
   write(s);
end.
Си Алгоритмический
#include<stdio.h>
void main(){
   int n, s;
   n = 24; s = 0;
   while (n <= 28){
      s = s + 20;
      n = n + 2;
   }
   printf("%d", s);
}
алг
нач
   цел n, s
   n := 24; s := 0
   нц пока n <= 28
      s := s + 20
      n := n + 2
   кц
   вывод s
кон

Решение (набросок). Цикл выполняется с шагом 2. Поэтому он будет выполнен 3 раза (при n=24. 26, 28). На каждой итерации значение s  увеличивается на 20.

Ответ: 60

 

 
 

0 Comments

Оставьте коммент первым.

 
 

Что думаете?

 




 
 

 
 
Яндекс.Метрика