Методические указания к выполнению домашней контрольной работы по дисциплине «Основы алгоритмизации и программирования» для студентов специальности 080802 «Прикладная информатика (по отраслям) (в экономике)» Орск 2009

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ





Государственное образовательное учреждение 

среднего профессионального образования

«Орский индустриальный колледж»



















Методические указания  к выполнению домашней контрольной работы по дисциплине «Основы алгоритмизации и программирования»



для студентов специальности 080802 «Прикладная информатика (по отраслям) (в экономике)»



























Орск 2009


Содержание рабочей программы



1. Линейные программы.

1.1. Язык программирования Паскаль. Знакомство со средой программирования Турбо Паскаль. Основные понятия. Первая программа. Оператор присваивания.

1.2. Ввод - вывод. Операторы Read (Readln), Write (Writeln). Простейшие линейные программы.

1.3. Стандартные функции и процедуры. Применение в простейших линейных программах

2. Операторы условия и выбора.



2.1. Разветвляющиеся алгоритмы. Оператор условия If. Разветвляющиеся алгоритмы.

2.2 Логический тип данных. Логические операции not, and, or. Нахождение значений логических выражений.

2.3. Вложенные условные операторы.

2.4. Оператор выбора case.

2.5. Оператор безусловного перехода Goto.



3. Циклы.

3.1. Циклические алгоритмы. Цикл с предусловием.

3.2. Цикл с предусловием в графике. 

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

3.4. Цикл со счетчиком.



4. Одномерные массивы

4.1. Понятие массива. Одномерные массивы. Способы задания одномерных массивов

4.2. Доступ к элементам массива

4.3. Удаление элементов из одномерного массива.

4.4. Вставка элементов в одномерный массив.

4.5. Перестановка элементов массива.





5. Двумерные массивы

5.1. Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом.

5.2. Работа с элементами массива.

5.3. Вставка и удаление строк и столбцов.

5.4. Перестановка элементов массива.




Линейные программы

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

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

Задана окружность радиуса R. Составьте программу для нахождения ее длины и площади ограниченного ею круга.

Составьте программу для вычисления длин высот треугольника, у которого длины сторон a, b, c.

Составьте программу для вычисления длин медиан треугольника, у которого длины сторон a, b, c.

Составьте программу для вычисления площади прямоугольного треугольника по его катетам a и b.

Составьте программу, складывающую две обыкновенные дроби.

Составьте программу, находящую разность двух обыкновенных дробей.

Составьте программу, умножающую две обыкновенные дроби.

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

Составьте программу для вычисления величины работы, совершенной при равномерном подъеме груза массой М кг на высоту H м. Ускорение свободного падения описать как константу G = 9,81.

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

Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.

Вычислить расстояние между двумя точками с данными координатами  x1, y1  и x2, y2.

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

Даны числа x  и y. Вычислить их сумму, разность и произведение.

Заданы координаты концов двух векторов, выходящих из начала координат. Найти длины этих векторов.

Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.

Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.

Дана сторона равностороннего треугольника. Найти его площадь.


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



…………………………………………………………………………………………………

Вариант 1  



…………………………………………………………………………………………………

Вариант 2  



…………………………………………………………………………………………………

Вариант 3  



…………………………………………………………………………………………………

Вариант 4

 …………………………………………………………………………………………………

Вариант 5



…………………………………………………………………………………………………

Вариант 6



…………………………………………………………………………………………………

Вариант 7

  

…………………………………………………………………………………………………

Вариант 8

  



…………………………………………………………………………………………………

Вариант 9 



…………………………………………………………………………………………………

Вариант 10  



…………………………………………………………………………………………………

Вариант 11  



…………………………………………………………………………………………………

Вариант 12  



…………………………………………………………………………………………………

Вариант 13  



…………………………………………………………………………………………………

Вариант 14 

 

…………………………………………………………………………………………………

Вариант 15





…………………………………………………………………………………………………

Вариант 16



…………………………………………………………………………………………………

Вариант 17



…………………………………………………………………………………………………

Вариант 18



…………………………………………………………………………………………………

Вариант 19



…………………………………………………………………………………………………

Вариант 20




Разветвляющиеся вычислительные процессы

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

1



2

…………………………………………………………………………………………………..............





3

…………………………………………………………………………………………………..............



4

…………………………………………………………………………………………………..............



5

…………………………………………………………………………………………………..................



6

…………………………………………………………………………………………………...............



7

………………………………………………………………………………………………….............



8

…………………………………………………………………………………………………................



9

…………………………………………………………………………………………………...............





10

…………………………………………………………………………………………………................





11

…………………………………………………………………………………………………................





12

…………………………………………………………………………………………………..............



13

……………………………………………………………………………………………………………



14

……………………………………………………………………………………………………………



15

……………………………………………………………………………………………………………



16

……………………………………………………………………………………………………………





17

……………………………………………………………………………………………………………





18

……………………………………………………………………………………………………………





19

……………………………………………………………………………………………………………







20

……………………………………………………………………………………………………………






Циклы

