Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 22:29, контрольная работа
Важнейшую роль в курсе информатики играет формирование у студентов алгоритмического стиля мышления, который выступает не только как стимулятор общего развития, но и позволяет ввести их в сложный мир новых информационных технологий. Без программирования развитие алгоритмического мышления практически невозможно, так как отсутствует возможность компьютерного эксперимента: проверки работоспособности разработанного алгоритма. Взаимодействие человека с ЭВМ носит характер общения, поэтому возникли и широко используются различные специальные языки программирования как средство общения человека с компьютером.
Введение
Важнейшую роль в курсе информатики играет формирование у студентов алгоритмического стиля мышления, который выступает не только как стимулятор общего развития, но и позволяет ввести их в сложный мир новых информационных технологий. Без программирования развитие алгоритмического мышления практически невозможно, так как отсутствует возможность компьютерного эксперимента: проверки работоспособности разработанного алгоритма. Взаимодействие человека с ЭВМ носит характер общения, поэтому возникли и широко используются различные специальные языки программирования как средство общения человека с компьютером.
Язык Паскаль был разработан в начале 70-х годов ХХ века швейцарским профессором Никлаусом Виртом как инструмент для систематического обучения программированию. Для этого в состав языка были включены элементы структурного программирования (последовательные, разветвляющиеся и циклические структуры) и структуры данных (массивы, записи, файлы и т.д.). В 1983 году французский математик Филипп Кан разработал компактный, быстродействующий компилятор, названный Турбо Паскалем. В 1992 году фирма Borland International выпустила в свет очередную версию языка Турбо Паскаль 7.0 с улучшенным интерфейсом пользователя и более быстрым компилятором. Принципы построения программ, заложенные в Паскале, получили развитие в таких языка программирования как Ада, Модула-2, Си и т.д. Турбо Паскаль не только обеспечивает возможность создания больших программ, поддерживая их строгую логическую структуру, что весьма ценно для начинающих программистов, создающих серьезные программы, так как приучает их к определенной дисциплине. Кроме того, Паскаль считается достаточно простым и эффективным инструментом для решения инженерных задач.
Предлагаемые методические указания к выполнению лабораторных работ (части 3 и 4) разработаны в помощь первокурсникам в самостоятельном освоении одного из важнейших разделов курса информатики «Алгоритмизация и программирование». Изложение основных вопросов программирования подкрепляется конкретными примерами и сопровождается необходимыми комментариями. В приложениях содержится весь необходимый справочный материал. Для достижения наилучшего результата при изучении изложенного материала необходимо придерживаться следующих общих требований и рекомендаций по выполнению лабораторных работ:
- при подготовке к лабораторным
работам и в процессе их
выполнения студенты
- перед выполнением
- в процессе выполнения работы
непосредственно на компьютере
студент должен
- защита лабораторной работы
осуществляется только после
того, как преподаватель утвердит
представленный студентом
Лабораторная работа №1. Программирование алгоритмов линейной структуры
Цель работы – ознакомление с правилами построения алгоритмов, структурой программы на языке Паскаль, правилами записи арифметических выражений, особенностями программирования алгоритмов линейной структуры, а также использования оператора присваивания, процедур ввода и вывода данных.
1.1 Алгоритм и блок-схема
При решении задач на ЭВМ производится подготовительная работа, включающая в себя следующие этапы: математическая формулировка задачи, разработка алгоритма ее решения, запись программы и подготовка исходных данных. Если математическая формулировка задачи есть, то можно сразу начать с разработки алгоритма.
Алгоритм – это формальное описание способа решения задачи путем разбиения ее на конечную по времени последовательность понятных исполнителю действий (этапов). При этом должны быть четко указаны как содержание каждого этапа, так и порядок выполнения этапов. Отдельный этап алгоритма либо представляет собой другую, более простую задачу, алгоритм которой разработан ранее, либо должен быть достаточно простым и понятным без пояснений. Наиболее распространенный вид алгоритма – графический выполняется в виде блок-схемы – совокупности геометрических фигур (блоков), связанных между собой при помощи стрелок. Все формулы в блок-схеме записываются на языке математики, а не конкретном языке программирования. В таблице А1 приведены наиболее используемые виды блоков. Блок-схемы выполняются в соответствии с ГОСТ 19.701-90, ЕСПД, но для упрощения записи их можно строго не соблюдать. Любой алгоритм синтезируют из типовых элементов: алгоритмов линейной, разветвляющейся и циклической структуры.
1.2 Особенности языка Турбо Паскаль и структура программы
К основным особенностям Турбо Паскаль можно отнести довольно строгие требования к структуре программы. Программа на языке Паскаль записывается в виде последовательности символов, к числу которых относятся латинские буквы, арабские цифры, знаки препинания, знаки операций. Для обозначения исходных данных и результатов вычислений (промежуточных и итоговых) употребляются переменные, имена (идентификаторы) которых могут быть не только буквами - a, b, X, Y и т.д., но и последовательностью символов вида x1, time, alfa2 и т.д., которые состоят из букв и цифр и начинаются с буквы. Ключевые слова – это множество имен, которые используются в языке для написания операторов и других конструкций. Имена, применяемые пользователем для обозначения конструкция не должны совпадать с ключевыми словами. Список зарезервированных слов и перечень операций языка приведены в таблицах В1 и В2. Соответствующее исходное данное или результат вычисления называется значением переменной. Константы отличаются от переменной тем, что их значения не меняются в ходе выполнения программы. Числа записываются в десятичной системе, вместо запятой ставится точка: 0, -19, 0.27, 3.1415 и т.д.
К основным типам данных языка Паскаль относятся: вещественный (Real), целочисленный (Integer), логический (Boolean) и литерный (Char). Целые числа и числа с плавающей точкой могут быть представлены в различных формах (таблица В3).
Структура простейшей программы на Паскале приведена в таблице С1. В описательной части задается имя программы, все метки и константы, которые будут использоваться в программе, а также идентификаторы и тип переменных. Главной частью программы является ее исполнительная часть, то есть последовательность инструкций, которую должен выполнить компьютер. Эти инструкции принято называть операторами.
Более сложные арифметические выражения строятся из операндов (констант и переменных), соединенных знаками арифметических операций. Кроме того, в выражении могут быть использованы круглые скобки и функции (таблица С2). Результатом расчета арифметического выражения является число. При составлении арифметических выражений должны соблюдаться следующие правила:
1.3 Алгоритмы линейной структуры и используемые в них операторы
Алгоритм называется линейным, если все операции в нем выполняются последовательно друг за другом.
Оператор присваивания позволяет изменить текущее значение переменной. Вид оператора приведен в таблице D1. Вычисляется выражение, стоящее справа от знака ":=" ("присвоить"), полученный результат присваивается переменной, стоящей в левой части оператора. При этом старое значение, хранившееся в ней, безвозвратно пропадает. Например, Р:= 5; (в переменную Р запишется число 5).
Для ввода данных и вывода результатов используются процедуры ввода и вывода (таблица D1). Существуют форматный и бесформатный способы вывода.
1.4 Пример алгоритма и программы линейной структуры
Даны переменные a и b. Найти
При составлении алгоритма необходимо выделить однотипные выражения (здесь a2+b2), которые достаточно посчитать один раз, а затем использовать результат вычислений. Желательно разбить сложные вычисления одного выражения на более простые (например, отдельно вычислить числитель и знаменатель дроби) для того, чтобы в алгоритме не было громоздких формул. На рисунке 1.1 представлен вариант блок-схемы алгоритма и программа.
Program Primer1; Var a,b,c,z:real; Begin Write ('Введите a и b'); Read (a, b); C := sqr(a) + sqr(b); z := sqrt (sqrt(c)) + sin(c) – 1/с; Write('Z=', z:10:3) End.
|
Рисунок 1.1 - Блок-схема алгоритма и программа линейной структуры
Вычисление значения
Z производится в следующей последовательности
В программе действия блоков 3-7 записываются операторами присваивания, блоки 2 и 8 реализуются операторами ввода/вывода. Ввод осуществляется с запросом, поэтому сначала записан оператор Write, а затем Read. Вывод осуществляется форматным способом. Все переменные, участвующие в программе, объявляются в разделе Var ее описательной части.
1.5 Варианты заданий
Составить блок-схему и программу вычисления значений функции при заданных значениях аргумента.
1) |
2) |
3) |
4) |
5) |
6) |
7) |
8) |
9) |
10) |
11) |
12) |
13) |
14) |
15) |
16) |
17) |
18) |
19) |
20) |
21) |
22) |
23) |
24) |
25) |
26) |
27) |
28) |
29) |
30) |
1.6 Контрольные вопросы
1 Назовите основные этапы
2 Что такое алгоритмический язык?
3 Что такое алгоритм? Назовите основные свойства алгоритмов.
4 Что понимается под «блок-
5 Опишите структуру простейшей Паскаль-программы.
6 Какие типы данных
7 Какой алгоритм называется линейным? Опишите оператор присваивания.
8 Каких правил следует
9 Подумайте как можно
10 Какие операторы используются для ввода и вывода данных в Паскале?
11 Как осуществляется форматный
и бесформатный выводы в
12 Как осуществляется вывод с комментарием в Паскале?
Лабораторная работа №2. Программирование алгоритмов разветвленной структуры
Цель работы – ознакомление с особенностями программирования алгоритмов разветвленной структуры, а также использования различных операторов перехода.
2.1 Алгоритмы разветвленной структуры. Операторы перехода и выбора
Ветвящимся (разветвленным) называется алгоритм, в котором в зависимости от исходных данных или промежуточных результатов вычисления реализуется по одному из нескольких заранее предусмотренных (возможных) направлений, называемых ветвями вычислений.
Оператор условного перехода реализует разветвление алгоритма и применяется, когда в зависимости от условия необходимо выполнить либо одно, либо другое действие. В качестве условий используются логические отношения. Логические отношения представляют собой записи равенств и неравенств: <, >, =, <=, >=,<> (не равно), AND (логическое "и"), OR (логическое "или"). В Паскале оператор условного перехода имеет две конструкции (таблица D1).
В Паскале принят порядок выполнения операторов согласно их следованию в программе. Если необходимо обойти какую-то группу операторов, то используется оператор безусловного перехода, который в блок-схеме отображается в виде стрелки, а не отдельного блока (таблица D1). Метка, используемая в операторе, показывает, что дальнейшая работа должна проводиться в другой части программы, с той строки, на которую она указывает и должна быть предварительно описана в разделе Label (например, Goto NM;). Этот оператор используется только в исключительных ситуациях, поскольку такие переходы разрушают связи между структурой программы и структурой вычислений, что приводит к потере ясности программы и затрудняет задачу верификации (доказательства правильности составления программы).
Кроме оператора безусловного перехода, в Турбо Паскале 7.0 иногда используются четыре безусловные функции:
- Break – позволяет досрочно закончить цикл;
- Continue – позволяет начать новую итерацию цикла, не дожидаясь окончания предыдущей итерации;
Информация о работе Программирование алгоритмов линейной структуры