Инфоурок Информатика ТестыПрактические работы по программированию

Практические работы по программированию

Скачать материал

БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ

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

ХАНТЫ-МАНСИЙСКОГО АВТОНОМНОГО ОКРУГА-ЮГРЫ

«ЛАНГЕПАССКИЙ ПРОФЕССИОНАЛЬНЫЙ КОЛЛЕДЖ»

 

 

 

 

 

 

 

 

 

 

Комплекс

 

 

практических работ

 

 

по дисциплине

«Программирование на языке высокого уровня»

 

 

 

 

Преподаватель  Барышева О.П.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2012 г.


Перечень практических работ по дисциплине

«Программирование на языке высокого уровня

 

Тема 1.2. Элементы  языка Турбо Паскаль

Практическая работа № 1. Знакомство с языком программирования Турбо Паскаль

Практическая работа № 2. Использование основных операторов в программе

Практическая работа № 3. Первые программы в среде Турбо Паскаль

Практическая работа № 4. Программирование задач с линейной структурой

Практическая работа № 5. Разработка и программирование задач с ветвящейся структурой

Практическая работа № 6. Разработка и программирование задач с циклической структурой

Тема 1.3. Процедуры и функции

Практическая работа №7. Составление программ с использованием функций

Практическая работа № 8. Составление программ с использованием процедур  

Практическая работа № 9. Составление программ с использованием процедур  и функций 

Тема 1.4 Рекуррентные последовательности в программировании

Практическая работа № 10. Решение задач с рекуррентными последовательностями

Тема 1.5. Основные понятия и средства компьютерной графики в Турбо Паскале

Практическая работа № 11. Задачи на построение графических примитивов.

Практическая работа № 12. Программы с графикой

Тема 1.6. Строковый тип данных

Практическая работа № 13. Задачи со строковыми данными

Тема 1.6. Массивы

Практическая работа №14.  Массивы в программах

Тема 1.7. Файлы. Файловые переменные

Практическая работа № 15. Составление программ с использованием  текстовых файлов.

Практическая работа № 16. Индивидуальная комплексная работа

 

 


Практическая работа 1

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

Цель работы: 1) познакомиться с основными понятиями языка Турбо Паскаль,  правилами

записи арифметических выражений, 2) формировать навыки представления арифметических выражений на Паскале.

 

Ход  выполнения работы

1. Ознакомиться с теоретическим материалом «Основные сведения о языке Турбо Паскаль»:

 

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

1. Все символы пишутся в строчку на одном уровне. Проставляются все знаки операций (нельзя пропускать знак умножения).

2.  Не допускаются два следующих подряд знака операций (нельзя а+-в; можно А+ (-В)).

3.  Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:

  вычисление функции;

  унарная операция смены знака (-);

  *, /, div, mod;

  +, - .

4.      Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева направо.

5.  Часть выражения, заключенная в скобки, вычисляется в первую очередь.

         (Например, (А+В) * (С—D) — умножение производится после сложения и вычитания.)

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

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

  • если у – целое значение, то степень вычисляется через умножение; например, х3-  х х х.
  • если у – вещественное значение, то используется следующая математическая формула:

ху = еyln(x).

На Паскале это будет выглядеть так:                 Exp(y*Ln(x)).

 

 

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

1) Для следующих формул записать соответствующие арифметические выражения на Паскале:

 

 

 

 

 


 

 2Записать математические формулы, соответствующие следующим выражениям на Паскале:

а) (p+q)/(r+s)-p*q/(r*s);

б) lE3+beta/(x-gamma*delta);

в) a/b*(c+d)-(a-b)/b/c+lE-8.

 

3) Для следующих формул записать соответствующие арифметические выражения на Паскале:

4)      Вычислить значения выражений:

а)  round(6.9);                   в) 20  div  6;                       д)  20 mod  6;

б)   round(6.2);               г)  2  div 5;                ж) 2 mod 5;

и)  3*7  div 2 mod 7/3-trunc(sin(1)).

 

3.       Ответите на контрольные вопросы.

4.       Показать работу преподавателю на проверку.

5.       Привести рабочее место в порядок.

 

 

Контрольные вопросы:

  1. Из чего состоит алфавит языка Турбо Паскаль?
  2. Как записываются буквы греческого алфавита на Паскале?
  3. Почему в Паскале аргумент функции всегда записывают в скобках (например, пишут  ln(5), а не ln5)?

4.    Запишите самостоятельно арифметическое выражение и соответствующее ему выражение на Паскале.

Практическая работа 2

Тема:  Использование основных операторов в программе.

 

Цель работы: 1) разобрать структуру программ в общем виде; 2) сформировать навыки объявления переменных, использование инструкции присваивания, ввода, вывода; 3) учиться составлять простейшие программы.

 

Ход выполнения  работы

 

1.       Повторить теоретический материал к занятию.

2.       Выполнить задания.

 Задание 1. Объявление переменных

Приступая к решению задач этого раздела, следует помнить, что:

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

       объявления переменных помещают в раздел, который начинается словом var;

       инструкция   объявления   переменной   выглядит  так:   Имя Переменной: Тип;

       в имени переменной можно использовать буквы латинского алфавита и цифры (первым символом должна быть буква);

       основными числовыми типами языка Turbo Pascal являются: integer (целый), real (вещественный);

       после   инструкции   объявления   переменной   рекомендуется указывать назначение переменной.

Основные типы данных языка Турбо Паскаль:

  • целые числа (INTEGER  и др.);
  • действительные, вещественные числа (REAL и др. );
  • символы (CHER);
  • строки (STRING);
  • логический тип (BOOLEAN).

 

Пример1. Объявите переменные, необходимые для вычисления значения функции у = х2.

Решение: x: real; {аргумент функции}

                     y: real;  {значение функции}

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

                Объявите переменные, необходимые для вычисления площади кольца.

         Объявите переменные, необходимые для вычисления объема параллелепипеда.

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

                Объявите переменные, необходимые  для  вычисления стоимости покупки, состоящей из нескольких тетрадей, карандашей и линейки.

 


