четверг, 13 октября 2011 г.

Основные конструкции языка программирования

1 задание. 
Определите значение  переменной y после выполнения следующего фрагмента программы, в котором x и y являются переменными целого типа.
y := -2;
x :=y * 5 - 10;
y :=y div 2 + x;

2 задание.
Определите значение переменной p после выполнения следующего фрагмента программы.
m := 13; n:= 21;
n := 2 * m - n;
if m <= n then   p := m + n      else    p := 4 - m * n;
3 задание. 
Определите значение переменной m после выполнения фрагмента программы. 
m := -10; n := 0;
for i := 1 to 10 do begin
     n := i + 3;
     if n > 8    then    m := n * 2 + m    else    m := m - 1
end;

4 задание.

Дан фрагмент программы:
for n := 1 to 4  do
     for m := 1 to 6  do
          C[n, m] := C[n, m] + 4 + m;
Чему будет равно значение С[4, 2] после выполнения этого фрагмента алгоритма, если перед этими командами значение С[4, 2] = 12?

5 задание.

Требовалось написать программу, которая вводит с клавиатуры координаты точек на плоскости (x, y - действительные числа) и определяет принадлежность точки заштрихованной на рисунке области, включая её границы. Программист торопился и написал программу неправильно.

var x, y: real;
begin
   readln (x, y);
       if y >= x - 2 then 
          if x >= -2 then
             if x <= 0 then
                write ('принадлежит')
             else write ('не принадлежит')
end. 
Последовательно выполните следующее:
1) приведите пример таких чисел x и y, при которых программа неверно решает поставленную задачу;
2) укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы.



6 задание.

Дан целочисленный массив из 31 элемента. Элементы массива могут принимать значения от 10 до 40 - среднесуточная температура воздуха в августе (с 1-го по 31-ое). Опишите на русском языке или на одном из языков программирования алгоритм поиска среднемесячной температуры этого месяца. (Если в ответе получается десятичное число, то дробная часть отбрасывается.)
Исходные данные объявлены так, как показано ниже. Запрещается использовать необъявленные переменные, но разрешается не использовать часть из них.
const N = 31;
var A: array[1..N] of integer;
i, S_Tem: integer;
begin
     for i := 1 to N do    readln(A[i]);
           ...
end. 

Если Вы решили все задания, то переходите к заполнению формы с ответами: