Что происходит на этапе алгоритмизации что является результатом этого этапа кратко

Обновлено: 30.06.2024

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

В англоязычных странах применяют термин computerscience -- компьютерная наука или informatics.

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

Предмет информатики.

Предмет информатики включает:

аппаратное обеспечение средств вычислительной техники;

программное обеспечение средств вычислительной техники;

средства взаимодействия аппаратного и программного обеспечения;

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

Информатику в узком смысле можно представить, как состоящую из трех взаимосвязанных частей – технических средств(hardware), программных средств(software), алгоритмических средств(brainware).

Понятие информационной технологии.

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

Назначение текстовых процессоров.

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

Назначение электронных таблиц.

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

Понятие информации.

Термин информация ведет свое происхождение от латинского слова informatio, означающего разъяснение, изложение, осведомленность.

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

По законодательству РФ :

информация - сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления.

Свойства информации.

Можно перечислить основные свойства информации, например такие как:

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

Адекватность, Достоверность, Полнота, Ценность, Актуальность, Понятность.

Единицы измерения информации.

-Бит – binarydigit - двоичная цифра

10101011 – V= 8 бит

-Байт – byte - 8 бит

-1Кбайт = 2 10 байт= 1024 байта

-1Мбайт = 2 10 Кбайт= 1024 Кбайта

-1Гбайт = 2 10 Мбайт= 1024 Мбайта

Алгоритмизация вычислительных процессов.

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

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

10. Основные определения и понятия программирования.

Программирование - это раздел информатики, изучающий методы и приемы составления программ для компьютеров. Кроме того, программирование - это подготовка задачи к решению ее на компьютере.

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

Язык программирования – предназначен для реализации программ на ЭВМ.

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

11. Переменная и ее свойства.

Переменная – это объект, который в ходе выполнения программы может менять свое значение.

переменная называется неопределенной до тех пор, пока она не получит значение:

б) занесением константы;

в) занесением значения другой, ранее определенной переменной;

в каждый момент времени переменная может либо иметь определенное значение, либо быть неопределенной;

последующее значение уничтожает (стирает) предыдущее значение. Выбор (чтение) переменной и ее использование не изменяют значение переменной.

12. Изобразительные средства алгоритмов.

13. Базовые канонические структуры алгоритмов.

Программа, составленная из канонических структур, будет называться регулярной программой, т.е. иметь 1 вход и 1 выход, каждый оператор в программе может быть достигнут при входе через ее начало (нет недостижимых операторов и бесконечных циклов). Управление в такой программе передается сверху-вниз. Снабженные комментариями, такие программы хорошо читабельны.

1)следование

Действия А и В могут быть:
- отдельным оператором;
- вызовом с возвратом некоторой процедуры;
- другой управляющей структурой.

IF P then A else B;

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

IF P then A ;

3)повторение

Цикл – пока

While P do A ;

Действие А будет повторяться до тех пор, пока значение предиката будет оставаться истинным. Поэтому в действии А должно изменяться значение переменных, от которых зависит Р. В противном случае произойдет зацикливание. Вычисление предиката производится до начала выполнения действия А, и может случиться так, что действие А не будет выполняться ни разу.

Цикл – до

Repeat A until P;

Повторение типа Repeat until всегда выполняется хотя бы 1 раз. Действие А перестает выполняться, как только предикат становится истинным.

4) выбор – переключатель case (обобщение развилки), структура, облегчающая программирование без ущерба для ясности программы. Структура выбор полезна в том случае, когда требуется выбрать одну из нескольких альтернатив.

В зависимости от значения Р выполняется одно из действий А, В, …Z. После чего происходит переход к выполнению следующей управляющей структуры

14. Основные понятия языка Паскаль (алфавит, элементарные конструкции, типы данных)

:: = A | B | …| Z | a | b | …| z |

:: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Типы: простые, структурированные, ссылки



15. Арифметические и логические выражения. Действия над данными и оператор присваивания.

