Примеры линейных программ - Основы программирования на языке PascalABC.NET

Перейти к контенту

Главное меню:

Примеры линейных программ

Линейные программы
Линейные программы обычно применяются для решения простейших задач. Все операторы в таких программах выполняются строго последовательно друг за другом. Большинство подобных программ имеют следующую структуру:

 

Правильность программы без выполнения на компьютере можно проверить путём исполнения «вручную» и заполнения трассировочной таблицы. Этот процесс называется трассировкой программы. Также трассировка помогает понять работу программы.

В этой таблице каждый столбик соответствует определённой переменной, в каждой строке фиксируются значения переменных после выполнения очередного оператора. Прочерк означает неопределённое значение переменной. Пустая ячейка означает, что значение этой переменной не изменялось и равно значению из выше лежащей ячейки.

Задача 1. Для данного алгоритма запишите программу на языке Паскаль и составьте таблицу значений переменных (трассировку программы) при x=2. Что появится на экране?



 Посмотреть этот процесс в динамике можно на следующем видео.

Задача 2. Составить программу для вычисления длины окружности и площади круга по заданному радиусу.
Длина окружности Площадь круга .
 
Program Okrug;
 Const pi=3.1415; //число пи
 Var r, c, s: real;
Begin
 writeln ('Вычисление длины окружности и площади круга');
 write ('Введите радиус: ');
 readln (r);
 c:=2*pi*r; {длина окружности}
 s:=pi*r*r; {площадь круга}
 writeln ('c=', c:8:2);
 writeln ('s=', s:8:2);
End.

для копирования в среду
WDE PascalABC.NET

Пример выполнения программы:



Задача 3. Составить программу для вычисления площади треугольника по известным длинам его сторон.
Алгоритм. Воспользуемся формулой Герона: ,
г
де a, b, c – длины сторон треугольника; p – полупериметр.
Program Geron;
Var a, b, c, p, s: real;
Begin
 writeln ('Введите длины сторон треугольника: ');
 readln (a, b, c);
 p:=(a+b+c)/2;                 //полупериметр
 s:=sqrt(p*(p-a)*(p-b)*(p-c)); //формула Герона
 writeln ('Площадь треугольника ', s:7:2);
End.
Пример выполнения программы:




Задача 4.
Составить программу, в результате выполнения которой две переменные обменяются своими значениями.

Алгоритм. Естественное на первый взгляд решение A:=B; B:=A является неверным, так как после первого присваивания исходное значение переменной A будет утеряно, и в результате обе переменные получат одно и то же значение. Необходима дополнительная переменная для временного хранения значения переменной A.
Program Obmen;
Var A, B, T: integer;
Begin
 write ('Введите A, B: ');
 readln (A, B);
 T:=A; //временная переменная
 A:=B;
 B:=T;
 write ('A=', A, '  B=', B)
End.

для копирования в среду
WDE PascalABC.NET
Пример выполнения программы:



Задача 5. Составить программу, вычисляющую сумму цифр любого трёхзначного натурального числа.

Алгоритм. Воспользуемся тем, что целочисленное деление на 10 отбрасывает младшую цифру числа, деление на 100 отбрасывает две последних цифры, а остаток от деления на 10 получает младшую цифру числа.
Например: 789 div 10 = 78; 789 mod 10 = 9. 
Program Summa_cifr;
Var x, a, b, c, s: integer;
Begin
 write ('Введите трёхзначное число: '); readln (x);
 a:=x div 100;         {выделяем старшую цифру}
 b:=x mod 100 div 10;  {выделяем среднюю цифру}
 c:=x mod 10;          {выделяем младшую цифру}
 s:=a+b+c;             {сумма цифр}
 writeln ('Сумма его цифр равна ', s)
End.

для копирования в среду
WDE PascalABC.NET
Пример выполнения программы:


 
Назад к содержимому | Назад к главному меню