Задание 2. Инструкция присваивания

Приступая к решению задач этого раздела, следует вспомнить, что:

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

          тип выражения, находящегося в правой части инструкции присваивания, должен соответствовать типу переменной, имя которой стоит слева от символа инструкции присваивания (при нарушении соответствия типа переменной и выражения компилятор выводит сообщение об ошибке Type miss match несоответствие типов).

        Пример 2. Запишите инструкцию, которая увеличивает на единицу значение переменной n.

      Решение: n:=n+1;

2.1.  Запишите инструкцию, которая присваивает переменной summa нулевое значение.

2.2. Запишите  инструкцию  вычисления   среднего  арифметического переменных xi и х2.

2.3. Запишите в виде инструкции присваивания формулу вычисления значения функции

       у = -2,7x3 + 0,23х2 -1,4.

2.4. Запишите в виде инструкции присваивания формулу пересчета веса из фунтов в килограммы (один фунт равен 409,5 г).

2.5. Запишите в виде инструкции присваивания формулу пересчета расстояния из километров в версты (одна верста равна 1066,8 м).

2.6. Запишите в виде инструкции присваивания формулу вычисления площади треугольника:

s =1/2  аh, где а — длина основания треугольника, hего высота.

 

Задание 3. Вывод

Приступая к решению задач этого раздела, следует вспомнить, что:

          инструкции write и writeln предназначены для вывода на экран монитора сообщений и значений переменных;

          одна инструкция write (writeln) может вывести  на экран значения нескольких переменных и (или) несколько сообщений;

          инструкция writeln без параметров переводит курсор в начало следующей строки экрана.

Пример 3. Написать инструкции вывода значений переменных a, b и  c (тип вещественный, 2 знака после запятой). Значение каждой переменной должно быть выведено на отдельной строке.

Решение:       writeln (a:6:2);

                         writeln (b:6:2);

writeln (c:6:2);

            Написать программу, которая выводит на экран имя и фамилию.

            Написать программу, которая выводит на экран четверостишие:

Унылая пора! Очей очарованье!

Приятна мне твоя прощальная краса –

Люблю я пышное природы увяданье,

В багрец и золото одетые леса.

                                           А. С.  Пушкин

3.3. Написать инструкцию вывода значения переменной а (тип real) с тремя цифрами в дробной части.

 

Задание 4. Ввод

Приступая к решению задач этого раздела, следует вспомнить, что:

       для ввода с клавиатуры во время работы программы исходных данных (значений  переменных)  предназначена инструкция readln;

       используя одну инструкцию readln, можно ввести значения нескольких переменных;

•    тип данных, вводимых во время работы программы, должен соответствовать типу переменной,  указанной в инструкции readln;

•    в случае несоответствия типа введенных данных типу переменной, значение которой вводится с клавиатуры, программа завершает работу и на экран выводится сообщение Error 106:
Invalid numeric format (если программа запущена из среды разработки, т. е. из Turbo Pascal) или Run   time   error   106 (если программа запущена из операционной системы).

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

        Решение: readln (u,r);

4.1.   Написать инструкции, которые обеспечивают ввод значений переменных u и r. Предполагается, что во время работы программы пользователь будет после набора каждого числа нажимать клавишу <Enter>.

4.2.   Объявите необходимые переменные и напишите фрагмент программы вычисления объема цилиндра, обеспечивающий ввод исходных данных.

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

 

3. Оформить работу в тетради и показать преподавателю.

4. Привести рабочее место в порядок.

 


Практическая работа № 3

Тема:  «Первые  программы в среде Турбо Паскаль»

 

Цель работы: 1) познакомится со средой программирования Турбо Паскаль, разобрать пример программы на Турбо Паскале; 2) сформировать первые навыки работы в Турбо Паскале.

 

Ход выполнения работы

  1. Теоретический материал

Некоторые сведения о системе

Программа на Турбо Паскаль проходит три этапа обработки:

  • Создание текста программы;
  • Компиляция;
  • Использование откомпилированной программы.

В соответствии с этими функциями Турбо-система включает в себя три главных компонента:

  • Редактор текстов;
  • Компилятор;
  • Исполнительную систему.

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

<имя файла>.pas

где pas-это стандартное расширение имени файла, созданного системным редактором. Имя файла создается пользователем.

       Обращение к текстовому редактору происходит по команде Edit.

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

<имя файла>.exe

Работа компилятора инициируется системной командой Compile.

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

 

2.       Изучить рабочий стол, команды управления движением курсора, используя ОК.

 Набрать программу, приведенную ниже и выполнить запуск (посредством клавиши F10 или выбрать режим Run) несколько раз.

Program Drobi;                                                

                          Var a,b,c,d,m,n: Integer;            

                          Begin   ReadLn (a,b,с,d);                                   

                                                m:=a*d;

                                          n:=b*c;

                       WriteLn (m, n)

                       End.

3. Разобрать и проанализировать пример программы. Дополнить программу инструкциями ввода и вывода диалога с пользователем.

4. Выполнить сохранение программы.

 5. Оформить работу в тетради.

6. Привести рабочее место в порядок.

 

 


Практическая работа 4

Тема: «Программирование задач с линейной структурой»

 

Цель работы: 1) формировать навыки составления программ с линейной структурой.

 

Ход  выполнения работы

1.       Повторить ОК «Структура программы на Паскале».

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

·         программы с линейной структурой являются простейшими и используются, как правило, для реализации обычных вычислений по формулам;

·         в программах с линейной структурой инструкции выполняются последовательно, одна за другой;

  • алгоритм программы с линейной структурой может быть представлен следующим образом:

 

Структура программы на Паскале

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

Program <имя  программы>;

Label  <раздел меток>;

Const <раздел констант>;

Туре  <раздел  типов>;

Var <раздел переменных>;

Procedure   (Function)   <раздел подпрограмм>;

Begin

<раздел операторов>

End.

 

                                                      Пример программы

алг деление дробей;                                            Program Division;