К арифметическим типам данных относятся группы вещественных и целых типов. К ним применимы арифметические операции и операции отношений.

Операции над данными бывают унарными (применимые к одному операнду) и бинарными (применимые к двум операндам).

Операции типа умножения

Операции типа сложения

Операции сравнения (отношения)

16. Управляющие операторы языка.

Операторы ветвления

Операторыветвленияifивариантаcaseприменяютсядлятого, чтобывзависи-

Условный оператор if

if выражение then оператор_1 [else оператор_2;]

Сначалавычисляетсявыражение, котороедолжноиметьлогическийтип. Еслионо

имеетзначениеtrue, выполняетсяпервыйоператор, иначе—второй. Послеэтого

17. Операторы цикла в Паскале.

- типа арифметической прогрессии


20. Область действия имен в Паскаль программе.

В программе на языке FPC различают глобальные и локальные имена. Глобальные имена определены во внешней программе. Память под них выделяется статически при компиляции. Они доступны во всех внутренних точках, в том числе в подпрограммах.

Локальные имена определены в подпрограммах. Память под них выделяется динамически (в стеке) при исполнении подпрограммы. Они доступны во внутренних точках подпрограммы, а во внешней программе недоступны.

Если локальное и глобальное имя совпадают, то в подпрограмме локальное имя блокирует глобальное. Совпадения глобальных и локальных имен лучше избегать. Чтобы получить доступ к глобальному имени в подпрограмме, его надо указывать составным. Формат доступа к глобальному имени: . .

21. Особенности описания и вызова процедур.

результатом обращения к функции может быть одно единственное значение;

* идентификатор результата не указывается в списке формальных параметров;

* в выполняемой части функции, хотя бы один раз , имени функции должно быть присвоено значение результата ( чаще всего перед выходом из функции);

* после списка формальных параметров задается тип результата;

* после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом).

22. Особенности описания и вызова функции.

FUNCTION PRF (A,B,C: INTEGER) : REAL;

Writeln( PRF ( A,B,C));

If PRF ( A,B,C)>20 then K=K+1;

При описании процедуры (функции) в ее заголовке могут быть указаны параметры следующих видов:

23. Формальные и фактические параметры.

Формальные параметры – данные, с которыми работает подпрограмма (ПП). Это внутренние данные для ПП. Они перечисляются в заголовке ПП и связаны с фактическими параметрами. Фактические параметры – данные, передаваемые в ПП и возвращаемые из нее. Это внешние для ПП данные, с которыми имеет дело вызывающая часть программы. В ПП им соответствуют формальные параметры. Указываются в списке фактических параметров при обращении к ПП. Синонимы:

Параметры = формальные параметры.

Аргументы = фактические параметры.

Для формальных и фактических параметров необходимо соблюдать соответствия:

одинаковый порядок следования,

совместимость типов по присвоению.

24. Рекурсивные процедуры и функции.

Рекурсия – это способ организации вычислительного процесса, при котором процедура или функция в процессе выполнения входящих в ее состав операторов обращается сама к себе непосредственно, либо через другие процедуры и функции.

FUNCTION FACT (N:INTEGER): REAL;

IF N=1 THEN FACT:=1 ELSE

25. Понятие модуля, его описание и подключение.

26. Структура и описание модуля.

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы TurboPascal, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми.

27. Стандартные модули Паскаля.

Модуль содержит базовые средства языка, которые поддерживают ввод-вывод, работу со строками, операции с плавающей точкой и динамическое распределение памяти. Этот модуль автоматически используется во всех программах, и его не требуется указывать в операторе uses. Он содержит все стандартные и встроенные процедуры, функции, константы и переменные Паскаля.

Модуль предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля Crt выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять.

В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.

Модули Dos и WinDos

Модули Dos и WinDos содержат подпрограммы, реализующие возможности операционной системы MS-DOS - например, переименование, поиск и удаление файлов, получение и установку системного времени, выполнение программных прерываний и так далее. Эти подпрограммы в стандартном Паскале не определены. Для поддержки подпрограмм в модулях определены константы и типы данных.

Модуль Dos использует строки Паскаля, а WinDos - строки с завершающим нулем.

Модуль обеспечивает работу с экраном в графическом режиме.

Экран в графическом режиме представляется в виде совокупности точек - пикселов. Цвет каждого пиксела можно задавать отдельно. Начало координат находится в левом верхнем углу экрана и имеет координаты (0, 0). Количество точек по горизонтали и вертикали (разрешение экрана) и количество доступных цветов зависят от графического режима. Графический режим устанавливается с помощью служебной программы - графического драйвера.

28. Процедуры и функции модуля CRT

Модуль предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля Crt выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять.

В текстовом режиме экран представляется как совокупность строк и столбцов. Каждый символ располагается на так называемом знакоместе на пересечении строки и столбца. Символы хранятся в специальной части оперативной памяти, называемой видеопамятью. Ее содержимое отображается на экране.

29. Функции и процедуры порядкового типа.

Функции порядкового типа.

Имя функции Назначение функции
Odd(X) Проверяет, является ли аргумент нечетным числом Odd(0)=false Odd(1)=true Odd(2)=false Odd(-1)=true
Pred(X) Возвращает предшествующее значение аргумента Pred(10)=9 Pred(-10)=-11
Succ(X) Возвращает последующее значение аргумента Succ(10)=11 Succ(-10)=-9

Процедуры порядкового типа.

Имя процедуры Назначение процедуры
Dec(X [,dx]) Уменьшает значение переменной Х на величину dx (если параметр dx не задан, то на –1) k:=5; Dec(k)=4 Dec(k,2)=3 Dec(k,-2)=7
Inc(X [,dx]) Увеличивает значение переменной Х на величину dx (если параметр dx не задан, то на +1) k:=5; Inc (k)=6 Inc (k,2)=7 Inc (k,-2)=3

30. Процедуры и функции преобразования.

Procedure Str(X [: Width [: Decimals]]; var S);

Преобразовывает число X в строковое представление согласно Width и параметрам форматированияDecimals.

X - выражение вещественного или целого типа. Width и Decimals - выражения целого типа. S - переменная типа String или символьный массив с нулевым окончанием, если допускается расширенный синтаксис.

Function Chr(X: Byte): Char;

Возвращает символ с порядковым номером Х в ASCII-таблице.

Function High(X);

Возвращает наибольшее значение в диапазоне параметра.

Function Low(X);

Возвращает наименьшее значение в диапазоне параметра.

FunctionOrd(X): LongInt;

Возвращает порядковое значение выражения перечислимого типа.

Function Round(X: Extended): LongInt;

Округляет значение вещественного типа до целого.

X - выражение вещественного типа. Round возвращает значение Longint, которое является значением X, округленным до ближайшего целого числа. Если X - точно посередине между двумя целыми числами, возвращается число с наибольшей абсолютной величиной.

Function Trunc(X: Extended): LongInt;

Усекает значение вещественного типа до целого.

Если округленное значение X выходит за диапазон LongInt, генерируется ошибка времени выполнения программы, которую вы можете обработать с использованием исключительной ситуации EInvalidOp .

Procedure Val(S; var V; var Code: Integer);

Преобразовывает число из строкового значения S в числовое представление V.

S - выражение строкового типа - последовательность символов, которая формирует целое или вещественное число.

Если выражение S недопустимо, индекс неверного символа сохраняется в переменной Code. В противном случае Code устанавливается в ноль.

31. Процедуры и функции для обработки строк.

В системе TurboPascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками. Ниже приводится список этих процедур и функций с краткими пояснениями.

Функция возвращает в качестве результата значение текущей длины строки-параметра

Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов.

Copy(s:string; index:integer; count:integer):string

Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.

Delete(var s:string; index,count:integer)

Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.

Insert(source:string; var s:string;index:integer)

Процедура предназначена для вставки строки source в строку s, начиная с символа

Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.

Str(X: арифметическое выражение; varst: string)

Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.

Val(st: string; x: числоваяпеременная; var code: integer)

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

32. Процедура ввода-вывода.

Процедуры ввода/вывода относятся к стандартным или встроенным процедурам TurboPascal. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней.

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

Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.

Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных. Например, алгоритм решения квадратного уравнения в области действительных чисел должен содержать все возможные исходы решения, т.е., рассмотрев значения дискриминанта, алгоритм находит либо два различных корня уравнения, либо два равных, либо делает вывод о том, что действительных корней нет.

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

Способы описания алгоритмов

Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.

Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е. словесное описание алгоритма, в соответствии которому данный прибор должен использоваться.

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

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

Рассмотрим некоторые основные конструкции, использующиеся для построения блок-схем (рис. 1).

1

(1) Блок, характеризующий начало/конец алгоритма (для подпрограмм – вызов/возврат);

(2) Блок - процесс, предназначенный для описания отдельных действий;

(3) Блок - предопределенный процесс, предназначенный для обращения к вспомогательным алгоритмам (подпрограммам);

(4) Блок - ввода/вывода с неопределенного носителя;

(5) Блок - ввод с клавиатуры;

(6) Блок - вывод на монитор;

(7) Блок - вывод на печатающее устройство;

(8) Блок – решение (проверка условия или условный блок);

(9) Блок, описывающий блок с параметром;

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

Основные алгоритмические конструкции

Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (последовательные), разветвляющиеся, циклические и рекурсивные.

Линейная алгоритмическая конструкция

Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i- гo действия (шага) выполняется (i+ 1)-е действие (шаг), если i-e действие – не конец алгоритма.

Опишем алгоритм сложения двух чисел на псевдокоде в виде блок-схемы (рис. 2).

Ввод двух чисел а, b .

Вычисляем сумму S = а + b .

Разветвляющаяся алгоритмическая конструкция

Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если – то) и полное (если – то – иначе) ветвления. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран (рис. 3). Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 4).

1

Рассмотрим стандартный алгоритм поиска наибольшего (наименьшего) значения среди нескольких заданных. Основная идея алгоритма сводится к следующему: за наибольшее (наименьшее) принимаем значение любого из данных. Поочередно сравниваем оставшиеся данные с наибольшим (наименьшим). если окажется, что очередное значение входного данного больше (меньше) наибольшего (наименьшего), то наибольшему (наименьшему) присваиваем это значение. Таким образом, сравнив все входные данные, найдем наибольшее (наименьшее) среди них. Алгоритм использует неполное ветвление.

Заданы три числа. Найти значение наименьшего из них Заданные числа обозначим: а, b, с; результирующее наименьшее – min. На рис. 5 представлена блок-схема алгоритма решения данной задачи.

1

Циклической (или циклом) называют алгоритмическую конструкцию, в кoтoрoй некая, идущая подряд группа действий (шагов) алгоритма может выполняться несколько раз, в зависимости от входных данных или условия задачи. Группа повторяющихся действий на каждом шагу цикла называется телом цикла. Любая циклическая конструкция содержит себе элементы ветвящейся алгоритмической конструкции.

Рассмотрим три типа циклических алгоритмов: ц uкл с параметром (который называют арифметическим циклом), цикл с предусловием и цикл с постусловием (их называют итерационными) .

Арифметический цикл

В арифметическом цикле число его шагов (повторений) однозначно определяется правилом изменения параметра, которое задается с помощью начального (N) и конечного (К) значений параметра и шагом (h) его изменения. Т.е., на первом шаге цикла значение параметра равно N, на втором – N + h, на третьем – N + 2h и т.д. На последнем шаге цикла значение параметра не больше К, но такое, что дальнейшее его изменение приведет к значению, большему, чем К.

1

Цикл с предусловием

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

