Скачать 191.17 Kb.
|
ПРАКТИЧЕСКИЕ РАБОТЫ ПО ПРЕДМЕТУ «ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЕ» Материал подготовили: Сегодник Л.И. - преподаватель учреждения образования «Гродненский ГПТК легкой промышленности»; Варакина В.П. - преподаватель учреждения образования «Гродненский ГПТК легкой промышленности» Гродно, 2009 Практическая работа № 1. Разработка и отладка линейных алгоритмов и программ. Цель: - изучить операторы языка Паскаль, реализующие линейные алгоритмы; - формировать практические умения и навыки решения типовых задач в среде Паскаль; Ход работы.
Задача 1. Дано двузначное число. Найти число десятков и число единиц в нем. program z1; {заголовок программы} uses crt; {подключение модуля crt} var a,x,y:byte; {описание переменных} begin {начало раздела операторов} clrscr; {команда очистки экрана} write('введите 2-значное число a='); {вывод сообщения} readln(a); {ввод числа а} x:=a div 10; {х – целая часть от деления а на 10,} {кол-во десятков} y:=a mod 10; {у – остаток от деления а на 10,} {кол-во единиц} writeln('десятков ',x); {вывод числа десятков} writeln('единиц ',у); {вывод числа единиц} readln {задержка выполнения программы} end. {конец раздела операторов} Задача 2. Для того чтобы печенье было рассыпчатым, в него кладут пекарский порошок. В его состав входят пищевая сода – 25%, лимонная кислота – 15% и мука – 60%. Сколько соды, лимонной кислоты и муки надо взять, чтобы приготовить N г пекарского порошка? program z2; uses crt; var n:byte; s,k,m:real; begin clrscr; writeln('масса пекарского порошка'); readln(n); s:=n*0.25; k:=n*0.15; m:=n*0.6; writeln('соды ',s:0:2,' г'); writeln('кислоты ',k:0:2,' г'); writeln('муки ',m:0:2,' г'); readln end.
Задача 3. Вычислить значение функции z=x3-2.5xy+1.78x2-2.5y+1 при любых значениях x, y. Задача 4. Дано трехзначное число. Вычислить cумму и произведение его цифр. Задача 5. Масса молекул кислорода в организме человека составляет 65% от его массы. Определить массу молекул кислорода в организме человека. Задача 6. Даны стороны прямоугольника. Вычислить его периметр и длину диагонали. Задача 7. Треугольник задан координатами своих вершин. Найти периметр и площадь треугольника. Задача 8. Найти площадь кольца по заданному внешнему и внутреннему радиусам. Задача 9*. Дано трехзначное число. Найти число, полученное при перестановке первой и второй цифр заданного числа. Например, 256 – 526. Задача 10*. Дано четырехзначное число. Найти число, полученное при прочтении его цифр справа налево. Например, 2586 – 6852. Практическая работа № 2. Разработка, отладка и испытание разветвляющихся алгоритмов и программ. Цель: - изучить операторы языка Паскаль, реализующие разветвляющиеся алгоритмы; - формировать практические умения и навыки решения типовых задач в среде Паскаль; Ход работы.
Задача 1. Вывести на экран номер четверти координатной плоскости, которой принадлежит точка с координатами (х,у), при условии, что х0, у0. program zadacha1; uses crt; var x,y: real; begin clrscr; writeln ('(x;y)'); readln (x,y); if (x>0) and (y>0) then writeln ('I') else if (x<0) and (y>0) then writeln ('II') else if (x<0) and (y<0) then writeln ('III') else writeln ('IV'); readln end. Задача 2. Составить программу, которая в зависимости от порядкового номера месяца выводит на экран пору года, к которой он относится. program zadacha2; uses crt; var n: byte; begin clrscr; writeln ('Введите номер месяца'); readln (n); case n of 1,2,12: writeln('зима'); 3..5: writeln('весна'); 6..8: writeln('лето'); 9..11: writeln('осень') else writeln('ошибка ввода') end; readln end.
1. Даны два числа. Большее из чисел увеличить в 3 раза. 2. Дано натуральное число. Определить, оканчивается ли оно цифрой z. 3. Дано трехзначное число. Верно ли, что все его цифры одинаковые? 4. Составить программу решения линейного уравнения вида ax=b. 5. Составить программу решения линейного неравенства вида axb. 6. Составить программу решения квадратного уравнения вида ax2+bx+c=0, а0. 7. Даны вещественные положительные числа a,b,c,d. Выяснить, можно ли прямоугольник со сторонами a,b уместить внутри прямоугольника со сторонами c,d так, чтобы каждая из сторон одного прямоугольника была параллельна или перпендикулярна каждой стороне второго прямоугольника. 8. Составить программу, которая в зависимости от порядкового дня недели выводит на экран его название (понедельник, вторник и т.д.). 9. Дано целое число n (1<=n<=99), определяющее возраст человека (в годах). Для этого числа напечатать фразу "мне n лет", учитывая при этом, что при некоторых значениях слово "лет" надо заменить на слово "год" или "года". 10. Работа светофора для водителей запрограммирована следующим образом: начиная с начала каждого часа, в течение 3 минут горит зеленый сигнал, затем в течение 1 минуты – желтый, в течение 2 минут – красный, в течение 3 минут – опять зеленый и т.д. Дано вещественное число t, обозначающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для водителей в этот момент. ^ Цель: - изучить операторы языка Паскаль, реализующие алгоритмы с циклом - для; - формировать практические умения и навыки решения типовых задач в среде Паскаль; Ход работы. 1. Проанализируйте решение предложенных задач. Определите назначение каждой строки в тексте программы. Задача 1. Составьте программу, которая вычисляет сумму натуральных чисел от 1 до n. Значение n вводится с клавиатуры. program z1; uses crt; var n,s,i:word; begin clrscr; writeln('n'); readln(n); s:=0; for i:=1 to n do s:=s+i; writeln('s=',s); readln end. Задача 2. Написать программу, которая вычисляет произведение первых n четных натуральных чисел. program z2; uses crt; var n,i:byte; p:longint; begin clrscr; writeln('n'); readln(n); p:=1; for i:=1 to n do p:=p*(2*i); writeln('p=',p); readln end.
1. Написать программу, которая выводит на экран ваши имя и фамилию, имя и фамилию друга (подруги) 10 раз. 2. Написать программу, которая выводит на экран таблицу квадратов первых n натуральных чисел. 3. Составьте программу, которая печатает таблицу перевода расстояний из дюймов в сантиметры (1 дюйм = 2,5 см) для значений длин от 1 до 20 дюймов. 4. Составьте программу, которая вычисляет факториал введенного с клавиатуры числа (n!=1*2*3*…*n). 5. С клавиатуры вводятся n чисел. Составить программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел. 6. Вывести на экран все двузначные числа, делящиеся на 4, но не делящиеся на 6. 7. Составить программу, определяющую, является ли данное число n простым. 8. Дано натуральное n, действительные а1,а2 ,...,аn. Получить: а1а2 + а2а3 + ... + аn-1аn. Практическая работа № 4. Разработка, отладка и испытание простых циклических алгоритмов (цикл с предусловием, цикл с постусловием) и программ с неизвестным числом повторений. Цель: - учить реализации циклических алгоритмов с помощью операторов цикла while, repeat; - формировать практические умения и навыки решения типовых задач в среде Паскаль; Ход работы.
Задача. Дано вещественное число A. Составить программу, определяющую, какое наименьшее число членов гармонического ряда нужно взять, чтобы их сумма 1 + 1/2 + 1/3 + 1/4 + ...+ 1/K >A. program kolvo1; var k:byte; a,s:real; begin write ('a='); readln (a); s:=0; k:=0; while s<=a do begin k:=k+1; s:=s+1/k end; writeln ('k=',k,' s=',s); readln end. program kolvo2; var k:byte; a,s:real; begin write ('a='); readln(a); s:=0; k:=0; repeat begin k:=k+1; s:=s+1/k end; until s>a; writeln ('k=',k,' s=',s); readln end. Решите следующие задачи на реализацию в Паскале циклических алгоритмов самостоятельно.
Предложите 2 решения: с оператором цикла while; с оператором цикла repeat.
Предложите 2 решения: с оператором цикла while; с оператором цикла repeat.
Практическая работа № 5. Разработка, отладка и испытание простых циклических алгоритмов и программ с заданным числом повторений обработки массивов. Цель: - учить типовые приемы обработки массивов в языке Паскаль; - формировать практические умения и навыки решения задач обработки массивов в среде Паскаль; Ход работы.
Заполнить массив из 15 элементов случайным образом целыми значениями х (-50х<50). Определить максимальный и минимальный элементы массива, их индексы. program zadacha; uses crt; var x:array[1..15] of integer; i,max,nmax,min,nmin:integer; begin clrscr; randomize; for i:=1 to 15 do begin x[i]:=random(100)-50; write(x[i],' ') end; writeln; max:=x[1]; nmax:=1; min:=x[1]; nmin:=1; for i:=2 to 15 do begin if x[i]>max then begin max:=x[i]; nmax:=i end; if x[i] end; writeln ('max=',max,' на ',nmax,' позиции'); writeln ('min=',min,' на ',nmin,' позиции'); readln end. 2. Задачи на обработку массива для самостоятельного решения.
|
![]() | Цель: Изучить основные признаки линейных алгоритмов, алгоритмов с ветвлениями, алгоритмов с повторениями | ![]() | Рыков В. И. Среда Microsoft Visual C++ и отладка программ. Технология работы с языком С++. /Издание Башкирского ун-та. Уфа 2006.... |
![]() | Пояснительная записка: с., рис., схем программ и алгоритмов, библиограф. Источник, приложения | ![]() | Пояснительная записка: 55 с., 6 рис., 6 схем программ и алгоритмов, 6 библиограф источников |
![]() | Разработка и отладка программного обеспечения высокого уровня (программы для пк) | ![]() | Ознакомление с устройством и принципом действия бесплатформенных инерциальных навигационных систем |
![]() | В этом разделе описывается разработка программной системы – от проектирования структурных, функциональных и принципиальных схем и... | ![]() | Системы линейных уравнений. Основные понятия и определения. Матричная запись системы линейных уравнений |
![]() | Целью настоящей работы является разработка метода построения управляющих автоматов с применением идей муравьиных алгоритмов | ![]() | Создание и отладка консольных приложений в интегрированной среде ms visual Studio. Net 2005 |