Занятие 1. Линейные алгоритмы. Обмен значений численных переменных — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Занятие 1. Линейные алгоритмы. Обмен значений численных переменных

2021-01-31 370
Занятие 1. Линейные алгоритмы. Обмен значений численных переменных 0.00 из 5.00 0 оценок
Заказать работу

Задача

Пользователь вводит два числа. Одно присваивается одной переменной, а второе - другой. Необходимо поменять значения переменных так, чтобы значение первой оказалось во второй, а второй - в первой.

Пояснение к задаче и алгоритм решения

Существует два способа обменять значения переменных. Первый подходит для любых типов данных, а второй - только для численных.

1-й способ. Через "буферную" переменную

1. Пусть первое введенное значение присвоено переменной a, второе - b.

2. Присвоим некой третьей переменной (например, c) значение хранимое в a. Таким образом окажется, что одно и то же значение будет сохранено в двух переменных.

3. Запишем значение переменной b в a. Таким образом, мы "затрем" прежнее содержимое a, а значение b будет храниться в двух переменных.

4. Однако значение a не потеряно, т.к. заранее было сохранено в c. Теперь мы можем присвоить переменной b значение хранимое в c.

В результате данных трех присвоений окажется, что в переменной a будет значение b, в b - значение a.

Й способ. Путем арифметических операций

1. Запишем в переменную a сумму значений двух переменных: a и b.

2. Переменной b присвоить разность между новым значением переменной a и значением b. Таким образом в b окажется старое значение a.

3. Переменной a присвоить разность между ее текущим значением и новым значением переменной b. В результате в a окажется старое значение b.

Исходный код на языке программирования Pascal

// 1- й способ:

var a,b,c: integer;
begin
 readln(a);
readln(b);
 writeln('a=',a,'; b=',b);
 c:= a;
 a:= b;
b:= c;
 writeln('a=',a,'; b=',b);
end.

// 2- й способ:

var a,b: integer;
begin
 readln(a);
 readln(b);
 writeln('a=',a,'; b=',b);
 a:= a + b;
 b:= a - b;
 a:= a - b;
 writeln('a=',a,'; b=',b);
end.

Пример(ы) выполнения программы на языке Pascal

5
6
a=5; b=6
a=6; b=5

 

 

Занятие 2. Линейные алгоритмы. Форматированный вывод данных

Задача

Продемонстрировать возможности

· вывода данных в табличной форме (с выровненными столбцами),

· выравнивания слева,

· вывода вещественных чисел с заданным количеством знаков после запятой.

Пояснение к задаче и алгоритм решения

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

В языках КуМир и Basic-256 подобных языковых возможностей найти не удалось. Если их действительно нет, то видимо потому, что данные языки являются исключительно учебными.

Исходный код на языке программирования Pascal

var
m, n: real;
 s1, s2: string [10];
begin
 m:= 1.45678;
 n:= -0.23451;
 s1:= 'Hello';
 s2:= 'world';
 writeln(m:10:2, n:10:2);
writeln(s1:10, s2:10);
 writeln;
write(s1:-9, s2);
end.

 

Пример(ы) выполнения программы на языке Pascal

 1.46 -0.23
Hello world
Helloworld

 

Особенности решения на языке программирования Pascal

В Pascal при выводе в поля заданной ширины следует указать через двоеточие после переменной (или непосредственно числа или строки) количество знакомест. При выводе вещественных чисел после указания количества знакомест также через двоеточие указывается количество знаков после запятой. Они не являются добавочными к количеству знакомест, а включены в это количество. Если для вещественного числа не указать количество цифр после запятой, то число будет выведено в экспоненциальной форме. Для выравнивания по левому краю, по аналогии с другими языками программирования, следует использовать минус перед числом-количеством знакомест. Однако для FreePascal это не сработало. Хотя компилятор не сообщил ни о какой ошибке.

 

 

Занятие 3. Линейные алгоритмы. Вычисление площадей и периметров фигур

 

Задача

Вычислить площадь и периметр

· треугольника по данным трем сторонам,

· прямоугольника по данным ширине и высоте,

· круга по заданному радиусу.

Длины сторон и радиус вводятся пользователем.

Пояснение к задаче и алгоритм решения

Площади и периметры фигур можно найти по следующим формулам.

Периметр треугольника: P = a + b + c
Площадь треугольника: S = √(p(p-a)(p-b)(p-c)), где p = P/2

Периметр прямоугольника: P = 2(a + b)
Площадь прямоугольника: S = ab

Периметр круга: P = 2πr
Площадь круга: S = πr2

Исходный код на языке программирования Pascal

var
 a,b,c: word;
 w,h: word;
 r: word;
 P,S: real;
begin
 readln(a,b,c);
 P:= (a + b + c) / 2;
 S:= sqrt(P * (P - a) * (P - b) * (P - c));
 writeln('P=',a+b+c,'; S=',S:5:2);
 readln(w,h);
 writeln('P=',(w+h)*2,'; S=',w*h);
 readln(r);
 P:= 2 * pi * r;
S:= pi * r * r;
 writeln('P=',P:5:2,'; S=',S:5:2);
end.

Пример(ы) выполнения программы на языке Pascal

5 3 5
P=13; S= 7.15
3 9
P=24; S=27
5
P=31.42; S=78.54

 


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.