Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика. Программирование для библиотечных специалистов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

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

Постановка задачи:

сбор информации о задаче;

формулировка условия задачи;

определение конечных целей решения задачи;

определение формы выдачи результатов;

описание данных (их типов, диапазонов величин, структуры и т.п.).

Анализ и исследование задачи, модели:

анализ существующих аналогов;

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

разработка математической модели;

разработка структур данных.

Разработка алгоритма:

выбор метода проектирования алгоритма;

выбор формы записи алгоритма (блоки-схемы, псевдокод и др.);

выбор тестов и метода тестирования;

проектирование алгоритма.

Программирование:

выбор языка программирования;

уточнение способов организации данных;

запись алгоритманавыбранномязыкепрограммирования. Тестирование и отладка:

синтаксическая отладка;

отладка семантики и логической структуры;

21

тестовые расчеты и анализ результатов тестирования;

совершенствование программы.

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

Сопровождение программы:

доработка программы для решения конкретных задач;

составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов,

киспользованию.

Практический блок

Семинар по теме «Языки программирования»

1.История возникновения языков программирования.

2.Машинно-ориентированные языки программирования. Ассемблер.

3.Машинно-независимые языки программирования. История появления языков программирования Бейсик и Паскаль.

4.Профессиональная деятельность программистов.

Список литературы к теме 2

1.Воройский, Ф. С. Информатика: новый систематизированный толковый словарь-справочник: (введение в современные информационные и телекоммуникационные технологии в терминах и фактах) / Ф. С. Воройский. — 3-е изд., перераб. и доп.

М. : ФИЗМАТЛИТ, 2003.

2.Голицына, О. Л. Языки программирования: учеб. посо-

бие / О. Л. Голицына, Т. Л. Партыка, И. И. Попов. — М. : ФОРУМ: ИНФРА-М, 2014. (Профессиональное образование).

3. Информатика: учебник для бакалавров / Под общ. ред. В. В. Трофимова. — М. : Юрайт: ИД Юрайт, 2013.

22

4. Информатика: практикум по технологии работы на компьютере / Под ред. Н. В. Макаровой. — М. : Финансы и статистика, 2002.

5. Информатика: учебник для вузов / Под ред. Н. В. Макаровой. — М. : Финансы и статистика, 2002. — 768 с.

6. Информатика. Учебник для вузов: стандарт третьего поколения. Гриф УМО МО РФ / Н. В. Макарова, В. Б. Волков.

— СПб. : Питер, 2013. — 574 с.

Вопросы и задания для самостоятельной работы

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

2.Почему программирование является наукой и искусством?

3.Что такое транслятор? Какие бывают трансляторы? Поясните на примере.

4.Чем отличаются исходный код, машинный и исполняемый коды?

5.Что такое язык программирования?

6.Как классифицируются языки программирования?

7.Каковы этапы решения задач с помощью компьютера? Какие этапы выполняются без участия компьютера?

8.Какие существуют два пути для построения компьютерной модели? Приведите примеры решения одной задачи двумя путями.

9.Какие различают основные базовые алгоритмические конструкции?

Творческий блок

Опишите основные этапы эволюции языков программирования. Дайте краткую характеристику каждому этапу, приведите примеры языков программирования современного этапа (по учебнику: Информатика. Учебник для вузов: стандарт третьего поколения. Гриф УМО МО РФ / Н. В. Макарова, В. Б. Волков.

— СПб. : Питер, 2013. — Глава 19. — С. 559–562).

23

ТЕМА 3. СТРУКТУРА ЯЗЫКА ПРОГРАММИРОВАНИЯ. ИНТЕГРИРОВАННАЯ СРЕДА ПРОГРАММИРОВАНИЯ

TURBO PASCAL.

СТРУКТУРА ПРОГРАММЫ В СРЕДЕ ПРОГРАММИРОВАНИЯ TURBO PASCAL

Теоретический блок

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

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

Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.

Алфавит — это фиксированный для данного языка набор основных символов, т.е. «букв алфавита», из которых должен состоять любой текст на этом языке, — никакие другие символы в тексте не допускаются.

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

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

24

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

Основными понятиями в алгоритмических языках обычно являются следующие.

1. Имена (идентификаторы) — употребляются для обозначения объектов программы (переменных, массивов, функций и дp.).

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

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

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

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

2. Операции. Типы операций:

арифметические операции: + , — , * , / и дp.;

логические операции: и , или , не ;

операции отношения: < , > , <= , >= , = , <> ;

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

3. Данные — величины, обрабатываемые программой.

Имеется три вида данных: константы, переменные и массивы.

Константа — область памяти, адрес (имя), которую мож-

но использовать для получения хранящегося в нем значения.

25

Это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

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

числовые: 7.5, 12;

логические: да (истина), нет (ложь);

символьные (содержат ровно один символ): «А» , «+» ;

литерные (содержат произвольное количество символов): «a0», «Мир», «« (пустая строка).

Переменная — это область памяти, адрес (имя),

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

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

4. Выражения — предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций (например, exp(x)), объединенных знаками операций.

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

Различают выражения арифметические, логические и строковые.

Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x = 0 равно 0,5, а при x = p/2 — единице.

Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким

26

образом, логическое выражение может принимать только два значения — «истина» или «ложь» («да» или «нет»). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r, определяющее принадлежность точки с координатами (x, y) внутренней области круга радиусом r c центром в начале координат. При x = 1, y = 1, r = 2 значение этого выражения — «истина», а при x = 2, y = 2, r = 1 — «ложь».

Строковые (литерные) выражения, значениями которых являются тексты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки. Например, А + В означает присоединение строки В к концу строки А. Если А = «куст», а В = «зеленый», то значение выра-

жения А + В есть «куст зеленый».

5. Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят:

ключевые слова;

данные;

выражения и т.д.

Операторы подразделяются на исполняемые и неисполняемые. Неисполняемые операторы предназначены для описания данных и структуры программы, а исполняемые — для выполнения различных действий (например, оператор присваивания, операторы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).

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

27

Практический блок

1.Изучите презентацию «ИС Turbo Pascal» из папки «Курс по программированию».

2.Найдите основные файлы интегрированной среды Turbo

Pascal.

3.Запишите структуру программы на языке Turbo Pascal.

4.Выделите основные характеристики целых типов дан-

ных.

5.Выделите основные характеристики вещественного типа данных real.

Вопросы и задания для самостоятельной работы

1.Перечислите простые типы данных интегрированной среды Turbo Pascal.

2.Как определяется диапазон целого типа byte, shorint, word, integer? Каковы допустимые операции? (Разобрать выполнение операций mod и div).

3.Как определяется диапазон вещественного типа данных

real?

Творческий блок

Изучите презентацию «Графика в Pascal» из «Курса по программированию». Выполните все описанные алгоритмы. Создайте логотип факультета с использованием графических операторов.

28

ТЕМА 4. ЛИНЕЙНЫЕ АЛГОРИТМЫ. АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «СЛЕДОВАНИЕ». ОПЕРАТОР ПРИСВАИВАНИЯ.

СОЗДАНИЕ ПРОГРАММНЫХ ПРОДУКТОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМИЧЕСКОЙ СТРУКТУРЫ «СЛЕДОВАНИЕ». ТЕСТИРОВАНИЕ,

ОТЛАДКА, ИСПОЛЬЗОВАНИЕ СРЕДЫ ДЛЯ ОТЛАДКИ ПРОГРАММ

Теоретический блок

Линейный алгоритм является аналогом обычного последовательного решения какой-либо задачи, когда все действия записываются поочередно. Алгоритмическая структура — следование:

Действие 1

Действие 2

Действие n

В программировании реализация линейного алгоритма является наиболее простой конструкцией, так как подразумевает выполнение трех этапов:

1)первый — ввод данных;

2)второй — вычисления с помощью операторов присваивания;

3)третий — вывод данных.

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

29

значения, возвращаемого функцией. В общем виде оператор присваивания можно записать так:

переменная := выражение.

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

Способ применения опе-

 

Вид арифметиче-

Пример

ратора

 

ского выражения

 

Присвоение переменной

 

число

А:=7;

начального значения

 

 

 

Пересылка значений из

 

переменная

В:=А;

одной переменной в дру-

 

 

 

гую

 

 

 

Вычисление значения

 

арифметическое вы-

D:=A*5+B;

арифметического выраже-

 

ражение

 

ния с сохранением резуль-

 

 

 

тата

 

 

 

Написание программы

предполагает создание диалога

с пользователем и вывод результата на экран. Правилом хорошего тона в программировании считается использование подсказок при вводе значений («Введите число»), расшифровка результата («Сумма чисел равна») и поясняющих сообщений при работе программы («Корней нет и не будет!»). Кроме того, при выводе результата используется так называемый формат (шаблон) вывода. Первое число резервирует общее число знаков в выводимом числе, второе — количество знаков после десятичной точки. Это необходимо для того, чтобы вместо малопо-

нятной записи 1.34576848Е + 01 (что означает 1.34576848 * 101)

на экране отобразилось вполне понятное нам число 13,46.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]