цел а,Ь,с,d,m,n;                                                      Var a,b,c,d,m,n: Integer;

нач ввод (a, b, c, d);                                              Begin ReadLn(a,b,с,d);

m := a*d;                                                     m:=a*d;

n::=b*c;                                                       n:=b*c;

вывод (m,n)                                                 WriteLn (m,n)

кон                                                                        End.

 

3.  Выполнить следующие задания:

В-1.

Написать программу вычисления площади параллелограмма.
Рекомендуемый вид экрана во время работы программы:

Вычисление площади параллелограмма.                        
Введите исходные данные:
Длина   (см)   —>  9
Ширина   (см)   —> 7.5

Площадь параллелограмма:   67.50 кв.см.

(данные, введенные пользователем, выделены полужирным шрифтом)

 

В-2.
Написать программу вычисления  объема цилиндра.  

Рекомендуемый вид экрана во время работы программы:

Вычисление объема цилиндра

Введите исходные данные:

Радиус основания (см) —> 5

Высота цилиндра (см) —> 10

Объем цилиндра 1570.80 куб. см.

Для завершения работы программы нажмите <Enter>.

(данные, введенные пользователем, выделены полужирным шрифтом).

 

В-3.

Написать программу пересчета расстояния из верст в километры (1 верста равняется 1066,8м). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

Пересчет расстояния из  верст в километры.
Введите расстояние  в верстах и нажмите  <Enter>.
->  100
100 верст (a/ы) - это  106.68  км.

 

В - 4. 

Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 125 должно быть преобразовано к виду 12 руб. 50 коп.

Преобразование числа в денежный формат.
Введите дробное число —> 23.6

23.6 руб.   —  это  23 руб.   60  коп.

 

6. Показать результат работы преподавателю.

 

 


Практическая работа 5

Тема:  «Разработка и программирование задач с ветвящейся структурой»

 

Цель работы: 1) формировать навыки составления программ с ветвящейся структурой,

 используя инструкции выбора If и Casе;,

2) совершенствовать  навыки работы в системе Турбо Паскаль.

 

Ход  выполнения работы

1. Теоретическая основа занятия.

Приступая к разработке программы с ветвлением, следует вспомнить, что:

  • ветвление в Паскале программируется с помощью условного оператора, который имеет следующую форму:  

 If <условие>  Then  <оператор 1>  Else  <оператор  2>  (здесь if - если, Then - то, Else - иначе). Операторы 1 и 2 могут быть как простыми, так и составными. Составной оператор следует заключать в операторные скобки Begin и End.

Так же возможно использование неполной формы условного оператора:

        • if <условие> then <оператор>;
  • выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия;
  • условие – это выражение логического типа, которое может принимать одно из двух значений TRUE (истина – условие выполняется), или  FALSE (ложь – условие не выполняется).

Инструкция IF (полная)

if  Условие

  then

                begin

{ Эти инструкции выполняются, }
                 
{ если Условие истинно  }
 
end

  else

begin

 

Инструкция CASE

Case Выражение of

Список_констант1:          begin

{ Инструкции 1 }
                
end;

Список_констант2:          begin

{ Инструкции 2 }
      
end;

Список_ констант3:   begin

                     { Инструкции З }
                     
end;

end;

Примечание Инструкции между begin и end выполняются в том случае, если значение выражения после слова Сase совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, следующие после else, расположенные между begin и end..

 

2. Разобрать и проанализировать пример программы с ветвлением. Составить блок –схему к ней.

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

Вычисление площади кольца.

Введите исходные данные:

Радиус кольца (см) -> 3.5

Радиус отверстия (см) ->7

Ошибка! Радиус отверстия не может быть больше радиуса кольца.

{ Вычисление площади кольца}

var

rl,r2 : real; { радиус кольца и отверстия }
s : real;     { площадь кольца }

begin

writeln('Введите исходные данные:');
write('радиус кольца (см) -> ');
readln(rl);

write('радиус отверстия (см) —> ');
readln(r2);
if rl > r2 then
      begin

s:=PI*(sqr(rl)-sqr(r2));

writeln ('Площадь кольца ',s:6:2,' кв.см’);
end

         else writeln ('Ошибка! Радиус отверстия не может быть ',

'больше радиуса кольца.');

writeln ('Для завершения работы программы нажмите <Enter>');
readln;
end.

3. Самостоятельно составить программу на выбор:

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

Введите в одной строке два целых числа и нажмите <Enter>.

è  34  67

34 меньше 67.

 

2) Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности не ограничена).

Рекомендуемый вид экрана во время работы программы:

Определение максимального числа  последовательности положительных чисел.

Вводите после стрелки числа. Для завершения ввода введите ноль.

è  56

è  75

è  43

è  0

Максимальное число:  75

 

3) Написать программу, которая вычисляет сумму первых n  целых положительных чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже представлен вид экрана во время работы программы ( данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление суммы положительных чисел.

Введите количество суммируемых чисел->20

Сумма первых 20 положительных чисел равна 210.

 

4. Показать результат работы преподавателю.

 

 

 

Практическая работа  6

Тема:  «Разработка и программирование задач с циклической  структурой»

Цель работы: 1) формировать навыки составления программ с циклической структурой, используя инструкции For, Repeat,While;  2) совершенствовать  навыки работы с системе Турбо Паскаль.

 

Ход  выполнения работы

 

1. Приступая к разработке программы с циклами, повторите  ОК «Циклы».

Циклы

Инструкция  FOR

Вариант 1 (с увеличением счетчика):

 for Счетчик := Начальное Значение to Конечное Значение do
begin

{ Инструкции}
end;

 Инструкции между begin  и end выполняются [(Конечное Значение – Начальное Значение) + 1] раз.

Если Начальное Значение больше, чем Конечное Значение, то инструкции между begin и end не выполняются.

Если между begin  и end  находится только одна инструкция, то слова begin и end можно не писать.

Вариант 2 (с уменьшением счетчика):

for Счетчик : — Начальное Значение downto Конечное Значение do
begin

