Основы алгоритмизации и программирования в 8 классе

Автор: Пользователь скрыл имя, 28 Декабря 2011 в 22:21, курсовая работа

Описание работы

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

Содержание

§1. Введение - 3 -
§2. Основы алгоритмизации и программирования. Способ записи алгоритмов. - 4 -
§3. Среда языка программирования Pascal ABC - 7 -
3.1 Условный оператор - 7 -
3.2 Оператор выбора - 7 -
3.3 Оператор цикла for - 8 -
3.4 Оператор цикла while - 10 -
3.5 Оператор цикла repeat - 10 -
3.6 Операторы break, continue и exit - 11 -
§4. Практическое применение - 12 -
4.1 Условный оператор - 12 -
4.2 Оператор выбора - 13 -
4.4 Цикл с условием - 18 -
§5. Заключение - 21 -
Список использованных источников - 22 -

Работа содержит 1 файл

Курсовая.doc

— 171.50 Кб (Скачать)

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

    for i:=1 to 10 do 
   for i:=1 to 5 do

    write(i);

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

    var

    en: (red,green,blue,white);

    c: char; 
... 
for en:=red to blue do 
  write(Ord(en):2); 
for c:='a' to 'z' do 
  write(c);
 
 
 

3.4 Оператор цикла while 

    Оператор  цикла while имеет следующую форму:

    while условие do

    оператор

    Условие представляет собой выражение логического  типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.

    Если  условие всегда оказывается истинным, то может произойти зацикливание:

    while 2>1 do

    write(1);

    Чтобы прервать зациклившуюся программу, следует использовать комбинацию клавиш Ctrl-F2.

    Тело  цикла while в Pascal ABC не может быть пустым. Это сделано для защиты от часто  встречающейся у начинающих ошибки ставить после do точку с запятой. 

3.5 Оператор цикла repeat 

    Оператор  цикла repeat имеет следующую форму:

    repeat

    операторы

    until условие

    В отличие от цикла while, условие вычисляется  после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла оператора repeat, выполняются по крайней мере один раз.

    Если  условие всегда оказывается ложным, то может произойти зацикливание:

    repeat

    write(1);

    until 2=1;

    Чтобы прервать зациклившуюся программу, следует использовать комбинацию клавиш Ctrl-F2. 

3.6 Операторы break, continue и exit 

    Операторы break и continue используются только внутри циклов.

    Оператор break предназначен для досрочного завершения цикла. При его выполнении происходит немедленный выход из текущего цикла  и переход к выполнению оператора, следующего за циклом. Оператор continue завершает текущую итерацию цикла, осуществляя переход к концу тела цикла. Например:

flag:=False;

  for i:=1 to 10 do

    begin

    read(x);

    if x<0 then continue; // пропуск текущей итерации цикла

    if x=5 then

    begin

    flag:=True;

    break; // выход из цикла

   end;

end;

    Использование операторов break и continue вне тела цикла ошибочно.

    Оператор exit предназначен для досрочного завершения процедуры или функции. Например

    function Analyze(x: integer): boolean; 
begin 
  if x<0 then  
  begin 
    Result:=False; 
    exit 
  end; 
  ... 
end;

    Вызов exit в разделе операторов основной программы приводит к ее немедленному завершению.

    Следует отметить, что в Pascal ABC (в отличие  от Borland Pascal и Borland Delphi) break, continue и exit являются не процедурами, а операторами и  входят в число служебных слов языка.

 

§4.  Практическое применение 

4.1 Условный оператор

    If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.

    If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.

    If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.

    If4. Даны три целых числа. Найти количество положительных чисел в исходном наборе.

    If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

If6. Даны два числа. Вывести большее из них.

If7. Даны два числа. Вывести порядковый номер меньшего из них.

If8. Даны два числа. Вывести вначале большее, а затем меньшее из них.

    If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

    If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

    If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

If12. Даны три числа. Найти наименьшее из них.

    If13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).

    If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.

If15. Даны три числа. Найти сумму двух наибольших из них.

    If16. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые

    значения переменных А, В, С.

    If17. Даны три переменные вещественного типа: А, В, С. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных А, В, С.

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

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

    If20. На числовой оси расположены три точки: А, В, С. Определить, какая из двух последних точек (В или С) расположена ближе к А, и вывести эту точку и ее расстояние от точки А. 

4.2 Оператор выбора

    Case1. Дано целое число в диапазоне 1-7. Вывести строку — название дня недели, соответствующее данному числу (1 — «понедельник», 2 — «вторник» и т. д.).

    Case2. Дано целое числом. Вывести строку-описание оценки, соответствующей числу К (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»). Если К не лежит в диапазоне 1-5, то вывести строку «ошибка».

    Case3. Дан номер месяца — целое число в диапазоне 1-12 (1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).

    Case4. Дан номер месяца — целое число в диапазоне 1-12 (1 — январь, 2 — февраль и т. д.). Определить количество дней в этом месяце для невисокосного года.

    Case5. Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1-4) и вещественные числа А и В (В не равно 0). Выполнить над числами указанное действие и вывести результат.

    Case6. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1-5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.

    Case7. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1-5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

    Case8. Даны два целых числа: D (день) и М (месяц), определяющие правильную дату невисокосного года. Вывести значения D и М для даты, предшествующей указанной.

    Case9. Даны два целых числа: D (день) и М (месяц), определяющие правильную дату невисокосного года. Вывести значения D и М для даты, следующей за указанной.

    Case10. Робот может перемещаться в четырех направлениях («С» — север, «З» - запад, «Ю» - юг, «В» - восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, 1 — поворот направо. Дан символ С — исходное направление робота и целое число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.

    Case11. Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды поворота: 1 — поворот налево, 1 — поворот направо, 2 — поворот на 180°. Дан символ С — исходная ориентация локатора и целые числа N\ и N2 — две посланные команды. Вывести ориентацию локатора после выполнения этих команд.

    Case12. Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D = 2 *R, 3 — длина L = 2πR, 4 — площадь круга S = πR2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения π использовать 3.14.

    Case13. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет а, 2 — гипотенуза с = а h 2, 3 — высота h, опущенная на гипотенузу (h = с/2), 4 — площадь S = ch/2. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

    Case13. Дано целое число в диапазоне 20-69, определяющее возраст (в годах). Вывести строку-описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 — «двадцать лет», 32 — «тридцать два года», 41 — «сорок один год».

    Case14. Дано целое число в диапазоне 10-40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 - «восемнадцать учебных заданий», 23 — «двадцать три учебных задания», 31 — «тридцать одно учебное задание».

    Case15. Дано целое число в диапазоне 100-999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать».

    Case16. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1984 год — начало цикла: «год зеленой крысы».

Информация о работе Основы алгоритмизации и программирования в 8 классе