Вычислить и вывести на экран в виде таблицы значения функции, заданной графически (см. задание 1 лабораторной работы №2), на интервале от  до  с шагом dx. Интервал и шаг задать таким образом, чтобы проверить все ветви программы. Таблицу снабдить заголовком и шапкой.

Составьте программу, выводящую на экран квадраты чисел от 10 до 20.

Составьте программу, которая вычисляет сумму чисел от 1 до 100.

Составьте программу, которая вычисляет сумму чисел от 1 до N. Значение N вводится с клавиатуры.

Составьте программу, которая вычисляет произведение чисел от 1 до N. Значение N вводится с клавиатуры.

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

Составьте программу, которая печатает таблицу перевода расстояний из дюймов в сантиметры (1 дюйм = 2,5 см) для значений длин от 1 до 20 дюймов.

Ввести с клавиатуры 10 пар чисел. Сравнить числа в каждой паре и напечатать большие из них.

Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.

Даны натуральные числа от 35 до 87. Найти и напечатать те из них, которые при делении на 7 дают остаток 1, 2 или 5.

Даны натуральные числа от 1 до 50. Найти сумму тех из них,  которые делятся на 5 или на 7.

Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа.

Ввести с клавиатуры 10 чисел – положительных и отрицательных. Заменить все отрицательные числа их модулями и напечатать все полученные 10 чисел.

Напечатать те из двузначных чисел, которые делятся на 4, но не делятся на 6.

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

Найти сумму чисел от 100 до 200, кратных 17.

Ввести с клавиатуры 10 чисел. Если квадрат числа меньше 100, напечатать число и его квадрат.

Составьте программу, которая вычисляет сумму квадратов чисел от 1 до введенного вами целого числа n.

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

Дано натуральное n. Получить последовательность b1,  b2, ... , bn,  где при i =1,2,...,n  значение bi  = i!

Дано натуральное n, действительные а1 ,а2 ,...,аn . Получить: а1а2 + а2 а3, ... , аn-1аn.


Массивы линейные

Введите с клавиатуры в массив пять целочисленных значений. Выведите их в одну строку через запятую. Получите для массива - среднее арифметическое. 

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

Создайте массив А[1..7] с помощью генератора случайных чисел и выведите его на экран. Увеличьте все его элементы в 2 раза.

Создайте массив А[1..8] с помощью генератора случайных чисел с элементами от –10 до 10 и выведите его на экран. Подсчитайте количество отрицательных элементов массива.

Создайте массив А[1..12] с помощью генератора случайных чисел с элементами от –20 до 10 и выведите его на экран. Замените все отрицательные элементы массива числом 0.

Создайте целочисленный массив А[1..15] с помощью генератора случайных чисел с элементами от –15 до 30 и выведите его на экран. Определите самый большой элемент массива и его индекс.

Создайте массив из 15 целочисленных элементов и определите среди них минимальное значение.

Найти сумму положительных элементов линейного массива целых чисел. Размерность массива – 10. Заполнение массива осуществить с  клавиатуры.

Найти сумму четных элементов массива целых чисел. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200.

Найти произведение элементов массива целых чисел, которые кратны 7.  Размерность массива – 15. Заполнение массива осуществить случайными числами от 10 до 50.

Найти сумму элементов массива вещественных чисел, имеющих нечетные номера. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200.

Найти произведение всех элементов массива целых чисел, меньших 0. Размерность массива – 10. Заполнение массива осуществить с  клавиатуры.

Найти сумму всех элементов массива целых чисел, удовлетворяющих условию: остаток от деления на 2 равен 3. Размерность массива – 20. Заполнение массива осуществить случайными числами от 200 до 300.

Найти сумму всех элементов массива вещественных чисел, больших заданного числа. Размерность массива – 20. Заполнение массива осуществить случайными числами от 50 до 100.

Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.

Найти произведение элементов массива, кратных 3 и 9. Размерность массива – 10. Заполнение массива осуществить случайными числами от 5 до 500.

Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива. Размерность массива –20. Заполнение массива осуществить случайными числами от 150 до 300.

Найти сумму элементов массива целых чисел, которые делятся на 5 и на 8 одновременно. Размерность массива –30. Заполнение массива осуществить случайными числами от 500 до 1000.

Найти произведение элементов линейного массива целых чисел, которые кратны 5. Размерность массива –10. Заполнение массива осуществить случайными числами от 10 до 100.

Найти количество четных элементов одномерного массива.


Прямоугольные таблицы

Дан целочисленный массив X[1..5, 1..4]. Заменить в нем все элементы, меньшие 5 числом 111.

Дан целочисленный массив В[1..4, 1..3]. Заменить все его элементы их квадратами.

Дан действительный массив А[1..5, 1..3]. Напечатать индексы его отрицательных элементов.

Создайте двумерный целочисленный массив А[1..10, 1..7] и найдите сумму всех его элементов, имеющих оба нечетных индекса.

Дан целочисленный массив А[1..5, 1..3]. Вывести на экран элементы массива, кратные 5, и их индексы.