{ Инструкции}
end;

Инструкции  между  begin  и  end выполняются [(Начальное Значение — Конечное Значение) + 1] раз.

Если Начальное Значение меньше, чем Конечное Значение, то инструкции между begin и end не выполняются.

 

Инструкция REPEAT                                                                                              

repeat
begin

{ Инструкции}
end
until Условие;

   Выполняются инструкции, находящиеся между begin и end (инструкции цикла), после этого проверяется значение выражения Условие. Если оно равно False (т. е. условие не выполняется), то инструкции цикла выполняются еще раз. И так продолжается до тех пор, пока Условие не станет истинным. Таким образом, после слова until записывается условие завершения цикла.

Примечание  Если между begin  и end находится только одна инструкция, то слова begin и end можно не писать.

 

 

Инструкция WHILE

while Условие do
begin

{ Инструкции}
end;

     Проверяется значение выражения Условие, если оно равно True (условие выполняется), то выполняются инструкции, находящиеся между begin и end (инструкции цикла). Затем снова проверяется значение выражения Условие, и так продолжается до тех пор, пока значение выражения Условие не станет равным False. Таким образом, после слова while записывается условие выполнения инструкций цикла.

 

2. Разобрать и проанализировать примеры программ с циклами For, Repeat, While.

 

Пример 1. Написать программу, которая выводит таблицу квадратов первых десяти целых чисел. Рекомендуемый вид экрана:

Таблица квадратов

- - - - - - - - - - - - - - -

Число квадрат

- - - - - - - - - - - - - - -

1             1

2             4

3             9

4             16

5             25

6             36

7             49

8             64

9             81

10           100

- - - - - - - - - - - - - - -

 

{Вывод таблицы квадратов первых десяти целых положительных чисел}

var

x: integer; {число}

y: integer; {квадрат числа }

i: integer; { счетчик циклов}

begin

writeln (‘Таблица квадратов’);

writeln(‘------------------------‘);

writeln(‘Число   Квадрат’);

writeln(‘------------------------‘);

for i:=l  to 10 do

begin

y:=x*x;

writeln (x:3,y:10);

x:=x+1;

end;

writeln(‘------------------------‘);

readln;

end.

 

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

Рекомендуемый вид экрана во время работы программы:

Вычисление среднего арифметического последовательности положительных чисел.

Вводите после стрелки числа. Для завершения ввода введите ноль.

è  45

è  23

è  15

è  0

Введено чисел: 3

Сумма чисел:  83

Среднее арифметическое:  27.67

 

 { Вычисление среднего арифметического

последовательности положительных чисел }
var

а : integer; { число, введенное с клавиатуры }
n : integer; { количество чисел }
s : integer; { сумма чисел }
m : real;    { среднее арифметическое }
begin
    
s:=0;

      n:=0;

    writeln('Вычисление среднего арифметического

последовательности положительных чисел.');

        writeln('Вводите после стрелки числа. ',

'Для завершения ввода введите ноль.');

         repeat

write(‘> ');

readln(a) ;

s:=s+a;

n:=n+l;
until a <= 0;
n:=n -l;

writeln('Введено чисел: ', n) ;
writeln('Сумма чисел: ',s);
m := s/n;
writeln('Среднее арифметическое: ',m:6:2);

writeln('Для завершения работы программы нажмите <Enter>');
readln;

end.

 

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

 

{ Вычисление наибольшего общего делителя
двух целых чисел }

var

nl,n2:integer;  {  числа, НОД которых надо найти }
nod:integer;    { наибольший общий делитель }
г:integer;     { остаток от деления nl на п2 }

begin

writeln('Вычисление наибольшего общего делителя');
writeln('для двух целых чисел.');
write('Введите в одной строке два числа ');
writeln('и нажмите <Enter>');
write('->');
readln(nl,n2);
while (nl mod n2)<>0 do

begin

r:=nl mod n2; { остаток от деления}
nl:=n2;
n2:=r;

end;
nod:=n2;

writeln('НОД чисел ',nl,' и ',п2,' это ',nod);
readln;

end.

 

3. Составить блок-схемы к программам 1-3.

 

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

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

Рекомендуемый вид экрана во время работы программы:

Определение максимального числа  последовательности положительных чисел.

Вводите после стрелки числа. Для завершения ввода введите ноль.

è  56

è  75

è  43

è  0

Максимальное число:  75

 

2. Написать программу, которая вычисляет сумму первых n  целых положительных чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже представлен вид экрана во время работы программы ( данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление суммы положительных чисел.

Введите количество суммируемых чисел->20

Сумма первых 20 положительных чисел равна 210.

 

3. Написать программу, которая преобразует введенное пользователем десятичное число в двоичное. Рекомендуемый вид экрана во время работы программы приведен ниже.

Преобразование десятичного числа в двоичное.

Введите целое число от 0 до 225 и нажмите <enter> ->49

Десятичному числу 49 соответствует двоичное 00110001

Для завершения работы нажмите <enter>.

 

 

Практическая работа  7

Тема:  Составление программ с использованием функций 

 

Цель работы:     1) формировать навыки составления программ, используя процедуры и функции;

2) совершенствовать  навыки работы  в системе Турбо Паскаль.

 

Ход  выполнения работы

 

1. Приступая к разработке программы с функциями, повторите  ОК.

ФУНКЦИИ  В ТУРБО ПАСКАЛЕ

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

В Паскале имеется два вида подпрограмм — процедуры и функции. Их структура очень похожа на структуру основной программы.

Описание ФУНКЦИИ

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

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

Общий вид описания функции следующий: Function Имя[(Список формальных параметров)]: Тип результата;

Begin

Тело функции, в котором обязательно должно быть присваивание
Значение:= Имя функции

End;

 

2. Разобрать и проанализировать пример использования функции в программе.

Задача 1

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

Число сочетаний без повторения вычисляется по формуле:

Решение

Обозначим через n и k переменные для хранения введенных чисел; С — переменную для хранения результата.

Чтобы подсчитать количество сочетаний без повторения, необходимо вычислить п!, (п—k)!, k!

 

 I этап. Опишем функцию для вычисления факториала числа п (п!= 1* 2*... * п).

Function factorial(n:Integer):Longint; {заголовок функции}            

     Var  {описательная часть}

 i: Integer;     

               rez: Longint;

 Begin   {тело функции}

rez:=l;

For i:=l To n Do rez:=rez*i;

factorial:=rez;   {присваивание значения имени функции}

End;

 

Первая строчка в описании функции — это ее заголовок. Служебное слово Function (функция) указывает на то, что именем factorial названа функция. В скобках записан список формальных параметров функции, состоящий из одной переменной целого типа. Далее в заголовке указан тип значения функции. В данном примере результат функции factorial — длинное целое число.

За заголовком функции следует описательная часть функции, которая, как и у программы, может состоять из разделов описания переменных, констант, типов. В данном примере имеется только раздел описания переменных. В нем описаны переменные / (счетчик цикла) и rez (для накопления значения факториала).

Далее идет раздел операторов (тело функции). Результат присваивается имени функции, таким образом, функция получает свое значение.

II этап. Составим программу нашего примера с вызовом функции.

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

Program Example;

Var n,k: Integer;

 al, a2, аЗ, с: Longint;

 Function factorial(n:Integer):Longint;

Var i: Integer;

rez: Longint;

 Begin rez:=l;

For i:=l To n Do rez:=rez*i;

 factorial :=rez;

 End;

 Begin

writeLn ('Ввод n и k:');

{ вычисление n!}

{вычисление k!}

{вычисление (n-k)!}

{результат}

{печать результата}

ReadLn(n,k);

 al:=factorial(n); a2:=factorial(k); a3:=factorial(n-k); c:=al div (a2*a3); Writeln(c);

 ReadLn;

End.

     Program Имя;

 

Описательная часть программы

Function Имя [(Список формальных параметров)]:

Тип результата;

Описательная часть функции

Begin

Тело функции

 End;

Begin

Тело программы (функция вызывается по имени factorial для вычисления три раза)

End.

 

Пусть n=5, k=3. Когда в программе встречается оператор al: =factorial (n), выполняются следующие действия:

выделяется память для переменных, описанных в функции factorial;

формальному параметру присваивается значение фактического: n : =п (п=5);

выполняется функция, вычисляется факториал числа 5;

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

В операторах a2:=factorial(k) и a3:=factorial(n-k) еще дважды вызывается функция factorial с параметрами k=3 и n-k=2. Всего в программе имеется 3 обращения к функции factorial, столько же раз выполняются и описанные выше действия.

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

 

3.       Проверить работу программы.

4.       Ответить на контрольные вопросы:

  1. Что называется подпрограммой в Турбо Паскале?
  2. В каком разделе программы  описываются Функции в программе?
  3. В каком случае в программе используется подпрограмма-функция?

 


Практическая работа  8

Тема:  Составление программ с использованием процедур

Цель работы: 1) формировать навыки составления программ, используя процедуры и функции;

      2) совершенствовать  навыки работы в  системе Турбо Паскаль.

 