Блок-схема данной конструкции представлена на рис. 7 двумя способами: с помощью условного блока а и с помощью блока границы цикла б. Особенностью цикла с предусловием является то, что если изначально условное выражение ложно, то тело цикла не выполнится ни разу.

5

Цикл с постусловием

Как и в цикле с предусловием, в циклической конструкции с постусловием заранее не определено число повторений тела цикла, оно зависит от входных данных задачи. В отличие от цикла с предусловием, тело цикла с постусловием всегда будет выполнено хотя бы один раз, после чего проверяется условие. В этой конструкции тело цикла будет выполняться до тех пор, пока значение условного выражения ложно. Как только оно становится истинным, выполнение команды прекращается. Блок-схема данной конструкции представлена на рис. 8 двумя способами: с помощью условного блока а и с помощью блока управления б.

1

Рекурсивный алгоритм

Рекурсивным называется алгоритм, организованный таким образом, что в процессе выполнения команд на каком-либо шаге он прямо или косвенно обращается сам к себе.

Простые типы данных: переменные и константы

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

Переменная – есть именованный объект (ячейка памяти), который может изменять свое значение. Имя переменной указывает на зн ачение, а способ ее хранения и адрес остаются скрытыми от программиста. Кроме имени и значения, переменная имеет тип, определяющий, какая информация находится в памяти. Тип переменной задает:

Если переменные присутствуют в программе, на протяжении всего времени ее работы – их называют статическими. Переменные, создающиеся и уничтожающиеся на разных этапах выполнения программы, называют динамическими.

Структурированные данные и алгоритмы их обработки

Для повышения производительности и качества работы необходимо иметь данные, максимально приближенные к реальным аналогам. Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным. Каждый язык программирования имеет свои структурированные типы. Рассмотрим структуру, объединяющую элементы одного типа данных, - массив.

Ввод элементов одномерного массива осуществляется поэлементно, в порядке, необходимом для решения конкретной задачи. Обычно, когда требуется ввести весь массив, порядок ввода элементов не важен, и элементы вводятся в порядке возрастания их индексов. Алгоритм ввода элементов массива А(10) представлен на рис.9.

1

В заданном числовом массиве A(l0) найти наибольший элемент и его индекс, при условии, что такой элемент в массиве существует, и единственный.

Обозначим индекс наибольшего элемента т. Будем считать, что первый элемент массива является наибольшим = 1). Сравним поочередно наибольший с остальными элементами массива. Если оказывается, что текущий элемент массива а i (тот, c которым идет сравнение) больше выбранного нами наибольшего ат, то считаем его наибольшим =i) (рис.10).

1

Рассмотрим двумерный массив (шкаф с множеством ящиков, положение которых определяется двумя координатами – по горизонтали и по вертикали). В математике двумерный массив (таблица чисел) называется матрицей. Каждый ее элемент имеет два индекса а ij , первый индекс i определяет номер строки, в которой находится элемент (координата по горизонтали), а второй j – номер столбца (координата по вертикали). Двумерный массив характеризуется двумя размерностями N и М, определяющими число строк и столбцов соответственно (рис. 11).

1

Ввод элементов двумерного массива осуществляется построчно, в свою очередь, ввод каждой строки производится поэлементно, тем самым определяется циклическая конструкция, реализующая вложение циклов. Внешний цикл определяет номер вводимой строки ( i ), внутренний – номер элемента по столбцу ( j ). На рис. 12 представлен алгоритм ввода матрицы A(MxN) .

1

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

Понятие алгоритмизации и алгоритма появилось еще в IX веке нашей эры и произошло от имени его создателя, известного математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi).

Алгоритмизация позволяет переформировать большой объем информации в структурированный, удобный вид. В настоящее время алгоритмизация используется все больше для вычислительных машин, но изначально алгоритмы были созданы для использования людьми для выполнения сложных операций посредством выполнения небольших элементарных шагов. Создание любой инструкции (к оборудованию, инструкции работы с чем-либо) является своего рода алгоритмизацией, т.к. представляет собой последовательной описание действий. Как правило, в инструкции для людей описываются простые процессе – взять, отрыть, повернуть. Те же самые действия описываются и для вычислительных машин, и единственным отличием является то, что для машины такая инструкция написана на языке, который понятен машине.

