- •Архитектура эвм: модель работы процессора, понятия аккумулятора, регистров, счетчика команд.
- •2). Архитектура эвм: представление целых и вещественных чисел, выполнение арифметических операций над целыми числами.
- •3. Определение алгоритма. Основные свойства алгоритма.
- •4. Формы представления алгоритмов. Базовые управляющие структуры: линейный, ветвление, цикл.
- •5. Этапы решения задач на эвм.
- •6. Алгоритм поиска максимального и минимального элементов в векторе.
- •7. Алгоритм поиска максимального и минимального элемента в матрице.
- •8. Алгоритм поиска в множестве точек точки, наиболее близко расположенной к началу координат.
- •9. Алгоритм вычисления значения многочлена по схеме Горнера.
- •10. Алгоритмы перевода числа в систему счисления по основанию 10.
- •11. Алгоритм перевода числа из системы счисления по основанию 10 в двоичную, восьмеричную, шестнадцатеричную системы
- •12. Алгоритм,который определяет является ли строка палиндромом
- •14. Алгоритм который определяет, является ли число простым
- •15. Алгоритм сортировки вектора методом «пузырек».
- •19. Функции
12. Алгоритм,который определяет является ли строка палиндромом
В целочисленной матрице С[1..n,1..n] определите номер строк которые образуют палиндромы ( симметричные последовательности, например, 1 2 3 3 3 1 или 7 8 9 8 7)
Решение
const n=3;
var c: array[1..n,1..n] of integer;
p,i,j:integer;
s:string;
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=StrToInt(InputBox('Ввод','c['+IntToStr(i)+', '+IntToStr(j)+']',''));
s:='';
for i:=1 to n do
begin
p:=1;
for j:=1 to n do
if c[i,j]<>c[i,n-j+1] then p:=0;
if p=1 then s:=s+IntToStr(i)+' ';
end;
showmessage(s);
end;
end
14. Алгоритм который определяет, является ли число простым
Дан целочисленный вектор. Выясните, есть ли в нем простые числа.
const n=5;
var
a:array [1..n] of integer;
i,k,j:integer;
f,f1:boolean ;
begin
f1:=false;
for i:=1 to n do
begin
a[i]:=StrToInt(InputBox('Ввод массива','Введите элемент массива',''));
f:=true;
for j:=2 to a[i]-1 do
if (a[i]mod j)=0 then f:=false;
if f then f1:=true;
end;
if f1 then showmessage('Есть простые числа ');
end;
end.
15. Алгоритм сортировки вектора методом «пузырек».
На практике многие задачи требуют упорядочивания данных, т.к. упорядоченных наборах данных проще и быстрее искать нужную информацию. В теоретической и прикладной информатике, большое внимание уделяется алгоритмам упорядочивания или алгоритмам сортировки данных.
Пусть дан вектор s[1..n].
Вектор отсортирован по возрастанию, если для любого i=1,...,n-1 выполняется условие s[i]<s[i+1].
Вектор отсортирован по не убыванию, если для любого i=1,...,n-1 выполняется условие s[i]<=s[i+1].
Вектор отсортирован по убыванию, если для любого i=1,...,n-1 выполняется условие s[i]>s[i+1].
Вектор отсортирован по не возрастанию, если для любого i=1,...,n-1 выполняется условие s[i]>=s[i+1].
Отсортировать вектор значит переставить его элементы так, чтобы для всех элементов вектора выполнялось заданное условие.
Заметим, что отсортировать строго по возрастанию или убыванию можно только векторы, в которых нет элементов с равными значениями.
Для определенности будем сортировать вектор по не убыванию.
Алгоритм сортировки "пузырек” (bubble-sort)
1. Вектор просматривается слева направо и сравниваются соседние элементы. Если s[i] > s[i+1], то элементы меняются местами.
2. Просмотры продолжаются до тех пор, пока сохраняется неупорядоченность, т.е. находится по крайней мере одна пара, такая что s[i]> s[i+1] для некоторого 1<=i<=n-1.
Просмотр 1.
13 6 8 15 4 13 <-> 6
6 13 8 15 4 13 <-> 8
6 8 13 15 4 15 <-> 4
6 8 13 4 15
Просмотр 2.
6 8 13 4 15 13 <-> 4
6 8 4 13 15
Просмотр 3.
6 8 4 13 15 8 <-> 4
6 4 8 13 15
Просмотр 4.
6 4 8 13 15 6 <-> 4
4 6 8 13 15 Вектор упорядочен!
Сортируется по не убыванию вектор a[1..n].
Sort – переменная, которая получит значение true, когда вектор будет отсортирован.
sort:=false;
while not sort do
begin sort:=true;
for i:=1 TO n-1 do
//Если упорядоченность нарушена, элементы меняются
if a[i]>a[i+1] then
begin sort:=false;h:=a[i];a[i]:=a[i+1];a[i+1]:=h end;
end;//while