Ход  выполнения работы

 

1. Приступая к разработке программы с процедурами, повторите  ОК «Описание процедуры» .

 

2. Разобрать пример процедуры.

 

Пример 1. Написать процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.

 

procedure StarLine (ltn: integer);

var

i: integer;

begin

for i:=1 to len do

write (‘*’);

end.

 

 

 

Практическая работа  9

Тема:  Составление программ с использованием процедур  и функций 

Цель работы: 1) формировать навыки составления программ, используя процедуры и функции;

2) совершенствовать  навыки работы с системе Турбо Паскаль.

 

Ход  выполнения работы

 

1. Разобрать пример программы, составить блок-схему.. 

 

Пример. Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединений (последовательное и параллельное). Функция должна проверять корректность параметров: если не верны, указан тип соединения, то функция должна возвращать -1.

{ Вычисляет сопротивление электрической цепи }

function Sopr(rl,r2: real; t: integer): real;

{ rl,r2 - величины сопротивлений t - тип соединения: 1- последовательное; 2- параллельное. Если тип соединения указан неверно, то возвращает -1 }

begin

if t-1 then Sopr:= rl+r2;

if t=2 then Sopr:= rl*r2/(rl+r2)

else Sopr:=-l;  { неверно указан тип соединения}

end;

 

2. Выполнить самостоятельно  задания

 

1)  Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединений (последовательное и параллельное). Функция должна проверять корректность параметров: если не верны, указан тип соединения, то функция должна возвращать -1.

 

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

 

3)  Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков:  <, >, или =.

 

4)  Написать процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.

 

3. Показать результат работы преподавателю.

 

 


Практическая работа 10

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

 

Цель работы: 1) формировать навыки программирования вычислений  рекуррентных последовательностей;

2) совершенствовать  навыки работы с системой Турбо Паскаль.

 

Ход  выполнения работы

1. Теоретическая основа занятия.

Примерами рекуррентных последовательностей являются ариф­метическая (1) и геометрическая (2) прогрессии:

a1 = 1,    а2=3,    а3=5,    а4=7,    а5=9,  ...                                                           (1)

а1=1,    a2=2,    а3=4,    а4=8,    а5 = 1б,  ...                                                         (2)

Рекуррентная формула для указанной арифметической про­грессии:

ai=ai+1 + 2.

Рекуррентная формула для данной геометрической прогрессии:

ai = 2*ai+1.

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

ai=

Для геометрической прогрессии:

ai=

 

2. Разобрать и проанализировать примеры  вычислений рекуррентных последовательностей.

Пример 1. Вычислить n-й элемент арифметической профессии 

a1 = 1,    а2=3,    а3=5,    а4=7,    а5=9,  ... .

 

vаг N,I:   0. .МахInt;

А:   Rеаl;

Begin

Write (‘N=’);

Readln(N);

А:=1;

For I:=2  То N Do

А:=А+2;

Writeln (‘A(‘,N:1,’)=’,A:6:0);

End.

 

Рекуррентная формула аi= аi+1 + 2 перешла в оператор А:= А + 2.

 

Пример 2. Просуммировать первые n элементов геометричес­кой прогрессии (2) (не пользуясь формулой для суммы первых n членов прогрессии).

 

vаг N,I:   0. .МахInt;

А,S:   Rеаl;

Begin

Write (‘N=’);

Readln(N);

А:=1;

S:=A;

For I:=2  То N Do

Begin

А:=2*А;

S:=S+A;

End;

Writeln (‘Сумма равна‘,S:6:0);

End.

 

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

 

 3. Самостоятельно выполнить задание.

Задание: Вывести на печать первые n (n > 3) чисел Фибоначчи. Подсчитать, сколько среди них четных чисел.

 

 

Практическая работа 11

Задачи на построение графических примитивов

 

Цель работы: 1) формировать умения использовать стандартные процедуры и функции для построения

графических примитивов;

2)  совершенствовать навыки работы с системой Турбо Паскаль.

 

Ход выполнения работы

 

1. Приступая к решению задач этого раздела, следует вспомнить, что:

  • в графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из цветов;
  • координаты точек возрастают слева направо и сверху вниз; левая верхняя точка имеет
    координаты (0,0), а правая нижняя - (639,479);
  • для того чтобы программа могла выводить на экран графические примитивы (лини
    окружности, прямоугольники), необходимо инициализировать графический режим.

 

2. Разобрать и проверить работу программ:

1) Написать программу, которая выводит на экран флаг Олимпийских игр. Изображение флага приведено ниже (одной клетке соответствует пять пикселов).

Программа

{Рисует Олимпийский флаг}

uses Graph;

var

     grDriver: integer; {драйвер}

     grMode: integer;  {графический режим}

     grPath:string;       {место расположения драйвера}

     ErrCode:integer;  {результат инициализации граф, режима}

 begin

           grDriver := VGA;     { режим VGA}

           grMode :=VGAHi;   { разрешение 640x480}

           grPath:=' ';                {драйвер, файл EGAVGA.BGI, находится в текущем каталоге }

           InitGraph(grDriver, grMode, grPath);

           ErrCode := GraphResult;

           if ErrCode <> grOk then

                 begin

                    writeln('Ошибка инициализации графического режима.');

                    writeln('для завершения работы программы нажмите ', '<Enter>');

                    readln;

                    Halt(l);

                 end;

{полотнище флага}

SetFillStyle(SolidFill,LightGray); {сплошная заливка серым цветом}

Ваг(80,80,200,135);

{ кольца}

SetColor(Green);    (зеленое)

Circle(100,100,15);

SetColor(Black);    (черное)

Circle(140,100,15);

SetColor(Red);       (красное)

Circle(180,100,15);

SetColor(Yellow);  (желтое)

 Orel e( 120,115,15);

SetColor(Blue);       (синее)

 Orel e(l 60,115,15);

readln;

CloseGraph;

 end.

 

2) Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.

 Программа

 {Выводит узор из 100 произвольно размещенных окружностей произвольного

радиуса и цвета}

 uses Graph;

 var

      grDriver:integer;

      grMode: integer;

      grPath:string;

      ErrCode:integer;

       x,y,r: integer; ( координаты центра и радиус окружности }

       i: integer;

 begin

       grDriver:=VGA;

       grMode:=VGAHi;

       grPath:=' ';

       InitGraph (grDriver,grMode,grPath);

       ErrCode:=GraphResult;

       if ErrCode <> grOk then

               begin

                    writeln ('Ошибка инициализации графического режима.1);

                    writeln ('Для завершения работы нажмите <Enter>');

                    readln;

                    Halt(l);

                    end;

          Randomize;

          for i:=l to 100 do

                 begin

                      x:=Random(640);

                      y:=Random(480);

                      r:=Random(240);

                      Setcolor(Random(16));

                      Circle(x,y,r);

                      end;

    readin;

 end.

 

3. Результат работы показать преподавателю.

4. Составить самостоятельно программу рисования простейших геометрических фигур по своему усмотрению.

 

 

Практическая работа 13

                    Тема: Разработка и программирование задач с массивами

 

Цель работы:   1) сформировать знания о массивах и их использовании в  программировании;   

                         2) уметь анализировать программы с использованием массивов;

                         3) формировать навыки составления программ с массивами;

                         4) совершенствовать навыки работы с системой Турбо Паскаль.

 

Ход выполнения работы.

1.  Приступая к решению задач с массивами, следует вспомнить, что:

    массив - это структура данных, представляющая собой совокупность элементов одного типа,

    массив, хранящий линейную таблицу, называется одномерным, прямоугольную - двумерным;

    массив должен быть объявлен в разделе объявления переменных;

    при объявлении массива удобно использовать именованные константы;

•  доступ к элементу массива осуществляется путем указания индекса (номер) элемента, в качестве которого можно использовать выражение целого типа, например, целую кон­станту или переменную типа integer;

•   для ввода, вывода и обработки массивов удобно применять инструкции циклов (for, while, repeat).

 

Объявление одномерного массива:

Имя массива: аrrау[ Нижний  Индекс! ..Верхний _Индекс1] of Тип Элементов

 

Объявление двумерного массива:

Имя_массива: аrrау [Нижний_Индекс 1..Верхний_ Индекс 1,

Нижний  Индекс 2. Верхний Индекс 1] of Тип Элементов;

 

2.   Разобрать и проанализировать задачу с массивом.  

Задача 1. Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента на экране должна появляться подсказка с его номером. Рекомендуемый вид экрана во время работы программы.

После ввода каждого числа нажмите <Enter>

a [1]-> 12

a[2]-> 0

a[3]->3

a[4]-> -1

a[5]-> 0

В массиве 3 ненулевых элемента.

Пpoграмма

{ Подсчет количества ненулевых элементов массива}

const

SIZE:==5; { размер массива }

var

a: array [I... SIZE] of integer;

n: integer; { кол-во ненулевых элементов }

 i: integer; { индекс }

 begin

writeLn('Ввод массива целых чисел.'); write(После ввода каждого числа'); writeLn('нажимайте <Enter>'),

 п=0;

fori:=l to SIZE do

 begin

write ('а[',i,'] ->');

readln(a[i]);

if a[i] <> then n:=n+l;

end;

writeln('B массиве', n,' ненулевых элемента.');

 readln;

 end.

 

3.   Проверить работу программ в системе Турбо Паскаль.

4.   Составить блок-схему на данную программу.

5.   Выполнить дополнительные задания.

6.   Оформить работу в тетради.

7.   Ответить на контрольные вопросы.

8.   Показать результат работы преподавателю.

 

Дополнительные задания

1. Написать программу, которая вычисляет среднюю (за неделю) температуру воздуха.

Исходные данные должны вводиться во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введённые пользователем, выделены полужирным шрифтом).

Введите температуру воздуха за неделю.

Понедельник -> 12

Вторник -> 10

Среда ->16

Четверг ->18

Пятница -> 17

Суббота -> 16

Воскресенье -> 14

Средняя температура за неделю: 14.71 град.

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

 

Контрольные вопросы:

1.       Для решения, каких задач используются массивы?

2.       Приведите примеры линейной и прямоугольной таблиц.

3.       В каком разделе программы описываются массивы?

4.       Запишите пример описания одномерного массива.

 

 

 


Практическая работа 14

Составление программ с использованием текстовых файлов

 

Цель работы: 1) формировать умения использовать текстовые файлы в  программах;   

                         2)  совершенствовать навыки программирования в  системой Турбо Паскаль.

 

1. Приступая к решению задач этого раздела, следует вспомнить, что:

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

         для доступа к конкретному файлу файловую переменную нужно связать с этим файлом (делается это при помощи инструкции assign);

         для того чтобы файл был доступен, его надо открыть (для чтения с помощью инструкции reset, для записи — rewrite, для добавления — append);

         при работе с файлами возможны ошибки, например, из-за того, что программа пытается открыть файл, которого нет, поэтому после каждой инструкции, которая может привести к возникновению ошибки,  желательно,  используя,  функцию  lOResult,  проверять код завершения операции с файлом; чтобы программа могла контролировать результат выполнения операции с файлом, в ее текст надо поместить директиву {$!-};

         запись в файл выполняют инструкции write и writeln, чтение — read и readLn, причем в качестве первого параметра этих инструкций следует указывать файловую переменную;

         по завершении работы с файлом его нужно обязательно закрыть инструкцией close;

         файл, созданный программой, в которой тип файловой переменной объявлен как text, можно просмотреть при помощи редактора текста.

 

2. Разобрать и проанализировать программу с использованием текстовых файлов. 

 Задача 1. Написать программу, которая на сменном диске компьютера (А) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста, например, встроенного в Norton Commander, созданный файл. Убедитесь, что каждое число находится в отдельной строке.

Программа

( Создает на диске А: файл и записывает в него 5 целых чисел, введенных пользователем}

 var

     f: text;   { текстовый файл )

     n: integer; { число }

      i: integer; { счетчик чисел }

begin

writeln ('Создание файла') ;

writeln ('Введите пять целых чисел.1);

writeln ('После ввода каждого числа нажимайте <Enter>'); Assign (f, 'a:\numbers.txt' );

 Rewrite(f); { открыть в режиме перезаписи }

 for i:=l to 5 do

      begin

          write ('->');

          readln(n);

          writeln(f,n);

      end;

close(f);    { закрыть файл }

       writeln ('Введенные числа записаны в файл ', ' а: \nunibers. Txf)

       readln;

 end.

 

3. Составить блок-схему к данной программе.

4. Оформить работу в тетради.

5. Ответить на контрольные вопросы.

6. Показать результат работы преподавателю

 

Контрольные вопросы

  1. Что такое файл последовательного доступа?
  2. Какие файлы называются типизированными?
  3. Объясните, как производится запись в файл.
  4. Назовите процедуры и функции для работы с файлами.

 

 

Индивидуальные задания к практической работе № 10

 

№1. Написать программу вычисления площади трапеции на языке Турбо Паскаль. Составить блок-схему. Рекомендуемый вид экрана во время работы программы:

Вычисление площади трапеции.                                     
Введите исходные данные:
Большее основание
   (см)   —>  …
Меньшее основание
   (см)   —>

Высота (см) —>

Площадь параллелограмма:   … кв.см.

 

№2. Написать программу вычисления площади треугольника по формуле Герона на языке Турбо Паскаль. Составить блок-схему. Рекомендуемый вид экрана во время работы программы:

Вычисление площади треугольника.                              
Введите исходные данные:
 сторона а  (см)   —>  …
 
сторона в  (см)   —> …

 сторона с  (см)   —> …

Площадь треугольника равна  … кв.см.

 

№ 3. Написать программу вычисления  объема цилиндра на языке Турбо Паскаль. Составить блок-схему. Рекомендуемый вид экрана во время работы программы:

Вычисление объема цилиндра

Введите исходные данные:

Радиус основания (см) —> 5

Высота цилиндра (см) —> 10

Объем цилиндра 1570.80 куб. см.

Для завершения работы программы нажмите <Enter>.

(данные, введенные пользователем, выделены полужирным шрифтом).

 

№4.  Написать программу вычисления сопротивления электрической цепи, состоящей из двух параллельно соединенных сопротивлений. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Составить блок-схему.

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

Величина первого сопротивления (Ом) -> 15
Величина второго сопротивления (Ом) -> 20

Сопротивление цепи: 8.57 Ом.

 

№5. Написать программу вычисления площади поверхности цилиндра. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Составить блок-схему.

Вычисление площади поверхности цилиндра.
Введите исходные данные:
Радиус основания   (см)   -> 5.5
Высота цилиндра   (см)  —> 7

Площадь поверхности цилиндра:   431.97  кв.см.           

 

№6. Написать программу вычисления  объема параллелепипеда на языке Турбо Паскаль. Составить блок-схему.  

Рекомендуемый вид экрана во время работы программы:

Вычисление объема параллелепипеда

Введите исходные данные:

Длина основания (см) —> …

Ширина основания (см) – > …

Высота параллелепипеда (см) —> …

Объем параллелепипеда … куб. см.

Для завершения работы программы нажмите <Enter>.

 

№7. Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами. Ниже представлен рекомендуемый вид экрана во время работы программы  (данные,   введенные  пользователем выделены полужирным шрифтом). Составить блок-схему.

Вычисление площади треугольника.

Введите (через пробел) длины двух сторон (см) треугольника

-> 25 17

Введите величину угла между сторонами треугольника (в градусах)

-> 30

Площадь треугольника: 106.25 кв.см.

 

№8. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если  пользователь укажет недопустимое число, программа должна вывести сообщение “Ошибка ввода данных”.  Ниже представлен рекомендуемый вид экрана во время работы программы. Составить блок-схему.

Введите номер месяца (число от 1 до 12) и нажмите <Enter>

è       7

Лето.

 

№9.  Написать программу, которая вычисляет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальн6ый вес вычисляется по формуле: рост (в сантиметрах)-100. Рекомендуемый вид экрана во время работы программы приведен ниже ( данные, введенные пользователем, выделены полу жирным шрифтом). Составить блок-схему.

Введите в одной строке через пробел

Рост (см ) и вес (кг) затем нажмите <Enter>

è       170 68

Вам надо поправиться на 2.00 кг.

 

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

Вычисление частного.

Введите в одной строке  делимое и делитель,

Затем нажмите <Enter>

-> 12     0

Вы ошиблись. Делитель не должен быть равен нулю.

 

№ 11. Написать программу, которая проверяет, является ли четным введенное пользователем целое число. Ниже представлен рекомендуемый вид экрана во время ее работы (данные введенные пользователем, выделены полужирным шрифтом). Составить блок-схему.

Введите целое число и нажмите <Enter>

->23

 Число 23 не четное.

№ 12. Написать программу, которая проверяет, является ли целое число, введенное пользователем, простым. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом. Составить блок-схему.

Введите целое число и нажмите <Enter>

->  45

45 - не простое число.

 

№13. Написать программу,  которая  выводит на экран таблицу умножения на 9 . Рекомендуемый вид экрана во время работы программы приведен ниже. Составить блок-схему.

9  х 2       = 18

9  х  3 = 27

9  х  4 = 36

9  х  5 = 45

9  х  6 = 54

9  х  7 = 63

9  х  8 = 72

9 х  9      = 81

 

№ 14.  Написать программу, которая выводит восьмеричное представление введенного с клавиатуры десятичного целого числа в диапазоне от 0 до 255. Рекомендуемый вид экрана во время работы программы приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом).

Преобразование десятичного числа в восьмеричное.
Введите целое число от 0 до 255 и нажмите <
Enter>
-> ,…

Десятичному числу  …  соответствует восьмеричное  ….
Для завершения работы программы нажмите  <
Enter>.

 

№ 15.  Написать программу,  которая  выводит на экран таблицу умножения на 7. Рекомендуемый вид экрана во время работы программы приведен ниже. Составить блок-схему.

7  х 2 = 14

7  х  3 = 21

7  х  4 = 28

7  х  5 = 35

7  х  6 = 42

7  х  7 = 49

7  х  8 = 56

7 х  9  = 63

 

 

 

 

 

 

 

Вопросы к зачету

 

?1 Что в  алгоритмах и языках программирования не являются величинами?

?2 Данные какого типа могут принимать значения True и False?

?3 Как читается и используется команда ":="?

?4 Каким служебным словом в программе определяется блок описания переменных?

?5 Какая из инструкций цикла является циклом с предусловием: While, Repeat, For.

?6 Оператором Repeat <тело цикла> Until <условие> программируется какой тип цикла: цикл-до, цикл-пока или цикл со счетчиком?

?7 К какому типу переменных относится переменная Boolean?

?8 Что не является подпрограммой в Турбо Паскале: массив, функция, процедура?

?9 Что такое рекурсия и как она используется в программе?

?10 В каком разделе программы описываются процедуры?

?11 В зависимости от какого результата подпрограмма-функция используется в программе?

?12 В чем состоит отличие тела функции от тела процедуры?

?13Для подключения графического модуля в Турбо Паскале что необходимо сделать в начале программы?

?14 Чем отличаются графические режимы экрана?

?15 Как задается в программе строковая переменная с максимальной длиной строки?

?16 Какая функция или процедура выполняет сцепление нескольких строк в одну?

?17 Какая функция или процедура выделяет из строки S подстроку  длиной в N символов, начиная с определенной позиции?

?18 Какой процедурой в программе Турбо Паскаль осуществляется запись в файл?

?19 Как называется массив, хранящий линейную таблицу?

?20 В каком разделе программы описывается массив?

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Практические работы по программированию"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Психолог в социальной сфере

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 863 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.10.2016 16266
    • DOCX 269 кбайт
    • 160 скачиваний
    • Рейтинг: 4 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Пахтусова Ольга Павловна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

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

    Удалить материал
  • Автор материала

    Пахтусова Ольга Павловна
    Пахтусова Ольга Павловна
    • На сайте: 7 лет и 6 месяцев
    • Подписчики: 0
    • Всего просмотров: 16372
    • Всего материалов: 1

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Экскурсовод

Экскурсовод (гид)

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 75 человек

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 22 человека

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 618 человек из 77 регионов
  • Этот курс уже прошли 956 человек

Мини-курс

Техники визуализации в учебном процессе

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 34 человека из 17 регионов
  • Этот курс уже прошли 19 человек

Мини-курс

Продвижение экспертной деятельности: от личного сайта до личного помощника

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Прощение и трансформация: освобождение от родовых программ и травм

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 176 человек из 56 регионов
  • Этот курс уже прошли 45 человек