- •Часть 2
- •Основы алгоритмизации
- •1.1. Этапы решения задач с помощью компьютера
- •1.2.Алгоритм: определение и свойства
- •Свойства алгоритма
- •1.3. Запись алгоритма в виде блок-схем
- •1.4. Основные типы вычислительных алгоритмов
- •2. Основы программирования на Паскале
- •Основные элементы языка
- •Стандартные идентификаторы
- •Зарезервированные слова языка Паскаль
- •Общие правила написания идентификаторов
- •Общая структура программы на Паскале
- •Константы и переменные
- •Комментарии
- •2.2. Типы данных
- •Целочисленные типы
- •Целочисленные типы данных
- •Вещественные типы
- •Вещественные типы данных
- •Булевский тип boolean
- •Массивы
- •2.3. Программирование линейных вычислительных процессов Арифметические выражения
- •Sqr (cos (1.5*pi*z)) – sqrt (exp (frac(y))).
- •Оператор присваивания
- •Организация ввода и вывода
- •2.4. Организация программ разветвляющейся структуры Логические выражения
- •Оператор условия if
- •If p then a1 else a2;
- •Оператор выбора case
- •Оператор перехода goto
- •2.5. Организация программ циклической структуры
- •Оператор цикла с параметром for
- •Оператор цикла с предусловием while
- •Оператор цикла с постусловием repeat
- •Вложенные циклы
- •2.6. Подпрограммы
- •Функции
- •Процедуры
- •Область действия параметров
- •Блок а – основная программа
- •4. Примеры решения задач Вариант 10
- •Программа
- •Пример расчета
- •Пример расчета
- •Разность наибольшего и наименьшего элементов
- •Задача 5 Программа
- •Пример расчета
- •Список литературы
- •Содержание
- •153460, Г. Иваново, пр. Ф. Энгельса, 7.
4. Примеры решения задач Вариант 10
Задача 1.
Блок-схема алгоритма решения задачи |
Программа
| |
Вычисление
z Вычисление
y |
program zadacha_1; var c, x, y, z: real; {описание переменных}; begin writeln (‘Введите исходные данные:’); write (‘c=’); readln (c); write (‘x=’); readln (x); z:= c*x*x – 2.5E2*sqrt (sqr(sin(x))+exp(x)); z:= z/(2*c*x); y:= 0.37E-3*exp(1/3*ln(sqr(cos(x*x/2)))); y:= z*sin(exp(-x))+y/(1+c); writeln (‘Результаты расчета:’); writeln (‘z=’, z:10:4); writeln (‘y=’, y:10:4);
Пример расчета: Введите исходные данные: c=0.35 x=1.44 Результаты расчета: z= -565.0436 y= -132.6253
|
Задача 2.
Программа
|
Примеры расчета
|
program zadacha_2; var x, y: real; {координаты точки}; begin writeln (‘Введите координаты точки:’); write (‘x=’); readln (x); write (‘y=’); readln (y); if (x*x+sqr(y-1)<=1) and (y<= x+1) and (y<= -x+1) then writeln (‘Точка принадлежит области.’) else writeln (‘Точка не принадлежит области.’); readln; end.
|
Пример 1 Введите координаты точки: x=0.1 y=0.5 Точка принадлежит области.
Пример 2 Введите координаты точки: x=-2 y=5 Точка не принадлежит области.
. |
Задача 3. Блок-схема алгоритма решения задачи
Программа
program zadacha_3;
uses crt;
const
m=500; {максимальное значение n};
var
a: array [1..m] of integer; {массив, состоящий из членов последовательности};
n: word; {число членов последовательности}
kol: word; {количество нечетных и отрицательных членов последовательности}
sum: integer; {сумма членов последовательности, кратных 5}
i: word; {счетчик цикла}
begin
writeln (‘Введите исходные данные:’);
write (‘n=’); readln (n);
for i:=1 to n do
begin
write (‘a[‘,i:3,’]=’); readln (a[i]);
end;
kol:=0; sum:=0;
for i:=1 to n do
begin
if odd(a[i]) and (a[i]<0) then kol:= kol +1;
if a[i] mod 5=0 then sum:= sum +a[i];
end;
writeln (‘результаты расчета:’);
writeln (‘количество нечетных и отрицательных ’);
writeln (‘членов последовательности равно’,kol:4);
writeln (‘сумма членов последовательности, кратных 5, равна’, sum:4);’);
readln;
end.
Пример расчета
Введите исходные данные
n=10
a[ 1]=1
a[ 2]=5
a[ 3]=-3
a[ 4]=-4
a[ 5]=0
a[ 6]=6
a[ 7]=-25
a[ 8]=-100
a[ 9]=9
a[ 10]=-7
Результаты расчета:
Количество нечетных и отрицательных членов последовательности
равно 3
Сумма членов последовательности, кратных 5, равна –120
Задача 4
Блок – схема алгоритма решения задачи
Да
Нет
Да
Нет
Программа
Program zadacha_4;
const
p=100;
var
a :array [1..p,1..p] of integer; {исходная матрица}
n ,m :integer;{размеры матрицы}
i , j :integer;{счетчики циклов}
max :integer;{максимальный элемент строки}
min :integer;{минимальный элемент строки}
razn :integer;{разность максимального и минимального элементов}
begin
write (‘m=’); readln (m);
write (‘n=’); readln (n);
writeln (‘Матрица’);
for i:=1 to m do
begin
for j:=1 to n do read (a[i,j]);
end;
writeln (‘Разность наибольшего и наименьшего элементов’);
for i:=1 to m do
begin
min :=a[i,1];
max :=a[i,1];
for j:=1 to n do
begin
if a[i,j]<min then min:=a[i,j];
if a[i,j]>max then max:=a[i,j];
end;
razn:=max-min;
writeln(‘для ‘,i:3,’-й строки равна ‘, razn:5);
end;
readln;
end.