четверг, 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. 

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








воскресенье, 9 октября 2011 г.

Алгоритмы

Домашнее задание для 9-х классов по теме "Алгоритмы и управление".


1 задание.
В алгоритме, записанном ниже, используются целочисленные переменные a и b, а также следующие операции:
Обозначение   Тип операции
:=                      Присваивание
+                       Сложение
–                       Вычитание
*                       Умножение
/                        Деление
Определите значение переменной a после исполнения данного алгоритма:
a := 3
b := 2
b := 9 + a * b
a := b / 5 * a
Порядок действий соответствует правилам арифметики.
В ответе укажите одно число – значение переменной a.


2 задание.
У исполнителя Вычислитель две команды, которым присвоены номера:
           1. умножь на 3
           2. вычти 2
Первая из них увеличивает число на экране в 3 раза, вторая уменьшает его на 2.
Составьте алгоритм получения из числа 2 числа 30, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 11221 – это алгоритм
умножь на 3
умножь на 3
вычти 2
вычти 2
умножь на 3
который преобразует число 1 в 15.)
Если таких алгоритмов более одного, то запишите любой из них.

3 задание.
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она чётна, то в середину цепочки символов добавляется символ А, а если нечётна, то в начало цепочки добавляется символ Б.
В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А – на Б, Б – на В и т. д., а Я – на А). Получившаяся таким образом цепочка является результатом работы алгоритма. Например, если исходной была цепочка ВРМ, то результатом работы алгоритма будет цепочка ВГСН, а если исходной была цепочка ПД, то результатом работы алгоритма будет цепочка РБЕ.
Дана цепочка символов ПУСК. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

4 задание.
Ваня шифрует русские слова, записывая вместо каждой буквы её номер в алфавите (без пробелов). Номера букв даны в таблице.
А  1     Й  11      У  21     Э  31
Б  2     К  12      Ф  22     Ю 32
В  3     Л  13      Х  23     Я  33
Г  4     М 14      Ц  24
Д  5     Н  15      Ч  25
Е  6     О  16      Ш 26
Ё  7     П  17      Щ 27
Ж 8     Р  18      Ъ  28
З  9     С  19      Ы  29
И 10    Т  20      Ь  30
Некоторые шифровки можно расшифровать не одним способами. Например, 311333 может означать «ВАЛЯ», может – «ЭЛЯ», а может – «ВААВВВ».
Даны четыре шифровки:
3113
9212
6810
2641
Только одна из них расшифровывается единственным способом. Найдите ее и расшифруйте. То, что получилось, запишите в качестве ответа.

5 задание.
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.
Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.

Черепашке был дан для исполнения следующий алгоритм:
Повтори 12 [Направо 45 Вперед 20 Направо 45]
Какая фигура появится на экране?
1) квадрат
2) правильный двенадцатиугольник
3) правильный восьмиугольник
4) незамкнутая ломаная линия