Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Форум ПРОГРАММИСТОВ » КУРС ОПР - ПАСКАЛЬ » Учебные материалы » Примеры простейших программ
Примеры простейших программ
Произведение без произведения
Задача. Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, <>.
Возможный вариант решения приведен ниже.
Код
var a, b, c, k : integer;
begin
         k:= 0; c:= 0;
         a:=3;b:=5;
{инвариант: c = a * k}
         while k <> b do begin
          k:=k+1;
          c:=c+a;
         end;
     {c = a*k и k = b, следовательно, c = a * b}
write('a*b=',c)
end.

Ссылка на файл в онлайн-компиляторе: перейти
1 | Автор: admin | 2014-09-17, 21:18   |  Репутация: [ + 21 ]
Возведение а в степень n
Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n. Т.е., необходимо составить программу, при исполнении которой значения переменных а и n не меняются, а значение некоторой другой переменной (например, b) становится равным а в степени n. (При этом разрешается использовать и другие переменные.)

Решение. Введем целую переменную k, которая меняется от 0 до n, причем поддерживается такое свойство: b = (a в степени k).

Код
program stepen;
var k,a,b,n:integer;
begin
k := 0; b := 1;
a:=2;n:=4;
    {b = a в степени k}
    while k <> n do begin
     k := k + 1;
     b := b * a;
    end;
    write('a^b=',b)
   end.

Ссылка на онлайн-решение: перейти

Другое решение той же задачи:

Код
k := n; b := 1;
    {a в степени n = b * (a в степени k)}
    while k <> 0 do begin
    | k := k - 1;
    | b := b * a;
    end;
2 | Автор: admin | 2014-09-17, 22:05   |  Репутация: [ + 21 ]
Коды и примеры к лекции №4 можно скачать по ссылке.
3 | Автор: admin | 2014-09-17, 22:17   |  Репутация: [ + 21 ]
Задача: определить, является ли слово перевертышем (читается одинаково слева-направо и справа-налево).

Код решения задачи:
Код
var a,b,c : string;  
  i : longint;  
  begin  
  write('Введите слово: ');readln(a);  
  b:='';  
  for i:=1 to length(a) do b:=a[i]+b;{ переворачиваем слово }  
  if a=b then write('перевертыш')  
  else write('не перевертыш');  
  readln;  
  end.
4 | Автор: admin | 2014-09-17, 22:25   |  Репутация: [ + 21 ]
4 | Автор: admin | 2014-09-17, 22:25   |  Репутация: [ + 21 ]
Форум ПРОГРАММИСТОВ » КУРС ОПР - ПАСКАЛЬ » Учебные материалы » Примеры простейших программ
  • Страница 1 из 1
  • 1
Поиск: