Методичка по информатике. Практикум по дисциплине Информатика Допущено Редакционноиздательским советом угату в качестве учебного пособия для студентов, обучающихся по направлениям подготовки бакалавров 080100 Экономика
Скачать 8.99 Mb.
|
Вариант 17 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; 61 если данные корректны, найти значение выражения: Вариант 18 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 19 1. Вычислить значение выражения: 2. Вычислить значение выражения: 62 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Вариант 20 1. Вычислить значение выражения: 2. Вычислить значение выражения: 3. Вычислить значение выражения: провести проверку корректности введенных данных; в случае если данные некорректны, вывести соответствующее сообщение; если данные корректны, найти значение выражения: Примечание: Если результат вычислений является действительным числом, выводить 4 знака после запятой (например: 24,6743). 7. Методика выполнения заданий Для выполнения заданий необходимо: 1) изучить теоретическую часть (п.3); 2) разработать алгоритмы для решения задач согласно выданному варианту, составить программы на языке Pascal, 63 воспользовавшись приведенными примерами, протестировать и представить полученный результат преподавателю; 3) ответить на контрольные вопросы; 4) создать отчет по лабораторной работе в электронном виде. 8. Требования к содержанию и оформлению отчета Отчет к лабораторной работе предоставляется в печатном варианте и должен содержать: название и цель работы; номер и условие своего варианта; тексты разработанных программ (в печатном и электронном виде); полученные при расчетах результаты; анализ полученных результатов; ответы на контрольные вопросы в соответствии с указаниями преподавателя. 9. Критерии результативности лабораторного практикума Лабораторная работа считается выполненной, если: задание к лабораторной работе выполнено в полном объеме; студент представил тексты программ и результаты их выполнения; результаты выполнения программ соответствуют поставленным задачам; при устном ответе на 2-3 контрольных вопроса по указанию преподавателя студент демонстрирует знание основных операторов и определений изученной темы и умение применить их при решении соответствующих задач; представленный отчет по лабораторной работе соответствует требованиям п.8. 64 Контрольные вопросы 1. Как пользоваться меню среды Borland Pascal 7.0? 2. Что отображается в окне редактора среды Borland Pascal 7.0? 3. Какие основные функции меню среды Borland Pascal 7.0? 4. Как сохранить программу на диске? 5. Что такое компиляция программы? 6. Как запустить программу на выполнение? 7. Что такое логическая ошибка программы? 8. Как находить логические ошибки программы? 9. Как объявляются переменные в языке Pascal? 10. Какие основные типы данных в языке Pascal? 11. Как группируются команды? 12. Как пользоваться комментариями? 13. Как ввести данные с клавиатуры? 14. Как вывести данные на экран? 15. Что такое присваивание? 16. Как пользоваться командой условия? 17. Что такое команда ветвления? 18. Чему такое длина строки, как ее получить, изменить? 19. Как пользоваться тригонометрическими функциями? 20. Как из дробного числа получить целое? 65 Лабораторная работа № 3 ЦИКЛЫ И ИХ ПРИМЕНЕНИЕ В PASCAL-ПРОГРАММАХ 1. Цель работы Изучение циклических алгоритмов, обучение использованию различных видов циклов, существующих в Паскале, получение навыков программирования алгоритмов, содержащих операторы циклов. 2. Задачи работы Освоение теоретического материала, посвященного циклам языка программирования Паскаль, в том числе изучение примеров; самостоятельное решение задач с использованием циклических конструкций; составление отчета по лабораторной работе. 3. Теоретическая часть В языке программирования Паскаль существует три вида циклических конструкций: цикл с параметром, с предусловием и с постусловием. 3.1. Цикл с параметром Цикл for называют циклом с параметром или циклом со счетчиком (рис. 1). Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла, то есть количество повторений может быть задано заранее. В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. Тело цикла не должно содержать выражений, изменяющих счетчик. 66 Цикл for существует в двух формах: 1. for <счетчик:=значение> to <конечное_значение> do <тело_цикла>; 2. for <счетчик:=значение> downto <конечное_значение> do <тело_цикла>. Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу. Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Рис. 1. Цикл с параметром 67 Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться. Пример: var i, n: integer; begin write ('Количество знаков:'); readln (n); for i:=1 to n do write ('(*)'); readln end. 3.2. Цикл с предусловием Цикл while является циклом с предусловием (рис. 2). В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет. Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании. 68 Рис. 2. Цикл с предусловием Пример: var i, n: integer; begin write ('Количество знаков: '); readln (n); i:=1; while i <= n do begin write ('(*)'); i:=i + 1 end; readln end. 69 3.2. Цикл с постусловием Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием (рисунок 3). Рис. 3. Цикл с постусловием В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while в случае true происходит выход из цикла, в случае false – его повторение. Пример: var i, n: integer; begin write ('Количество знаков: '); readln (n); i:=1; 70 repeat write ('(*)'); i: =i + 1 until i > n; readln end. В примере: даже если n будет равно 0, одна звездочка все равно будет напечатана. 4. Описание оборудования и используемых программных комплексов При выполнении лабораторной работы необходим специализированный компьютерный класс с минимальными системными требованиями компьютеров: Процессор – Intel Pentium III; ОЗУ – 256 Mb; видеокарта – 32 Mb. Требуемое программное обеспечение: Операционная система Microsoft Windows; Borland Pascal 7.0 for DOS / Borland Pascal 7.0 for Windows. 5. Краткое руководство по эксплуатации оборудования При использовании оборудования необходимо: соблюдать общие правила нахождения в учебных лабораториях, работы с компьютером и использования программных средств; привести в порядок одежду; осмотреть рабочее место, убрать все мешающие работе предметы; визуально проверить правильность подключения ПЭВМ к электросети. 71 6. Задания 1. Введите с клавиатуры девять чисел и определите их среднее арифметическое. 2. Напишите программу, которая вводит целые числа с клавиатуры и суммирует их, пока не будет введено число 0. Воспользуйтесь условием UNTIL X = 0. 3. Выведите на экран значения функции F=sin(x) в интервале от 0 до 360 градусов с шагом 10 в два столбика следующим образом: «X=… F=…» с точностью пять знаков после десятичной точки. 4. Вычислите: 11 9 e 5 3 e 4 2 e 3 1 e 5. Напечатайте 15 первых степеней числа 2. 6. Найдите два целых трехзначных числа, частное которых приближает число «пи» с наибольшей точностью. 7. Сосчитайте, сколько шестизначных чисел имеют одинаковые суммы трех первых и трех последних цифр. 8. Дано натуральное n, действительное число х. Вычислить: sin x+sin2 x+…+sinn x 9. Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов. Числа Фибоначчи – это элементы числовой последовательности 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих. 10. Вычислить сумму Z = 1 + 2 + 3 + ... . Вычисления прекратить, когда значение Z превысит заданное значение A. 11. Известен начальный вклад клиента в банк и процент годового дохода. Определить, через сколько лет вклад превысит заданный размер и каков при этом будет размер вклада. 12. Дано натуральное n, действительное число х. Вычислить: sin x+sin x2+…+sin xn 13. Вывести на экран кубы чисел от A до B. 14. Найти сумму нечетных чисел числа от 1 до числа х. Х вводит пользователь. Пример, пользователь ввел число 17. Надо вычислить сумму чисел 64=1+3+5+7+9+11+13+15. В программе определяются нечетные числа с 1 до Х и суммируются. 15. Число совершенно, если оно равно сумме всех своих делителей, кроме самого себя. Пример: 6=1+2+3. Найдите все 72 совершенные числа от 1 до 1000 и выведите их на экран. Подсказка: вам необходимо найти все делители от 1 до N. Делителем числа N называется число (b), которое делит данное без остатка. (N mod b=0). 16. Малое предприятие в первый день работы выпустило P единиц товарной продукции. Каждый последующий день оно выпускало продукции на Q единиц больше, чем в предыдущий. Сколько дней потребуется предприятию, чтобы общее количество выпущенной продукции за все время работы впервые превысило запланированный объем? 17. Найти сумму элементов ряда 9 sin8 3 sin2 2 sin1 18. Найти сумму и количество элементов последовательности, которые по модулю больше 0.001. Последовательность: S = 1/2 - 2/4 + 3/8 - 4/16 + ... - ... 19. Вывести все квадраты натуральных чисел, не превосходящие данного числа N. Пример: N=50 | 1 4 9 16 25 36 49. 20. Торговая фирма в первый день работы реализовала товаров на P тыс. руб., а затем ежедневно увеличивала выручку на 3%. Какой будет выручка фирмы в тот день, когда она впервые превысит заданное значение Q? Сколько дней придется торговать фирме для достижения этого результата? 7. Методика выполнения заданий Для выполнения заданий необходимо: 1) изучить теоретическую часть (п.3); 2) разработать алгоритмы для решения задач согласно выданному варианту, составить программы на языке Pascal, воспользовавшись приведенными примерами, протестировать и представить полученный результат преподавателю; 3) ответить на контрольные вопросы; 4) создать отчет по лабораторной работе в электронном виде. 73 8. Требования к содержанию и оформлению отчета Отчет к лабораторной работе предоставляется в печатном варианте и должен содержать: название и цель работы; номер и условие своего варианта; тексты разработанных программ (в печатном и электронном виде); полученные при расчетах результаты; анализ полученных результатов; ответы на контрольные вопросы в соответствии с указаниями преподавателя. 9. Критерии оценки выполнения лабораторной работы Лабораторная работа считается выполненной, если: задание к лабораторной работе выполнено в полном объеме; студент представил тексты программ и результаты их выполнения; результаты выполнения программ соответствуют поставленным задачам; при устном ответе на 2-3 контрольных вопроса по указанию преподавателя студент демонстрирует знание основных операторов и определений изученной темы и умение применить их при решении соответствующих задач; представленный отчет по лабораторной работе соответствует требованиям п. 8. 74 Контрольные вопросы 1. Что такое «цикл»? 2. Какие виды циклов есть в Паскале? 3. Чем отличается цикл с предусловием от цикла с постусловием? 4. Сколько раз минимум может выполниться цикл с предусловием? 5. Сколько раз минимум может выполниться цикл с постусловием? 6. Какой тип переменной используется для цикла с параметром? 7. Какая форма цикла с параметром применяется для цикла «от большего к меньшему значению»? 8. Какой тип должно иметь условие для цикла с постусловием? 9. Каков шаг изменения переменной-счетчика в цикле с параметром? 10. Для решения каких задач применяется цикл с параметром? 11. Для решения каких задач применяется цикл с предусловием? 12. Для решения каких задач применяется цикл с постусловием? 75 Лабораторная работа № 4 МАССИВЫ ДАННЫХ И ИХ ПРИМЕНЕНИЕ В TURBO PASCAL 1. Цель работы Изучить способы обработки массивов данных в языке программирования Pascal. 2. Задачи работы Овладеть основными методами работы с одномерными и двумерными массивами данных на языке; изучить некоторые алгоритмы обработки массивов данных. 3. Теоретическая часть 3.1. Основные сведения о массивах Массив – это группа элементов одного типа, объединенных общим именем хранящихся в последовательных ячейках памяти. Каждая ячейка содержит элемент массива. Порядковый номер элемента массива называется индексом этого элемента. Массивы, элементы которых однозначно определяются одним индексом, называются одномерными. В языке Pascal нет ограничения на число элементов в массиве (т.е. на его размерность), но суммарная длина любого из массивов во внутреннем представлении не должна превышать 65520 байт. 3.2. Описание одномерных массивов на языке Pascal Язык Pascal допускает описание одномерных массивов в программах следующими способами. Способ 1: Сначала в разделе описания типов программы задается имя типа следующим образом: TYPE <Имя_типа_массива>=ARRAY [<Диапазон_индексов>] OF <Тип>; где TYPE – служебное слово, используемое для создания пользовательского типа данных; 76 ARRAY … OF – служебные слова для описания массивов («Массив … из»); <Имя_типа_массива> – задаваемое пользователем имя типа массива (требования к именам типов совпадают с требованиями к именам переменных); <Диапазон_индексов> – диапазон изменения индексов массива. В качестве данного диапазона может выступить любой порядковый тип, кроме LONGINT. Чаще всего используют тип-диапазон, в котором задают границы изменения индексов; <Тип> – тип элементов массива, например, REAL, INTEGER, CHAR и др. После описания типа массива следует описать сам массив в разделе описания переменных. Полный вариант описания следующий: TYPE KAR =ARRAY [1..10] OF INTEGER; VAR REZ: KAR; В данном примере «KAR» – имя типа, а «REZ» –имя собственно массива. Способ 2. Описание массива происходит непосредственно в разделе описания переменных: VAR REZ: ARRAY [1..10] OF INTEGER; Обращение к отдельному элементу массива производится при помощи указания имени всего массива и в квадратных скобках – индекса конкретного элемента. Например: R[10] – элемент массива R с индексом 10. Одномерные массивы также иногда называются векторами. Как правило, предполагается, что диапазон индексов вектора начинается с 1. Например, если задан вектор V из 5 чисел (4, 2, 1, -7, 8), то первый элемент вектора равен 4 (т.е. V[1]=4), второй элемент вектора равен 2, третий элемент вектора равен 1 и т.д. 3.2.1. Ввод элементов массива. Написание программ с использованием массивов необходимо начинать с ввода значений элементов массива. Для этого необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно 77 использовать цикл с заданным числом повторений (FOR…), где параметром цикла будет выступать переменная – индекс массива. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания. Пример фрагмента программы ввода элементов массива пользователем с клавиатуры: Var A : array [1..10] of integer ; I : byte ; {переменная I вводится как индекс массива} Begin For i:=1 to 10 do begin Write(‘введите [‘,I,’]-элемент массива’; Readln (a[i]); {ввод i- го элемента производится с клавиатуры} end; Для заполнения массива случайными числами необходимо воспользоваться процедурой Randomize и функцией Random (N). Функция random(n) служит для задания случайных целых чисел из диапазона 0 ≤ x ≤ n-1. Пример фрагмента программы заполнения массива случайными числами: Var A: array [1..10] of integer; I: byte ; {переменная I вводится как индекс массива} Begin Randomize; {вызов процедуры генерации случайных чисел} For i :=1 to 10 do A[i]:= random (20); {i -му элементу массива присваивается «случайное» целое число в диапазоне от 0 до 19 включительно, число 20 не присваивается} |