Начало. Тексты программ: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 19: Строка 19:
   writeln('Площадь круга равна ',S);
   writeln('Площадь круга равна ',S);
end.</source>
end.</source>
Здесь иллюстрируется ввод, затем вычисления и вывод результата. Входные и выходные переменные описаны на разных строчках, описание сопровождается комментарием


=== Вычисление A<sup>8</sup> ===
=== Вычисление A<sup>8</sup> ===
Строка 32: Строка 33:
   writeln(a,' в степени 8 = ',a8);
   writeln(a,' в степени 8 = ',a8);
end.</source>
end.</source>
Здесь иллюстрируется использование промежуточных переменных и вычислений: без промежуточных вычислений мы бы потратили 7 умножений, а с промежуточными - всего 3.


=== Вычисление расстояния между двумя точками на прямой ===
=== Вычисление расстояния между двумя точками на прямой ===
Строка 46: Строка 48:
   writeln('Расстояние между точками = ',r);
   writeln('Расстояние между точками = ',r);
end.</source>
end.</source>
Здесь иллюстрируется использование стандартной функции abs


=== Вычисление гипотенузы по катетам ===
=== Вычисление гипотенузы по катетам ===
Строка 57: Строка 60:
   writeln('Гипотенуза = ',c);
   writeln('Гипотенуза = ',c);
end.</source>
end.</source>
Здесь иллюстрируется использование стандартной функции sqrt


=== Бросание кубиков ===
=== Бросание кубиков ===
Строка 67: Строка 71:
   writeln('Сумма очков равна ',r1+r2);
   writeln('Сумма очков равна ',r1+r2);
end.</source>
end.</source>
Здесь иллюстрируется использование стандартной функции Random


=== Обмен значений двух переменных с использованием третьей ===
=== Обмен значений двух переменных с использованием третьей ===
Строка 81: Строка 86:
   writeln('Новые значения x,y: ',x,' ',y);
   writeln('Новые значения x,y: ',x,' ',y);
end.</source>
end.</source>
Это - классическая задача о перемене местами значений двух переменных с использованием третьей переменной. Она часто возникает в других задачах. Интересно, что x и y являются как входными, так и выходными переменными


'''Код на PascalABC.NET:'''
'''Код на PascalABC.NET:'''
Строка 93: Строка 99:
   writeln('Новые значения x,y: ',x,' ',y);
   writeln('Новые значения x,y: ',x,' ',y);
end.</source>
end.</source>
Данное решение использует внутриблочное описание переменной. В результате вспомогательная переменная описывается первый раз лишь в тот момент, в который она действительно понадобилась


=== Выделение цифр из двузначного числа ===
=== Выделение цифр из двузначного числа ===
Строка 105: Строка 112:
   writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2);
   writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2);
end.</source>
end.</source>
== Ссылки ==
== Ссылки ==
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]]

Версия от 21:11, 6 января 2010

HelloWorld

begin
  writeln('Привет, мир!');
end.

Это - самая первая программа на любом языке программирования.

Вычисление площади круга

const Pi = 3.1415;

var 
  r: real; // радиус круга
  S: real; // площадь круга
  
begin
  write('Введите радиус круга: ');
  readln(r);
  S := Pi*r*r;
  writeln('Площадь круга равна ',S);
end.

Здесь иллюстрируется ввод, затем вычисления и вывод результата. Входные и выходные переменные описаны на разных строчках, описание сопровождается комментарием

Вычисление A8

Код на PascalABC.NET:

var a: real;
begin
  write('Введите a: ');
  readln(a);
  var a2,a4,a8: real; // вспомогательные переменные
  a2 := a * a;
  a4 := a2 * a2;
  a8 := a4 * a4;
  writeln(a,' в степени 8 = ',a8);
end.

Здесь иллюстрируется использование промежуточных переменных и вычислений: без промежуточных вычислений мы бы потратили 7 умножений, а с промежуточными - всего 3.

Вычисление расстояния между двумя точками на прямой

Код на Pascal:

var 
  a,b: real; // координаты точек
  r: real;   // расстояние между точками на прямой
begin
  write('Введите координату точки a: ');
  readln(a);
  write('Введите координату точки b: ');
  readln(b);
  r := abs(a-b);
  writeln('Расстояние между точками = ',r);
end.

Здесь иллюстрируется использование стандартной функции abs

Вычисление гипотенузы по катетам

var 
  a,b: real; // катеты
  c: real;   // гипотенуза
begin
  write('Введите катеты прямоугольного треугольника: ');
  readln(a,b);
  c := sqrt(a*a+b*b);
  writeln('Гипотенуза = ',c);
end.

Здесь иллюстрируется использование стандартной функции sqrt

Бросание кубиков

var 
  r1,r2: integer; // значения на верхних гранях кубиков
begin
  r1 := Random(6)+1;
  r2 := Random(6)+1;
  writeln('Очки, выыпавшие на кубиках: ',r1,' ',r2);
  writeln('Сумма очков равна ',r1+r2);
end.

Здесь иллюстрируется использование стандартной функции Random

Обмен значений двух переменных с использованием третьей

var 
  x,y: real;
  v: real; // вспомогательная переменная
begin
  write('Введите x,y: ');
  readln(x,y);
  v := x;
  x := y;
  y := v;
  writeln('Новые значения x,y: ',x,' ',y);
end.

Это - классическая задача о перемене местами значений двух переменных с использованием третьей переменной. Она часто возникает в других задачах. Интересно, что x и y являются как входными, так и выходными переменными

Код на PascalABC.NET:

var x,y: real;
begin
  write('Введите x,y: ');
  readln(x,y);
  var v: real; // вспомогательная переменная
  v := x;
  x := y;
  y := v;
  writeln('Новые значения x,y: ',x,' ',y);
end.

Данное решение использует внутриблочное описание переменной. В результате вспомогательная переменная описывается первый раз лишь в тот момент, в который она действительно понадобилась

Выделение цифр из двузначного числа

var 
  x: integer;     // двузначное число
  c1,c2: integer; // первая и вторая цифры двузначного числа
begin
  write('Введите двузначное число: ');
  readln(x);
  c1 := x div 10;
  c2 := x mod 10;
  writeln('Первая и вторая цифры двузначного числа: ',c1,' ',c2);
end.

Ссылки

Алгоритмы для начинающих