Методы алгоритмизации

В области алгоритмизации для записи решения могут быть использованы следующие методы описания алгоритма.

Словесное описание, которое представляет собой текстовое описание процесса с использованием формул и выстроенное последовательно – по пунктам, на естественном языке. Например, с помощью алгоритма необходимо решить следующее выражение: $y = 4x + (9 – 8r)$. Если бы решения данного алгоритма было необходимо представить с помощью словесного описания, то это приняло бы вид:

Готовые работы на аналогичную тему

  1. Необходимо ввести значения $x$ и $r$;
  2. Вывести разницу выражения $9 – 8r$;
  3. Умножить $x$ на $4$;
  4. Результат умножения $4 x$ (результат реализации пункта 3) сложить с результатом вычисления $9 – 8r$ (результат реализации пункта 2);
  5. Вывести у как результат вычисления выражения $4x + (9 – 8r)$.

Данный способ не является распространенным, так как имеет некоторый ряд ограничений: не является строго формализованным, достаточно емкий (большое количество лишний слов и, как следствие, большой объем описания), не характеризуется однозначностью.

Блок-схема, которая представляет собой один из методов графического представления алгоритма. При использование такого метода шаги отражаются в виде блоков разной формы, которые соединяются между собой стрелками (прерывистыми или сплошными). Пример блок-схемы алгоритма приведен на рисунке 1;

Рисунок 1. Блок-схема. Автор24 — интернет-биржа студенческих работ

Псевдокод, который представляет собой компактный язык описания алгоритмов посредством ключевых слов императивных языков программирования. Как правило, псевдокод не описывает детали, которые могут быть восприняты человеком верно. Основная цель псевдокода – обеспечения понимания алгоритма пользователем (человеком). Псевдокод занимает некоторое промежуточное место между алгоритмическими языками программирования и естественными (словесным описанием). В псевдокоде используются служебные слова, смысл которых всегда строго определен заранее, они выделяются жирным шрифтом в печатном тексте или подчеркиваются, если тест рукописный. Пример псевдокода представлен на рисунке 2;

Рисунок 2. Псевдокод. Автор24 — интернет-биржа студенческих работ

Алгоритмические языки программирования. Наиболее популярный способ записи алгоритмов для вычислительных машин, который основан на применении кодов, точного описания синтаксиса алгоритма и семантики. Существует достаточно большое количество языков программирования (классифицируемых по различным признакам), например, Pascal, MatLAB, Prolog, Basic, Активный Оберон, Mathematica и т.д. Пример записи на одном из алгоритмических языков представлен на рисунке 3.

Рисунок 3. Язык программирования. Автор24 — интернет-биржа студенческих работ

  • \u0412\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438.
  • \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438.
  • \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430.\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0431\u043b\u043e\u043a-\u0441\u0445\u0435\u043c\u044b.
  • \u0421\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435).
  • \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435.
  • \u0410\u043d\u0430\u043b\u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c. \u00a0 \u00a0 \u00a0 \u00a0

\u0422\u043e \u0435\u0441\u0442\u044c \u0432\u0441\u0451 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c (\u043f\u0443\u043d\u043a\u0442\u044b \u0430, \u0431, \u0432, \u0433) \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0437\u0430\u0446\u0438\u0438.

DedStar

Ответ:

По определению этапы алгоритмизации:

  • Восприятие информации и постановка задачи.
  • Построение математической модели.
  • Разработка алгоритма.Построение блок-схемы.
  • Составление программы (программирование).
  • Реализация программы на компьютере.
  • Анализ результата. При необходимости построить уточненную модель.

То есть всё указанное в задаче может быть (пункты а, б, в, г) результатом алгоритмизации.

Читайте также: