Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

Ввод символов с клавиатуры.

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

Циклы и массивы

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Поиск минимального и максимального элементов массива.

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

В данной статье приводится несколько примеров линейных программ на языке программирования Паскаль.

Пример 3. Рассчитать площадь шара в кв. см. Радиус шара ввести с клавиатуры в миллиметрах.

PROGRAM PR3;        {Программа вычисляет площадь поверхности шара}
VAR PL: REAL;           { PL - площадь шара}
R: INTEGER;               { R - радиус }
BEGIN
WRITELN('Введите радиус шара, мм');
READLN(R);
PL:=4*PI*SQR(R)/100;
WRITELN('Площадь шара =', PL:8:1, 'кв. см')
END.

Пример 4. Осуществить расчеты по формуле:

lineyjnihe processih vihchisleniyj..

где ?=arctg(b/a), ?=arctg(d/c), c=n*a, d=m*b.
Поскольку набор символов, используемых в идентификаторах переменных в программе (латиница), не включает традиционные для тригонометрии символы греческого алфавита ?, ?, ?, ?, необходимо составить таблицу имен, которая установит соответствие между идентификаторами переменных и этими символами. В таблице имен мы также зафиксируем промежуточные (рабочие) переменные, упрощающие программирование исходной формулы:

lineyjnihe processih vihchisleniyj...

Программирование линейных вычислительных процессов очень похоже на вычисления по формулам, которые математик осуществляет на бумаге. Алгоритм таких вычислений, как правило, не составляется в виде блок-схем. Наиболее удобной формой представления такого алгоритма является формульно-словесный способ, при котором действия пронумерованы пунктами 1, 2, 3 и т.д. Каждое действие поясняется словами, формулами и расчетами.
Алгоритм решения этой задачи описан формульно-словесным способом:

1. Ввод с клавиатуры параметров А, В, М, N, ALPHA, BETA.
2. Вычисление аргументов тригонометрических функций по формулам:

lineyjnihe processih vihchisleniyj....

где AF и BP промежуточные рабочие переменные, которые в исходной формуле встречаются по два раза в числителе и знаменателе. Следует отметить, что аргументы встроенных функций Sin и Cos в Паскале должны задаваться в радианах. В исходной формуле подразумевается, что углы ?, ?, ?, ? измеряются в радианах. Поэтому углы 15° и 75° градусов подлежат пересчету в радианы, что и сделано в приведенных выше формулах для расчета AF и BP.
3. Последовательное вычисление величин С, D, FI, PSI по формулам:
C = n*a, D = m*b, FI = arctg(b/a), PSI = arctg(d/c).
4. Нахождение значений промежуточных переменных SQAB и SQCD по формулам:

lineyjnihe processih vihchisleniyj.....

5. Вычисление Y по упрощенной формуле за счет уже выполненных в предыдущих пунктах алгоритма расчетов.

lineyjnihe processih vihchisleniyj......6. Последним пунктом этого алгоритма является вывод найденного значения Y на экран монитора.
PROGRAM PR4;
VAR
ALPHA, BETA, FI, PSI, SQAB, SQCD, AF, BP, А, В, C, D, N, M, Y: REAL;
BEGIN
  WRITELN('Введите значения А, В, M, N');
  READLN(A, В, M, N);
  WRITELN('Введите значения АЛЬФА, БЕТТА');
  READLN(ALPHA, BETA);
  С := N*A;
  D := M*B;
  FI := ARCTAN(B/A);
  PSI := ARCTAN(D/C);
  AF := ALPHA + FI + 15*PI/180;
  BP = BETA + PSI + 75*PI/180;
  SQAB := SQRT(A*A + B*B);
  SQCD := SQRT(C*C + D*D);
  Y:=ARCTAN((0.5*SQAB*SIN(AF)+SQCD*SIN(BP))/(SQAB*COS(AF) + SQCD*COS(BP)));
  WRITELN('Y =', Y:7:3)
END.
Следует выделить следующие типичные действия программиста при разработке программ такого класса (формализация линейного вычислительного процесса).
1. Формирование таблицы имен. На этом этапе подбираются латинские обозначения (идентификаторы) для отображения в программе математических величин, используемых в формулах. Для некоторых выражений, встречающихся в формулах два и более раза, можно ввести свои идентификаторы (временные переменные). Эти величины рассчитываются один раз перед основной формулой (формулами), что упрощает исходные формулы и ускоряет расчеты.
2. Учитывая последовательный принцип выполнения операторов в программе – друг за другом по мере их написания – необходимо установить порядок расчета формул. Основное требование состоит в том, чтобы при расчете формулы все переменные и параметры были ранее вычислены или введены с клавиатуры. Если формулы можно упростить путем алгебраических преобразований, то это нужно сделать до начала программирования.
3. Все математические величины нужно разбить на две группы: константы и переменные. Константы следует определить в разделе CONST программы, а переменные — в разделе VAR.
4. Проанализировав возможные значения переменных и требуемую точность расчетов, следует определить тип каждой переменной.
5. Требуется проанализировать все переменные из раздела VAR и определить, какие из них вводятся с клавиатуры, а какие вычисляются по ходу программы.
6. Если в тригонометрических функциях в качестве аргументов используются величины в градусах, то необходимо в программе сделать преобразование этих величин в радианы.
7. При выводе результатов расчетов на экран нужно выбрать формат, способ представления результатов (с плавающей или с фиксированной точкой) и задать точность (число значащих чисел).

Пример 5. Осуществить расчеты по формуле:

lineyjnihe processih vihchisleniyj2Для решения этой задачи следует использовать известные математические преобразова-ния, которые приведут исходную формулу к виду, удобному для программирования. Современный платежный агрегатор net2pay.ru благодаря удобному и интуитивно понятному интерфейсу позволит вести Ваш бизнес в любой точке мира. Эти преобразования описаны в следующей таблице:

lineyjnihe processih vihchisleniyj2.

PROGRAM PR5;
VAR   
X, Y: REAL;
N: INTEGER;
BEGIN  
   WRITELN('Введите значения X, N');
   READLN(X, N);
   Y := EXP(LN(ABS(EXP((N+1)*LN(X)) + LN(ABS(X+1))/LN(N)))/N);
   WRITELN( Y = ', Y:8:4)
END.


Предыдущая статья: Линейные процессы вычислений.
Оглавление: Лекции по Pascal.
Следующая статья: Разветвляющийся вычислительный процесс.


Комментарии  

 
0 # Бубмен 20.12.2012 15:56
:-*
 
 
-1 # вадим 22.12.2016 08:15
ДВА ЗА УРОК
 
 
-1 # ваванчик 22.12.2016 08:16
салам всем
 
 
-1 # 6666 22.12.2016 08:34
;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)
 
 
0 # Сергей 07.10.2017 13:02
Чтобы вторая программа работала нужно в компиляторе перенабрать A,B,C и D и вставить в 14 строке : после ВР.
 
 
0 # Дима 19.10.2017 12:38
здесь ошибку выдает AF := ALPHA + FI + 15*PI/180;
посмотрите...
 
   ГлавнаяПаскальЛекции по ПаскальАрифметический цикл с рекуррентной зависимостью.