Введите с клавиатуры целочисленные элементы матрицы 3*3  и вычислите сумму элементов каждого столбца.

Дан целочисленный массив В[1..5, 1..5]. Напечатать его левую и правую диагонали.

Дан целочисленный массив В[1..5, 1..5]. Найти сумму элементов его правой диагонали и произведение элементов левой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Найти наибольший элемент массива и сообщить его расположение относительно левой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Найти наименьший элемент массива и сообщить его расположение относительно правой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Вычислить сумму элементов этого массива, расположенных выше левой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Вычислить произведение элементов этого массива, расположенных ниже левой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Найти количество отрицательных элементов этого массива, расположенных ниже левой диагонали.

Дан целочисленный массив В[1..5, 1..5]. Найти количество положительных элементов этого массива, расположенных выше левой диагонали.

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

Дан массив А[1..3, 1..15]. Известно, что среди его элементов два и только два равны между собой. Напечатать их индексы.

Даны целые числа а1, а2, а3. Получить целочисленный массив В[1..3, 1..3], для которого B[i,j]=ai-3aj.

Даны действительные числа а1, а2, …, а10, b1, b2, …, b20. Получить действительный массив С[1..20, 1..10], для которого С[i,j]=aj/(1+bi).

Получить целочисленный массив А[1..10, 1..12], для которого aij=i+2j.

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

Получить действительный массив A[1..7, 1..7], первая строка которой задается формулой a1j=2j+3, вторая строка задается формулой a2j=j+3/(2+j), а каждая следующая строка есть сумма двух предыдущих.

Дано натуральное число n. Выяснить, сколько положительных элементов содержит массив A[1..n, 1..n], если aij = sin(i+j/2).

Дан целочисленный массив А[1..4, 1..5]. Найти среднее арифметическое каждого из столбцов.

Дан действительный массив размерностью n*m, в которой не все элементы равны нулю. Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент.

Дан целочисленный массив А[1..4, 1..5]. Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.

Составьте программу упорядочения по возрастанию элементов каждой строки двумерного массива C.

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

Дан целочисленный массив А[1..4, 1..5]. Определить номера тех строк массива, в которых есть хотя бы один элемент, равный 10.

Составьте программу, упорядочивающую по возрастанию элементы каждого столбца матрицы размером m*n.

Задан массив А[1..5,1..5]. Получить из него новый массив путем деления элементов каждой из строк первого массива на элемент этой строки, стоящий по левой диагонали.


Процедуры и функции

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

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

Напишите программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух чисел.

Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).

Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.

Напишите программу для вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N – количество элементов перебора. Используйте подпрограмму вычисления факториала.

Напишите программу для определения НОД трех натуральных чисел.

Даны действительные числа s,t. Составить программу вычисления выражения f(t, -2s, 1.17) + f(2.2, t, s-t), где f(a,b,c) = (2a – b – sin(c)) / (5 + |c|). 

Даны натуральные m и n (m<n). Составить программу, сокращающую дробь m/n.

Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N).

Напишите программу подсчета числа четных цифр, используемых в записи N-значного числа M.

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

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

Составьте программу нахождения наименьшего натурального N-значного числа X (X>=10), равного утроенному произведению своих цифр.

Составьте программу подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен X.


Символьные переменные

Напишите программу, подсчитывающую количество букв во введенном с клавиатуры слове. Ввод осуществляйте в цикле while do. Выход из программы – строка «999».

Дано натуральное число n и символы s1, s2, …, sn. Подсчитать сколько раз среди данных символов встречается символ +.

Дано натуральное число n и символы s1, s2, …, sn. Подсчитать количество встречающихся символов *.

Дано натуральное число n и символы s1, s2, …, sn. Выяснить, каких символов больше + или *.

Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.

Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется одним пробелом.

Напишите программу, которая подсчитывает стоимость телеграммы, текст которой вводится с клавиатуры.

Напишите программу, определяющую, какая из букв первая или последняя встречаются в заданном слове чаще.

Задано существительное первого склонения, оканчивающееся на букву «а». Напечатайте это слово во всех падежах.

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

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

Напишите программу, удаляющую из слова i-ю букву.

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

Напишите программу, удаляющую из слова X все буквы, которые встречаются в слове Z.

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

Напишите программу, удаляющую из слова каждую третью букву.

Напишите программу, которая в заданном тексте меняет слово «Петр» на слово «Иван».

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

В заданном тексте заменить все буквы "а" на букву "о".

Составить программу, которая обращает введенное слово, т.е. переставляет символы в обратном порядке.

Составить программу, определяющую, является ли введенное слово перевертышем.

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

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

Составить программу, которая выводит на экран бегущую строку.

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


 Список используемых источников

Рапаков Г.Г., Ржеуцкая С.Ю. Turbo Pascal для студентов и школьников. - СПб.:БХВ -Петербург, 2005. - 352 с.:ил.

Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПб.:Питер,2003. -393 с.

Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Практикум. - СПб.:Питер,2006. -317 с.:ил.

Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Питер, 2003.-640 с.







5