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

2 / 2 / 1

Регистрация: 18.11.2012

Сообщений: 25

1

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

25.11.2012, 10:53. Показов 2313. Ответов 3


Студворк — интернет-сервис помощи студентам

Составить* программу для вычисления D=(H+ (E/H+1) )*G
H — сумма элементов массива с нечетными номерами;
E — наибольший по модулю элемент массива;
G — количество положительных элементов массива.



0



CodeR

Фрилансер

3417 / 2814 / 3000

Регистрация: 08.02.2012

Сообщений: 8,546

Записей в блоге: 1

25.11.2012, 12:33

2

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Var A:array[1..100] of integer;
    i,n,h,e,g:integer;
Begin
    write('Введите размерность массива: ');readln(n);
    For i:=1 to n do
    Begin
      A[i]:=random(31)-15;
      write(A[i]:4);
      if odd(i) then h:=h+A[i];
      if A[i]>0 then inc(g);
    End;
    e:=A[1];
    For i:=2 to n do
     if abs(A[i])>abs(e) then e:=A[i];
    readln;
    writeln('D = ',(h+e/(h+1))*g:0:2);
End.



2



2 / 2 / 1

Регистрация: 18.11.2012

Сообщений: 25

25.11.2012, 15:54

 [ТС]

3

Не выводит H E G.



0



CodeR

Фрилансер

3417 / 2814 / 3000

Регистрация: 08.02.2012

Сообщений: 8,546

Записей в блоге: 1

25.11.2012, 18:21

4

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата
Сообщение от Jacky
Посмотреть сообщение

Не выводит H E G.

так про вывод их ничего не сказано…
добавь

Pascal
1
2
3
writeln('H = ',h);
writeln('E = ',e);
writeln('G = ',g);



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

25.11.2012, 18:21

4

Как составить программу действий и вычислить

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

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

Если в выражении нет скобок, и оно содержит действия только одной ступени, то есть только первой ступени: сложение и вычитание или только второй-умножение и деление, то их выполняют по порядку слева направо.

Если выражение содержит действия и первой, и второй ступеней и в нем нет скобок, то сначала выполняют действия второй ступени (то есть умножение и деление), а потом действия первой ступени – сложение и вычитание.

Если в выражении есть скобки, то сначала выполняют действия в скобках, учитывая при этом правила один и два.

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

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

Команда 1: Перемножить числа 20 и 17.

Команда 2: Сложить число 300 с результатом команды 1.

Команда 3: Разделить 2052 на 38.

Команда 4: Вычесть из 134 результат команды 3.

Команда 5: Разделить результат команды 2 на результат команды 4.

Эту программу вычислений можно изобразить в виде схемы.

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

Давайте выполним все действия, согласно программе вычислений.

Первое действие: 20 умножить на 17, получится 340.

Второе действие: 300 плюс 340, будет 640.

Третье действие: 2052 разделить на 38, получится 54.

Четвертое действие: 134 минус 54, получится 80.

Пятое действие: 640 разделить на 80, будет 8.

Ответ: значение исходного выражения равно 8.

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

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

Экран среды программирования PascalABC.NET имеет вид:

Строка меню содержит вкладки Файл, Правка, Вид, программа, Сервис, Модули, Помощь.

Для выбора любого пункта меню можно нажать ALT+первая буква названия пункта меню или воспользоваться мышкой.

Чтобы сохранить написанную программу необходимо выбрать Файл ® Сохранить или нажать F2 и, при сохранении первый раз, записать имя файла и нажать OK.

Чтобы загрузить уже созданную и сохраненную ранее программу необходимо выбрать Файл ® Открыть или нажать F3.

Для выхода из среды программирования ПАСКАЛЬ необходимо выбрать Файл ® Закрытьили нажать Alt+X.

Для запуска написанной программы можно выбрать Run ® RunилинажатьCtrl+F9. Если написанная программа не содержит синтаксических ошибок, то вы увидите работу своей программы, иначе компилятор выведет сообщения о найденных синтаксических ошибках, которые вам необходимо исправить и снова запустить программу.

Простейшая программа на языке Паскаль имеет следующую структуру:

PROGRAMИмя программы; VAR Определение переменных программы; BEGIN Основной блок программы END.

Блок VAR содержит список переменных программы и их типов. Этих блоков может быть несколько, но переменные в них не должны повторятся. Базовыми типами данных в Паскале являются следующие:

1. INTEGER – целые числа.

2. REAL – вещественные числа (числа с дробной частью).

3. CHAR – символьный тип.

4. BOOLEAN – логический тип (данные этого типа могут принимать только одно из двух значений: TRUE – истина или FALSE – ложь).

VARK,I,J:INTEGER;A,B:REAL;

Основной блок программы всегда начинается словом BEGIN, а заканчивается END и на конце «точка». После «точки» компилятор уже ничего не принимает.

Компилятор Турбо Паскаля накладывает некоторые ограничения на текст программы. Так, длина строки не может превысить 126 символов. В конце каждой строки в основном блоке программы и в процедурах и функциях должны стоять «;».

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

Составной символ «:=» читается как «становится равным». В операции присваивания слева всегда стоит имя переменной, а справа – то, что представляет ее значение (значение как таковое или выражение). После присваивания переменная слева получает новое значение.

Для присваиваемых выражений однозначно определяются правила вычислений: действия выполняются слева на право с соблюдением следующего старшинства (в порядке убывания):

1. Действия в скобках;

2. Математические функции;

4. *, /, DIV, MOD, AND;

Паскаль имеет следующие стандартные математические функции.

ABS(X)
PI p
SIN(X)
COS(X)
ARCTAN(X)
SQRT(X)
SQR(X)
POWER(X,5) х 5
EXP(X)
LN(X)
TRUNC(X) Целая часть значения Х
FRAC(X) Дробная часть значения Х
INT(X) Целая часть значения Х
ROUND(X) Округление Х до целого
RANDOM Случайное число от 0 до 1
RANDOM(X) Случайное число от 0 до Х
ODD(X) Возвращает TRUE, если Х – нечетное число.
A DIV B Целая часть от деления А на В (например: 5 div 3 будет 1)
A MOD B Остаток от деления А на В (например: 5 mod 3 будет 2)

С помощью этих математических функций и основных операций составляются арифметические выражения, при этом очень важно в выражении расставить правильно скобки, учитывая приоритеты выполняемых операций. Например:

Выражение

на языке Паскаль будет выглядеть как

Или выражение

будет выглядеть следующим образом:

Если необходимо вывести значение переменной, объявленной типом REAL, то программист имеет возможность задать число позиций для выводимой величины и число позиций, отводимых под дробную часть.

WRITELN(‘P=’,P:10:2);

Здесь под Р отводится 10 позиций, а из них 2 – под дробную часть. Т.е., если Р=13.852, то Р распределиться по этим позициям следующим образом

При этом вначале будут пять пробелов. И на экране при выводе мы увидим следующее:

Если выводится величина, объявленная типом INTEGER, то можно задать только общее число позиций (т.е. используется только одно число).

Задание (инструкция 3)

№1

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

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

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

Длина (см) – > 9

Ширина (см) – > 7.5

Площадь прямоугольника: 67.50 кв.см.

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

, где

№2

1. Написать программу вычисления объема параллелепипеда (V=a*b*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

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

Длина (см) – > 9

Ширина (см) – > 7.5

Высота (см) – > 5

Объем: 337.50 куб.см.

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

, где

№3

1. Написать программу вычисления площади поверхности параллелепипеда S=2*(a*b+b*c+a*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление площади поверхности параллелепипеда.

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

Длина (см) – > 9

Ширина (см) – > 7.5

Высота (см) – > 5

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

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

, где

№4

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

Вычисление объема куба.

Введите длину ребра (см) – > 9.5

Объем куба: 857.38 куб.см.

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

, где

№5

1. Написать программу вычисления объема цилиндра (V=Pi*R 2 *H). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

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

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

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

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

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

№6

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

Вычисление стоимости покупки.

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

Цена тетради (руб) – > 2.75

Количество тетрадей – > 5

Цена карандаша (руб) – > 0.85

Количество карандашей – > 2

Стоимость покупки: 15.45 руб.

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

№7

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

Вычисление стоимости покупки.

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

Цена тетради (руб) – > 2.75

Цена обложки (руб) – > 0.5

Количество комплектов (шт) – > 7

Стоимость покупки: 22.75 руб

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

№8

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

Вычисление стоимости покупки.

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

Цена одного килограмма яблок (руб) – > 8.5

Вес яблок (кг) – > 2.3

Стоимость покупки: 19.55 руб.

Цена одного кг яблок (руб) 8.5

Вес яблок (кг) 2.3

Стоимость покупки: 19.55 руб.

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

№9

1. Написать программу вычисления площади треугольника, если известна длина основания и высоты (S=1/2*a*h). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

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

Основание (см) – > 8.5

Высота (см) – > 10

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

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

№10

1. Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами (S=1/2*a*b*sin(a)). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

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

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

Введите длину первой стороны (см) треугольника – > 25

Введите длину второй стороны (см) треугольника – > 17

Введите величину угла между сторонами треугольника – > 30

Страница 45. Урок 15 — Математика 2 класс. Петерсон Л.Г. Учебник часть 3

Задание № 11. Составь программу действий и вычисли:

а) 40 : (24 : 6) + 7 • (12 — 2 • 2) — 5 • 5
б) 0 • (8 • 1 + 4) + (12 : 12) • 9 — 0 : 2

Подсказка

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

Ответ

Поделись с друзьями в социальных сетях:

Вопрос

Задание № 12. Найди ошибки. Как их можно исправить?

а) Частное чисел 30 и 6 равно 24.

б) 48 больше 8 в 4 раза.

в) 9 увеличить в 7 раз — получится 16.

г) 54 уменьшить на 6 — получится 9.

Подсказка

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

Ответ

Поделись с друзьями в социальных сетях:

Вопрос

Задание № 13. В театре 980 мест. На дневной спектакль уже продано 534 билета в партер, 76 билетов в амфитеатр и 218 билетов на балкон. Сколько ещё осталось билетов на этот спектакль?

Подсказка

Повтори, что такое задача.

Ответ

Поделись с друзьями в социальных сетях:

Вопрос

Задание № 14. Пользуясь свойствами сложения, упрости уравнения, затем реши их и сделай проверку:

х + 127 + 359 = 784 46 + у + 857 = 903

Подсказка

Повтори, что такое уравнения и свойства сложения.

Ответ

Поделись с друзьями в социальных сетях:

Вопрос

Задание № 15. Построй четырёхугольник АBCD, у которого два угла острые, а два — тупые. А теперь построй четырёхугольник MNPK, у которого один угол прямой, один тупой и два острых. Проверь правильность построения с помощью чертёжного угольника.

Содержание:

  • § 1  Правила для нахождения значений выражений
  • § 2  Задача на составление программы вычисления выражения

§ 1  Правила для нахождения значений выражений

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

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

Если в выражении нет скобок, и оно содержит действия только одной ступени, то есть только первой ступени: сложение и вычитание или только второй-умножение и деление, то их выполняют по порядку слева направо.

Если выражение содержит действия и первой, и второй ступеней и в нем нет скобок, то сначала выполняют действия второй ступени (то есть умножение и деление), а потом действия первой ступени – сложение и вычитание.

Если в выражении есть скобки, то сначала выполняют действия в скобках, учитывая при этом правила один и два.

§ 2  Задача на составление программы вычисления выражения

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

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

Команда 1: Перемножить числа 20 и 17.

Команда 2: Сложить число 300 с результатом команды 1.

Команда 3: Разделить 2052 на 38.

Команда 4: Вычесть из 134 результат команды 3.

Команда 5: Разделить результат команды 2 на результат команды 4.

Эту программу вычислений можно изобразить в виде схемы.

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

Давайте выполним все действия, согласно программе вычислений.

Первое действие: 20 умножить на 17, получится 340.

Второе действие: 300 плюс 340, будет 640.

Третье действие: 2052 разделить на 38, получится 54.

Четвертое действие: 134 минус 54, получится 80.

Пятое действие: 640 разделить на 80, будет 8.

Ответ: значение исходного выражения равно 8.

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

Список использованной литературы:

  1. Математика 5 класс. Виленкин Н.Я., Жохов В.И. и др. 31-е изд., стер. — М: 2013.
  2. Дидактические материалы по математике 5 класс. Автор — Попов М.А. – 2013.
  3. Вычисляем без ошибок. Работы с самопроверкой по математике 5-6 классы. Автор — Минаева С.С. – 2014.
  4. Дидактические материалы по математике 5 класс. Авторы: Дорофеев Г.В., Кузнецова Л.В. – 2010.
  5. Контрольные и самостоятельные работы по математике 5 класс. Авторы — Попов М.А. – 2012.
  6. Математика. 5 класс: учеб. для учащихся общеобразоват. учреждений / И. И. Зубарева, А. Г. Мордкович. — 9-е изд., стер. — М.: Мнемозина, 2009.

Узнай цену своей работы

Формулировка задачи:

Составить* программу для вычисления D=(H+ (E/H+1) )*G
H — сумма элементов массива с нечетными номерами;
E — наибольший по модулю элемент массива;
G — количество положительных элементов массива.

Код к задаче: «Одномерный массив. Составить программу для вычисления примера»

textual

Листинг программы

writeln('H = ',h);
writeln('E = ',e);
writeln('G = ',g);

Полезно ли:

10   голосов , оценка 4.100 из 5

Похожие ответы

  1. Составьте программу для вычисления произведения
  2. Составить программу для вычисления функции
  3. Составить программу для вычисления
  4. Составить программу для вычисления значения суммы бесконечного ряда с заданной точностью
  5. Составьте программу для вычисления площадей трех колец
  6. Написать программу для вычисления примера Х1(10)*Х2(8) — Х3(2), где (10,8,2) — системы счисления
  7. Необходимо составить программу с использованием рекурсии
  8. Написать программу для подсчёта цифры
  9. Программа для создания изображения
  10. Составьте программу,вычисляющую значение функции
  11. Составить графическую схему алгоритма и написать программу для вычисления значений переменной Y

Министерство образования и науки Республики Дагестан

Решение
математических задач программированием на языке

 ПАСКАЛЬ

Учебное пособие

Махачкала – 2016 г.

Автор-составитель: Учитель высшей категории математики
и информатики, обладатель гранта «Лучший учитель Российской Федерации 2006г.»,
Отличник Народного Образования РД  Гаджиев Магомед Гаджиевич

Рецензенты: Зав.кафедрой ФМО и ИКТ ДИРО,
кандидат физико-математических наук, профессор Э.И.Эфендиев, Доцент
кафедры ФМО и ИКТ ДИРО, кандидат педогогических наук С.М.Мирзаев

©……………………………….,

2016…………….. язык
программирования ПАСКАЛЬ. Учебное пособие.

Махачкала: …………, 2016,
— …с.

В учебном пособии дается описание широко
распространенного языка программирования высокого уровня ПАСКАЛЬ теоретические
сведения и прием программирования на практических примерах, достаточных для
самостоятельного составления программ и решения задач с помощью компьютера 
предполагается составление отдельных задач с алгоритмическим языком и с языком
программирования БЕЙСИК.

Учебное пособие предназначено учителям
информатики и ИКТ, математики, студентам педколледжей, педвузов, аспиратам,
руководителям школьных и Р(Г) УО методических объединений учителей математики.

Введение

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

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

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

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

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

Привлекательность языка программирования
ПАСКАЛЬ обусловлена целым рядом причин:

1.      
ПАСКАЛЬ обладает  концептуальным единством,
стимулирующим качественное программирование (в соответствии с принципами
структурного программирования).

2.      
С ПАСКАЛЕМ хорошо согласован алгоритмический Е-язык
пробного учебного пособия по курсу «основы информатики и вычислительной
техники» (типы данных  и алгоритмические структуры Е-языка с точностью до
наименований являются подмножеством соответствующих средств ПАСКАЛЯ).

3.      
ПАСКАЛЬ позволяет создавать эффективные программы
(в силу естественной машинной реализации его конструкции).

4.      
ПАСКАЛЬ широко распространен. На персональных
компьютерах, которыми оснащены образовательные учреждения республики (школы,
инновационные учебные заведения, профессиональные училища, вузы, средние
специальные учебные заведения), как правило, имеются трансляторы с языка
ПАСКАЛЯ.

5.      
ПАСКАЛЬ зарекомендовал себя как хороший язык для 
начального обучения программирования по нему издано много доступной учебной,
справочной и научно-популярной литературы.

Язык программирования Паскаль

Основные символы
языка

I. Язык программирования ПАСКАЛЬ является
одним из языков нового уровня. Его автор – Никлоус Вирт, профессор Института
информатики Швейцарской высшей политехнической школы. Язык назван в честь
выдающегося физика, математики и философа Блеза Паскаля, который изобрел первое
устройство по сложению чисел.

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

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

2. Создать язык, реализация которого была бы
надежной и эффективной на существующих ЭВМ.

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

В языке существуют такие различные цепочки
символов. Которые рассматриваются как единые смысловые элементы.

Такие последовательности символов называются
служебными (зарезервированными) ключевыми словами. Они интерпретируются как
единые символы с фиксированными значениями.

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

СЛУЖЕБНЫЕ
СЛОВА ПАСКАЛЯ.

Английские
служебные слова

Русское
произношение

Смысловой
перевод

AND

ARRAY

BEGIN

CASE

CONS

DIV

 DO

DAWNTO

ELSE

FILE

FOR

FUNCTION

GOTO

IF

IN

LABEL

MOD

NIL

NOT

OF

OR

PACKED

PROCEDURE

PROGRAM

RECORD

REPEAT

SET

THEN

TO

TYPE

UNRIL

VAR

WHILE

WITH

TRUE

FALSE

INTEGER

REAL

энд

эреи

бегин

кеиз

конст

див

ду

даунту

элс

фаил

фо

фанкшин

гоуту

иф

ин

леибл

мод

нил

нот

оф

о

пакид

проседире

програм

рикод

рипит

сет

зен

ту

таип

антил

вар

ваил

висз

тру

фолс

интеже

реал

и

массив
(строй)

начало

вариант

константа

деление

выполнить

уменьшая
до

иначе

файл

для

функция

перейти
к

если

в

метка

мод
(остаток – мера)

нил
(ничего, нуль)

не

из

или

упакованный

процедура

программа

запись

повторять

множество
(набор, ряд)

то

до
(увеличивая до)

тип

до
(до тех пор, пока)

переменная

пока

с

истина

ложь

цклый

вещественный

Некоторые последовательности символов:

:= (знак операции присваивания)

>= (знак )

<=(знак )

<> (знак )

(* (начало комментария)

*) (конец комментария)

также считаются неделимыми элементами: они
называются составными символами.

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

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

Для изображения чисел в языке Паскаль
используется десятичное представление. Числа могут быть целыми или имеющие тип
INTEGER и вещественными имеющими тип REAL.

Вещественные числа могут быть записаны в двух
формах:

В естественной (с фиксированной точкой), в
экспоненциальной форме (с плавающей точкой).

Примеры.

1) 0,12,+6,-146 (содержит константы целого
типа)

2) 1,2,–0.4,10.43 Е – 02,1Е–10,1.0 (содержит
константы вещественного типа).

В языке ПАСКАЛЬ разрешается использовать
строковые (символьные, литерные) константы. Строка – это любая
последовательность входных символов языка, заключенная в одиночные кавычки
(апострофы). Если одним из символов строки должна быть кавычка, то она должна повторяться
дважды.

Примеры:

/PASCAL/, /Результат/,
/ЗАЧЕТ/.

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

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

Решение

Программа определения для конкретной ЭВМ
приближенного значения машинного эпсилон, отличающихся от точного значения не
больше чем множителем 2, может быть записана в виде:

PROGRAM DEF-M-EPS (OUT PUT):

(*определение нимееньшего числа EPS такого, что 1+Eps>1*)

Const c1=1.0; с 2=2.0;

VAR EPS, EPS1:REAL;

REGIN

Eps:=c1; EPS:+c2;

While EPS 1>1.0 Do

BEGIN

EPS:=EPS/2;

EPS1:=EPS+1

END;

EPS:=EPS*2;

WRITELN (‘приближенноезначениеEPSравно‘, EPS)

END.

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

Пример. Составить программу определения
наибольшего числа Фибоначчи, не превосходящего заданного натурального М.

Решение

Числа Фибоначчи образуют последовательность U1, U2,…..,элементы которой определяются рекуррентными соотношениями:

Программа может быть записана в виде:

PROGRAM fibonachi (INPUT, OUTPUT);

Var M, UN, UN1, UN2: INTEGER;

BEGIN

UN 2:=UN1+UN;

UN:=UN1; UN:=UN2

END;

WRITE (UN)

END.

Операторы повторения (цикла). Оператор перехода

В языке программирования Паскаль имеются три
оператора повторения, с помощью которых легко реализуются базовые структуры
ЦИКЛ. Эти операторы начинаются словами
WHILE, REFERAT, FOF и называются соответственно операторами
цикла с предусловием (или циклом ПОКА), с постусловием (цикл ДО), с параметром
(цикл
FOR).

Это почти полные аналоги  соответствующих
команд цикла алгоритмического языка.

Оператор цикла с предусловием имеет вид: WHILE выражение DO оператор.

Выражение, управляющее повторением, должно
быть булевского типа. Оператор, следующий за
DO, является
телом цикла.

Правило  выполнения оператора WHILE, показано на рисунке.

Для разрешения повторения более, одного
оператора их следует группировать в составной оператор, т.е. помещать между
служебными словами
BEGINи END.

Оператор цикла с постусловием (цикл REFERAT)

Он имеет вид:

REPEAT

Операторы

UNTIL булевское выражение

Поскольку
служебные слова REPEAT и UNTIL играют роль скобок, то между ними можно
поместить серию операторов, не заключая их в операторные скобки BEGIN и END.

Правило выполнения
оператора REPEAT показано на рисунке.

Между операторами REPEAT и существуют три основных  различия:

1.    
В операторе REPEAT проверка
условия выхода выполняется в конце, а не в начале цикла, так что тело цикла
выполняется по крайней мере один раз.

2.    
В операторе REPEAT условие
выхода удовлетворяется, если выражение истинно, а в операторе
WHILE – если ложно.

3.    
Между служебными словами REPEAT и UNTIL можно поместить несколько операторов, а в
операторе
WHILE тело цикла должно содержать только один
раз, возможно составной оператор
REPEAT является  полным
аналогом команды повторять …. до …. алгоритмического языка.

Программа
последнего примера с использованием оператора
REPEAT может
быть записана так:

Пример.

PROGRAM FI BREPEAT (UNPUT,
OUTPUT);

VAR M, UN, UN1, UN2: INTEGER;

BEGIN

READ (M);

UN:=0;
UN1:=1;

REPEAT

UN2:=UN1+UN;

UN:=UN1;
UN1:=UN2;

UNTIL UN
2>M;

WRITE (UN)

END.

Оператор цикла с параметром (оператор FOR)

Начинается
служебным словом
FOR и имеет вид:

FORP: = выражение
1
TO выражения 2 DO

                     
оператор

или FORP:= выражение 1 DOWNTO выражение 2 DO

                    
оператор

Буквой P обозначен идентификатор переменной, которая называется управляющей
переменной или параметром цикла.

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

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

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

Таким образом,
использование управляющей переменной вещественного типа запрещается. Если в 
операторе использовано спецификация ТО, то значение управляющей переменной «увеличивается»
от начального до конечного значения,  если спецификации
DOWNTO, то значение управляющей переменной «уменьшается», то есть цикл вида:

FOR
V:=A1 TO A2 DO S

где A1, A2 – выражения, S
оператор (простой или составной) эквивалентен такой последовательности
операторов.

V:=A1;
S; V:=SVCC (V); S;…; V:=A2; S

ациклвида:

FOR V:=A1 DOWNTO A2 DO S

Эквивалентен
последовательности:

V:=A1; S; V:=PRED(V); S;…; V:=A2; S

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

Чаще всего
значениями управляющей переменной являются целые числа. Однако они могут
принадлежать и другим упорядоченным типам.

Например по
команде:

FORBUKVA:=’A‘ то ‘zDOоператор

Символьная
переменная 
BUKVA последовательно будет принимать 
значения от ‘
A‘ до ‘Z‘ включительно,
при которых и будет выполняться оператор, образующий тело цикла.

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

Решение

Соответствующая
программа может быть записано в виде:

PROGRAM factorial (INPUT,
OUTPUT);

(* ВЫЧИСЛЕНИЕ
N!*)

CONST SP=1;

VARN, (*АРГУМЕНТ*)}

F, {(*Результат*)}

K: INTEGER;

BEGIN

WRITELN (‘ВВЕДИТЕЧИСЛО‘);

WRITELN (‘ФАКТОРИАЛ КОТОРОГО ХОТИТЕ НАЙТИ’);

READ (N);

K:=1; F:=1;

FOR K:=1 то N DO

F:=F*K;

WRITELN (N:SP,’!=’, F:SP)

END.

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

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

Решение

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

дляi от 1 до N

НЦ обработать i-ю строку

КЦ

Уточнить
(детализировать) команду для обработки строк и можно, например, так:

покане достигнут конец строки

нцчитать литературу

еслилитера есть заглавная гласная буква.

          то
вывести литеру

все

КЦ

Перейти к новой
строке

Для проверки
достижения конца строки можно воспользоваться стандартной функцией
EOLN, которая значение TRUE принимает лишь при
достижении  конца строки.

Теперь можно
записать программу на языке программирования ПАСКАЛЬ.

PROGRAM ТЕКСТ
(ШТЗГЕБ
OUTPUT);

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

VAR N, I: INTEGER;

lit: CHAR;

BEGIN

WRITELN (‘Введите
количество строк’);

READ (N);

FOR I:=1 то
N  DO

                BEGIN

                     WHILE NOT
EOLN DO

                           BEGIN

                             
READ (Lit);

                              IF
(lit=’A’) OR (lit=’E’) OR (lit=’I’)

                                
OR (lit=’O’) OR (lit=’U’)

                                
THEN WRITE (lit)

                 END; (*конеццикла WHILE*)

          READLN

        END (*конеццикла WHILE*)

END .

В последней
программе запись будет более компактной, если вместо оператора
IF воспользоваться операторов варианта:

CAS лит OF

‘A’, ‘E’, ‘T’, ‘O’; ‘U’: WRITE (лит).

Оператор перехода

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

В таком случае
можно воспользоваться оператором перехода, который имеет вид:

GOTO метка

Метка – это целое
число произвольный идентификатор без знака, максимум из четырех цифр.

Метки отделяются
от операторов двоеточием. Любая метка, которая будет использоваться в
программе, должна быть описана в специальном разделе описания меток. Этот
раздел начинается служебным словом
LABEL и размещается
перед разделами описания переменных и определения констант. Заметим, что с
помощью оператора перехода войти внутрь составного оператора или внутрь
процедуры нельзя.

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

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

Программа может
быть записана в виде.

PROGRAMпример (INPUT, OUTPUT);

(*вычисление
среднего арифметического
N положительных чисел*)

LABEL 999;

VAR N, I:INTEGER;

S,   NUT,  S: REAL;

BEGIN

READ (N); S:=0;

FOR I:=1 тоN
DO

BEGIN

READ (NUM)

IF NUM < 0 THEN GOTO 999;

S:=S + NUM;

END; (*КОНЕЦЦИКЛАFOR*)

Sr:=S/N;

WRITELN (*СРЕДНЕЕ
АРИФМЕТИЧЕСКОЕ=,
sr)

999:WRITELN (‘ВЫПОЛНЕНИЕ ПРОГРАММЫ ПРЕКРАЩАЕТСЯ’).

END.

Тема: Операторы безусловного и условного перехода

№1. Проверить на
четность число, вводимое с клавиатуры:

10 read (A):

20 IF A тоd=0
THEN PRINT «четно» ELSE

PRINT«НЕЧЕТНО»

30 END

№2. Найти корни
квадратного уравнения

Ax2+bx+c=0, a,b,c – ввестис клавиатуры

Программа имеет
вид:

Programkvadratur;

Labell1;

VAR a,b,c,dis, x1, x32: real;

Begin dis:=sqr (b) – 4*a*c;

If dis <0 then begin

Writeln (‘Действительныхкорнейнет‘);

Goto l1;    end;

If dis=0 then begin

x1:=(-b/2*a);

writeln (‘x1=x2=’, x1); end;

if dis>0 then begin

x1:=(-b-sqrt (dis))/(2*a);

x2:=(-b+sqrt(dis))/92*a);

writeln (‘x1=’, x1′, x2=’, x2)

end;

l1: end.

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

Программа имеет
вид:

vara, b:real;

begin

read (a,b);

c:-180-a-b;

wrileln (‘c=’, c)

end.

№4. Проверить,
превышает ли 1000 произведение двух натуральных двузначных чисел.

Программа имеет
вид:

VAR

a,b:integer [10….99];

c:integer;

begin read (a,b);

c:=a*b;

if c>1000 then writeln (‘Да‘)else

writeln (‘Нет’);

end.

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

Программа имеет
фид:

Vara,b,c: integer;

Begin read (a,b);

if a>b then c:=a*a – b*b*b;

if a<иthen
c:=b*b–a*a*a;

Writeln(c);

end.

№6. Из трех
вводимых с клавиатуры целыхчисел машина находит меньшее и умножает его на три.
Составьте программу

Программа имеет
вид:

Vara,b,c: integer;

Begin

Read (a,b,c);

if (a>=b) and (B=<c) then
min:=b;

if (a>=c) and (b>=c) then
min:=c;

if (b>=a) (c>=a) then
min:=a;

writeln (min*3);

end.

УПРАЖНЕНИЯ

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

на отрезке [-2;2]с
шагом
h=0,1

2. Выяснить
значения следующих величин для вашей ЭВМ:

а) наименьшее
значение |
x|, отличающееся от нуля, где х – вещественное
число;

б) наименьшее
действительное значение с плавающей точкой (машинный эпсилон) такое, что машина
различает 1 и 1+
E.

в) символы,
которые могут быть представлены в ЭВМ и их порядковые номера:

3. А и В –
заданные действительные числа. Составить программу определения наибольшего
целого числа
N такого, что

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

с использованием операторов
цикла
WHILE, REPEATи FOR.

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

6. Составить
программу определения площади фигуры, ограниченной линиями
y=0, x=-2, x=2, .

7.Составить
программу определения с точностью до
 значения корня из отрезка [0:1]
уравнения

3xcosx–1=0

Методом

а) деления отрезка
пополам;

б) хорд;

в) касательных

8. Составить
программу, которая определяет все способы размена любой суммы денег до 99
рублей с помощью монет достоинством 1б 5б 10 и 20 рублей.

 

Оператор ветвления. Оператор варианта.

Программирование разветвлений.

Оператор ветвления
(его называют еще условием) в языке Паскаль имеет вид:

IF булевское
выражение
THEN оператор 1

ELSE оператор 2

Здесь оператор 1 и
оператор 2 – простые или составные операторы, а
IF (если),
THEN (тогда), ELSE (иначе) –
служебные слова.

Допускается также
неполная конструкция оператора:

IF булевское
выражение
THEN оператор.

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

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

Условный оператор,
в котором оператор 1 и оператор 2 составные, целесообразно для наглядности
записывать в виде:

IF логическое
выражение

THEN

BEGIN

Операторы

END

ELSE

BEGIN

              
Операторы

END

Примечание. При
записи конструкции

IFвыражение 1

THEN

IFвыражение 2

THEN оператор 1

ELSE оператор 2

возникает
двусмысленность (к концу
IFотносится ELSE).

Синтаксическая
неоднозначность этой конструкции в языке Паскаль размещается путем
интерпретации ее в таком эквивалентном виде:

IF  выражение
1

     THEN

            BEGIN

                 IF выражение 2

                      THEN оператор 1

ELSE оператор 2

END

Пример 1.
Составить программу решения неравенства
 (aи b – произвольные действительные числа)

Решение

Программа
запишется в виде:

PROGRAM Neravenstvo (INPUT,
OUTPUT);

(*РЕШЕНИЕНЕРАВЕНСТВАA*x>B*)

VAR A,B : REAL;

BEGIN

WRITELN (‘ВВЕДИТЕА,
В‘);

READ (A,B);

IF A<>0

THEN IF A>0

THEN WRITE (‘x>’, B/A)

ELSE WRITE (‘x<‘, B/A)

ELSE IF B<0

THEN WRITE (‘x – любоечисло‘)

ELSE WRITE (‘решенийнет‘)

END.

Пример 2. Записать программу решения уравнения

где a, b, с – произвольные действительные числа.

Решение

PROGRAM кур
(INPUT, OUTPUT);

VAR A, B, C: REAL; (*АРГУМЕНТЫ*)

D, x1, x2: REAL;

BEGIN

WRITELN (‘ВведитекоэффициентыA,
B, C’);

READ (A,B,C);

IF (A=0) AND (B=0)

THEN WRITE (‘Управлениевырождено‘)

ELSE IF A=0

THEN WRITE (‘Кореньравен‘,
– C/B)

ELSE IF c=0

THEN WRITE (‘корниравны:
0′, и –B/A)

ELSE

BEGIN

D:-SQR(B) – 4*A*C;

IF D>=0 THEN

BEGIN

                           
X1:=(-B+SQRT(0)/(2*A);

                           
X2:=(-B-SQRT(0)/(2*A);

                           
WRITE (‘корниравны: ‘,x1′, w, x2)

END

ELSEWRITE (‘действительных
корней нет’)

END

END

Пример. Составить
программу решения неравенства
ax>b
(
aи b – произвольные действительные
числа).

На Паскале

PROGRAM ˄ — НЕРАВЕНСТВО(INPUT,
OUTPUT);

(*РЕШЕНИЕ
НЕРАВЕНСТВА
A*X>B*)

VAR A, B: REAL;

BEGIN

         WRITELN (‘ВВЕДИТЕА,В‘);

          READ (A,B);

          IF A<> 0

              THEN IF A>0

THEN WRITEL (‘x>’, B/A)

ELSE WRITEL (‘x<‘, B/A)

ELSE IF B<0

THENWRITE (‘X – любимоечисло‘)

ELSE WRITE (‘РЕШЕНИЙНЕТ’)

END.

Оператор варианта (CASE)

Оператор варианта
позволяет выбрать одну из нескольких альтернатив. С помощью этой команды
осуществляется множественное ветвление.

Общая форма
команды
CAS имеет вид:

CASEВЫРАЖЕНИЕ OF

СПИСОК КОНСТАНТ : ОПЕРАТОР;

СПИСОК   КОНСТАНТ : ОПЕРАТОР;

————————————————-

СПИСОК   КОНСТАНТ : ОПЕРАТОР

END

Выражение, которое
стоит между служебными словами
CASE (вариант) и OF (из), называется селектором.

Константы,
предшествующие двоеточию и стоящие перед соответствующим оператором, называются
метками варианта.

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

Тип выражения
селектора может быть любым скалярными типом,  кроме
REAL.
Тип констант, выполняющих роль меток варианта, должен совпадать с типом селектора.

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

Примеры

1.  CASE  N  MOD 2 OF

:WRITELN (N,’ – четное‘)

                1: WRITELN (N,’
нечетное‘)

END

2. CASE ODO (N) OF

              TRVE: WRITELN (N,’
нечетное‘);

              FALSE: WRITELN
(N,’ – четное‘)

END

Пример. Записать
программу, позволяющую определять квартал по порядковому номеру месяца.

Решение

Сначала запишем
алгоритм на алгоритмическом языке.

алг определение – вартала (цел.месяц, лит квартал)

арг. Месяц

рез квартал

нач.

выбор

при месяц = 1 или месяц = 2 или месяц = 3:

квартал:= “первый
квартал”

при месяц = 4 или месяц = 5 или месяц = 6:

          
квартал:= “второй квартал”

примесяц = 7 или месяц = 8 или месяц = 9:

          
квартал:= “третий квартал”

примесяц = 10 или месяц = 11 или месяц = 12

          
квартал:= “четвертый квартал”

иначе квартал:= “такого месяца нет”

все

кон

Соответствующую
программу на языке Паскаль можно записать так:

PROGRAM
определение – квартала (
INPUT, OUTPUT)

VARмесяц :INTEGER;

BEGIN

WRITELN (‘Введите
порядковый номер месяца’);

READ (месяц);

IF (месяц<1)
OF (месяц> 12)

THEN

WRITELN (‘такогомесяцанет‘)

ELSE

CASE месяцOF

1, 2, 3: WRITELN
(‘первыйквартал‘);

4, 5, 6: WRITELN (‘второй квартал’);

7, 8, 9: WRITELN (‘третий квартал’);

0, 11, 12: WRITELN (‘четвертый квартал’);

END.

Вопросы для самоконтроля

1.    
Какова структура оператора ветвления в языке
паскаль?

Какие правила его выполнения?

2.    
Как программируется на языке Паскаль базовая
структура ветвление?

3.    
Какова структура и правила исполнения оператора
варианта?

Упражнения

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

2.    
Запишите программу, которая по номеру для недели –
целому

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

Такие задания
целесообразно готовить учителю для более подготовленных учащихсяс хорошей
математической базой, которые в состоянии планировать свою деятельность в целом
по решению задач с помощью персонального компьютера. Основные действия
обучаемого при этом таковы:  умеет решать задачу, полностью проводит отладку
программы решения задач, творчески использует многовариантные подходы к решению
задачи, проводит проверку решения задач вторым способом (вариация моделей) и
полностью анализирует ответ задачи. В ряде случаев обучаемый  комбинирует ранее
известные методы решения задач (В особенности методы половинного деления, простой
итерации, Гаусса, Монте-Карло, ортогонализации, Лагранжа, Рунге-Кутта и т.д.).

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

Тема: Подпрограммы

1.    
Составить программу для определения среднего
арифметического элементов массива А (50) и В (40), используя подпрограмму.

2.    
Найти максимальную из сумм значений элементов
столбцов двухмерного массива.

3.    
Сколькими способами можно отобрать команду в
составе 5 человек из 8 кандидатов; из 10 кандидатов; из 11 кандидатов? Подсчет
количества способов отбора оформить  в виде подпрограммы.

4.    
В порт в среднем приходит 3 корабля в день. Какова
вероятность того, что в порт в день придет 2 корабля; 4 корабля? Вычисление
вероятности оформить в виде подпрограммы.

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

6.    
Дан одномерный массив вещественных чисел (Х1,…., Хn), Составить подпрограмму определения минимального, максимального и
среднеарифметических значений этого массива.

7.    
Известно, что любую сумму рублей свыше если можно
составить из трех и пятирублевых купюр. Составить подпрограмму вычисления одной
из возможных таких комбинаций для заданной суммы
S.

Раздел: «Разные задачи»

1. Составить
программы, которые:

а) по двум
вводимым углам треугольника рассчитывает другой;

б) определяет:
является ли год високосным;

в) проверяют, если
среди трех введенных чисел номер телефона Вашего друга;

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

2. Написать
программу, которая:

а) выводит на
экран четкое числа от 1 до 25;

б) составляет
таблицу умножения для числа 47;

в) вычисляет
произведение натуральных чисел от 14 до 26.

3. Вычислить
значения функции
ZSinX/X при Х, принимающем значения 01, 02, 0304?///? 1? Т.е. изменяющимся от
0,1 до 1
cшагом 0,1

4. Шахматист А в
среднем на каждые 100 партий выигрывает у шахматиста В на 6 порций больше, чем
проигрывает, а доля ничьих равна 80%.

Какие могут
получиться результаты матчей из 24 партий? Промоделируйте на ЭВМ.

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

6. Выработка
рабочего в течение недели изменялась следующим образом: 15, 18, 19, 17, 12.

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

7. В классе N учеников. Определить средний рост учеников данного класса, ввода в ЭВМ
по очереди рост каждого ученика.

8. Найти
максимальную из сумм значений элементов столбцов двумерного массива.

9. Палиндром –
такое сочетание цифр, которые читаются одинаково слева направо и справа налево.
Например: 121, 55, 4884.

Найти все
палиндромы, для которых:

а) их квадраты –
также палиндромы (в интервале от 1 до 1000);

б) их кубы – также
палиндромы (в интервале от 1 до 100).

10. Известно, что
любое натуральное число Р (Р>7) можно представить в виде Р=А˄3+В˄5.

Написать программу
нахождения всех пар А и В для числа Р.

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

№1. Составьте
программу, которая по названию страны выводит название столицы этой страны.

Названия стран и
столиц заносятся в символьный массив.

№2. Дан массив из
фамилий и имен десяти человек. На фамилию и имя отводится 18 символов.

Определите, есть ли
среди них однофамильцы с одинаковыми именами.

№3. Составьте
алгоритм, переводящий числа >1000, записанные арабскими в те же числа, но
записанные римскими цифрами.

№4. Подсчитайте
число гласных букв в слове «Прозаседавшиеся»

№5. Напишите
программу – переводчик с русского языка на любой другой. Переводчик разбивает
текст на слова и заменяет их на соответствующие им в словаре.

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

Тема: Задачи повышенной сложности

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

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

№3. Имеется N сосудов, к каждом из которых лежит по одному камню белого, синего,
красного цвета. Составьте программу, которая «заглядывает» в сосуды не более
одного раза и «перекладывает» камни таким образом, чтобы к концу просмотра в
сосудах (в порядке возрастания их номеров) лежали сначала только красные, затем
синие, затем белые камни.

Цвета можно
закодировать: 1 – белый, 2 – синий, 3 – красный.

№4. Дан двумерный
массив А[1:10; 1:10], упорядоченный следующим образом: каждый следующий элемент
при движении по стрелке меньше предыдущего. Вставьте в этот массив новое число
так, чтобы не нарушить порядок.

№5. У Вас имеются
четыре кубика, стороны которых окрашены в разные цвета.

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

Разные задачи с решениями.

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

Часть задач
предлагается решить на языке программирования Бейсик. Имея приведенные решения
на Паскале. Или ж предлагается программа решения задачи, но без условия задачи,
которое нужно составить.

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

Задача 1.
Составить программу определения наибольшего числа Фибоначчи, непревосходящего
заданного натурального М.

Решение

Числа Фибоначчи
образуют последовательность
U1, U2, …. Элементы
которой определяются рекурентными соотношениями:

Программа может
быть записана  на языке Паскаль

Program Фибоначчи
(INPUT, OUTPUT);

VAR M, UN, UN1, UN2:INTEGER;

BEGIN

READ (M):

UN:=0; UN1:=1; UN2:=1;

WHILE UN2<M DO

                  BEGIN

UN2:=UN1+UN;

UN:=UN1; UN1:=UN2

                  END;

        WRITE (UN)

END.

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

на Бейсике

10 INPUTX

20 y=FIX (X/10)*10

30 y=ABC(x-y)

40 PRINT y

50 END

НаПаскале

PROGRAM {цифра}

Var x, y:real;

begin

read (x);

y:=int (x/10)*10

y:=abs(x-y);

Writeln (y:10:0);

end.

Задача 3.
Известно, что число
 можно
вычислить по формуле:

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

алг число π (целN, вещ. π)

аргN

рез π

нач цел i

π:=0

i:=0

покаi<(N-1)

нц

π:=π+(4/(2*i+1)+(-1)˄i)

i:=i+1

кц

кон.

10  REMчисло π

20 INPUTN

30 p=в

40 FOR I=0 тоN-1

50 p=p+4 / (2*I+1)*(-1)˄I

60 NEXT I

70 PRINT P

80 END

PROGRAM {числопи}

Var n, I, k: integer;

P:real;

Begin

Write (‘введитеn’)

read (n);

p:=0;

k:=-1;

for i:= 0 to n-1 do

begin

k:=-k;

p:=p+4/(2*i+1)*k

end;

writeln (‘ПИ‘, P)

end

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

а) BASIC

10 INPUT N

20 LPRINT «N=»; N

30 FOR I=10 то 10

40 S=N*Z

50 LPRINT N «X    I «=»; s

60 NEXT I

70 END

б) Паскаль

program stolbik;

vari, n, s: integer;

begin read (n);

for i=1 то 10 do

begin s:=n+i;

writeln (n, ‘x’, i;=’, s); end;

end.

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

Программа на
ПАСКАЛЕ

Iвариант

PROGRAMСУММА1 (INPUT, OUTPUT)

VAR D: REAL;

N, I: INTEGER;

BEGIN

READ (N);
S=0.0;

FOR I=1 тоN DO S:=S+1/SQR (I);

WRITE (‘S=’,
S);

END.

IIвариант

PROGRAM СУММА(INPUT,
OUTPUT)

VAR S: REAL;

N, I : INTEGER;

BEGIN

READ (N);
S:0.0;

FOR I:=N
DOWNTO 1 DO S:=S+1/SQR (I);

WRITE (‘S=’,
S);

END.

III вариант (используя оператор WHILE)

PROGRAM СУММА3
(INPUT, OUTPUT);

VAR S: REAL;

           N, I: INTEGER;

BEGIN

READ (N);
S=0.0; I:=1;

WHILE I<=N
Do

BEGIN

      
S:=S+1/SQR (I); I:=I+1

END;

WRITE (‘S=’,
S);

END.

(Примечание:
оператор цикла с предусловием
WHILE условиеDo оператор)

PROGRAM СУММА
4 (INPUT, OUTPUT);

      VAR S, EPS: REAL;

       I: INTEGER;

BEGIN

       READ (EPS); S:=0.0; I=1;

  REPEAT

             S:=S+1/SQR (I);
I:=I+1;

   UNTIL 1/SQR(I)<=EPS;

   WRITE (‘S=’, S);

END.

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

На паскале

PROGRAM FАКТОРИАL
(INPUT, OUTPUT);

(*ВЫЧИСЛЕНИЕN!*)

CONST  SP=1;

VAR N, (*аргумент*)

F, (*результат*)

K:INTEGER;

BEGIN

WRITELN (‘введитечисло‘);

WRITELN (‘факториал
которого хотите найти’);

READ (N);

K:=1; F:=1;

FOR K:=1 тоN
DO

             F:=F*k

WRITELN (N:SP,’ !=’, F:SP)

END.

Задача 7. Выяснить условие задачи

PROGRAMSEMATP(INPUT, OUTPUT)

TIPE B=ARRAY [1…8, 1…5]OF REAL

VAR A:B;  S,  S1,  SEL: REAL;

BEGIN

S:=0; S1=0;

FORI=1 тоDo
FORJ:=1 то 5 DO

READ (A[I,J]);

FOR I:=1 то
8 Do J:=1 WHILE J<=5

Do BEGIN S:=S+A(I, J); J:=J+2
END;

END

I:=1; WHILE I<=8 Do

FOR J:=1 то
5 DO BEGIN

S1:=S1+A(I,J); END; I:=I+2; END;

SEL:=S+S1;

WRITE LN (SEL);

END.

Задача 8.
Определим рекурсивную функцию вычисления факториала

n!=1×2×3….(n-1)×n

Решение

В рекурсивной
форме факториал можно представить себе в виде:

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

FUNCTION FACT (N:INTEGER):INREGER;

VAR F, I:INTEGER;

BEGIN

F:=1

WHILE I<=N DO D:=F*I;

FACT:=F

END;

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

Рекурсивная
функция вычисления факториала имеет вид:

FUNCTION FACT
(N:INTEGER):INTEGER;

BEGIN

IF N<=1 THEN FACT:+1

ELSE FACT:=N+FACT(N-1);

END;

Рекурсия
отсутствует в Фортране и Бейсике, но нельзя сказать, что это является большим
их недостатком.

Возможность
применения рекурсии в Паскале в ряде случае дает красивое и эффективное
решение. Однако пользоваться ею надо пользоваться с большой аккуратностью.

Задачи 9.
Составить программу следующего задания: в целочисленном массиве
с суммой равной m

Пустьn=12?
M=10

programPK;

label10;

constn=12; m=10

vara:=array [1…n] of integer;

i, j,k, s: integer;

begin for i:=1 тоn
do read (a[i]);

fori:=1 тоn
do

begin s:=0;

for j:=1 to n do

begin s:=s+a [j];

if s=m then

begin for k:=i to оdo

writeln (a[k]);

goto 10

end

end

end

writeln (‘такой
совокупности нет’);

10: end

Задача №10

Условие. На
плоскости задано
N прямых.

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

Формат входящих
данных. Вводятся
N, a1, b1, c1, d1, … aN; bN, cN, dN,  где 1=N=100, а пары чисел (ai, bi)и (ci, di) – вещественные координаты двух различных точек, через которые
проходит прямая с номером
i.

Задача 11.
Антивирус.

Условие. Для
распознавания различных вирусов программа
HIVTEST
использует набор сигнатур (набор символов). Если сигнатура выпуск встречается в
файле, то файл считается зараженным этим вирусом.

Напишите
программу, которая по заданному набору сигнатур определяет, какими вирусами
инфицирован анализируемый файл. Сигнатура состоит из последовательности байтов
(байт = двум шестнадцатеричным числам) и знаков «*» (заменяет любую,
в том числе и пустую, последовательность байтов) и «?» (заменяет один
любой байт).

Задача 12. «Работа
и спорт»

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

Формат входных
данных: Вводится количество рабочих
N, их имена и дни, в
которые каждый из них работает в вечернее время, количество спортивных секций
M, вид спорта и дни занятий.

Тема: Массивы

1.      
Ввести массив К(7). Найти:

Сумму его элементов и произведение его  элементов

2.      
Температура воздуха за неделю принимала следующие
значения: 17, 15, 14, 24, 27, 30, 28.

В какой день недели температура была
максимальной?

3.      
Дан массив из чисел. Определить номер первого из
встречающихся элементов, значение которого равно 0.

4.      
Дана таблица из 15 целых чисел. Напечатать те из
них, которые делятся на 3.

5.      
В массивеС (35) хранятся результаты спортсменов,
участвовавших в кроссе на 1000м.

Найти номер лучшего бега.

6.      
Дан массив из 6 натуральных чисел. Определить
количество элементов данного массива:

а) которые кратные 3, но не кратны 5;

б) являются квадратными четных чисел.

7.      
Проверить является одномерный числовой массив
упорядоченным по убыванию.

8.      
В одномерном массиве из 20-ти произвольных чисел определить
сумму и количество элементов, которое меньше – 5 и номера которых кратны 4.

Тема: Прямоугольные таблицы.Двумерные массивы

Задачи

№1

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

№2

В массиве Q[1:X,
1:
R] найдите количество элементов, по модулю меньших
заданного числа Т.

№3

В таблицу занесены результаты химического анализа 10
веществ. Химические элементы закодированы цифрами от 1 до 5. Присутствие
какого-либо элемента в веществе кодируется 1, отсутствие 0. Составить
программу, которая подсчитает и напечатает общее количество веществ,
содержащих два, четыре, пять из пяти химических элементов.

№4

Значения температуры занесены в сводную таблицу,
состоящую из 28 строк и 8 столбцов (восемь месяцев по 28 дней). Найдите
максимальную среднюю температуру за каждую неделю месяца и номер недели с
максимальной средней температурой.

№5

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

№6

В двумерном массиве произвольных чисел А(10,10) найти:

а) наибольший элемент главной диагонали;

б) наименьший элемент побочной диагонали.

№7

В двумерном массиве произвольных чисел В(4,7):

а) взаимно поменять местами 2-й и 5-й столбцы;

б) Определить номера столбцов, в которых среднее
арифметическое его элементов меньше, чем среднее арифметическое элементов
массива.

Тема: Графика

Решение задач по
планиметрии с использованием машинной графики.

№1.

Построить произвольный треугольник АВС, его медианту АМ и
вычислить ее длину.

№2.

Нарисовать окружность, задать на ней произвольную точку А
и построить любой отрезок касательной, проходящей через точку А.

№3.

По вершинам А, В, С построить параллелограмм и найти
длину его наибольшей диагонали.

№4

Нарисовать 10 вложенных друг в друга квадратов с общим
центром.

№5.

Вычислить число сторон правильного многоугольника,
вписанного в окружность радиуса
R, при котором
выполняется соотношение
, где P – периметр многоугольника, L – длина
окружности. Нарисовать окружность и полученный
N-угольник.

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

1. Для данного
массива А из М чисел сформируйте массив В из
N=M/2 чисел по формуле: В[I]=A[1]+A[M+1-I]/2.

2. Составить
алгоритм (программу), который заполняет вещественную таблицу
A[1:8], если значение каждого последующего элемента таблицы определяется
соотношением:

3. В ходе
тренировок спортсмен по прыжкам в длину показал результаты, которые составили
таблицу Т[
I:6]

i

1

2

3

4

5

6

T

342

326

314

349

337

321

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

4. На метеостанции
в течение суток измеряли значение температуры воздуха через каждый два часа.
Результаты измерений составили таблицу и [
I:13].

i

0

2

4

6

8

10

12

14

16

18

20

22

24

И

-2

-3

-4

0

3

4

5

6

7

8

9

7

5

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

5. В баскетбольной
команде 6 основных игроков. После измерения их роста результаты занесли в
таблицу Р:

N

1

2

3

4

5

6

Р

181

190

192

201

187

205

Составить алгоритм
(программу), который:

а) определяет
номер самого маленького игрока;

б) сообщает рост
игрока под номером;

в) упорядочивает
таблицу по возрастанию. 

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

Составить алгоритм
для расчета веса по этой формуле

Решение

алг здоровье (вещ
рост, длина, вес)

арг рост, длина

       рез вес

нач

        вес:=рост
* длина /24

кон

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

Решение

алг здоровье (вещ рост,
длина,

             вес 1, лит 4)

арг. рост, длина, вес 1

     рез.у

нач вещ вес

вес:=рост*длина/24

если вес 1 <>вес

то у:= «нормы нет»

иначе у:= «вес в
норме»

кон

10 REMздоровье

20 INPUTR, D, V1

30 V=R*D/240

40 IF V1 <> V THEN

y$= «нормы нет«ELSE

y$= «вес в норме»

50 PRINT y$

60 END

Задача. В магазине
стройматериалов продаются прямоугольные плиты разного размера из различных
материалов. Известна стоимость 1 дм2 материала. Написать программу,
определяющую стоимость одной плиты.

Программа

10 REMПЛИТА

20 INPUT «введите длину и ширину плиты»; ФбИ

30 INPUT «введите стоимость 1 кв.дм.плиты»; K

40 p=A*B*K

50 PRINT «Стоимость плиты»; P

60 END

Задача. Вычислить
сумму
N членов ряда , где xи
N – входные параметры, k=1,2,…N

Решение

алгСУММА (вещx,N,
S)

аргX, N

рез S

начцелF, K

F:=1; S:=

для К от 1 до N

нц

F:=F*K

S:=S+X˄K/F

кц

кон

10 INPUT X, N

20 F=1:S=

30 FOR K=1 тоN

40 F=F*K

50 S=S+X˄K/F

60 NEXT K

70 PRINT S

80 END

Заключение

Многие учителя информатики и ИКТ, как
показывают наши наблюдения, изучение опыта их работы, продолжают давать
учащимся теоретические и практические навыки по освоению основных вопросов
информатики, учат учащихся составлять программы решения задач в основном на
языке программирования Бейски. В силу этого, на наш взгляд, победители и
участники республиканских, городских (районных) и школьных олимпиад показывают
низкие знания по основам программирования, кафедры информатики ДГУ, ДГПУ,ДГТУ,
ДИПКПК проводят определенную и целенаправленную работу по повышению качества
подготовки будущих учителей информатики и квалификации, однако до сих пор нет
стабильных учебников, учебных программ, пособий, методических рекомендаций и
самое главное – системы оценки качества подготовки выпускников основной школы
по информатике. Анализ олимпиад за последние годы свидетельствует о том, что
победители школьных олимпиад не умеет решать задачи по причине отсутствия
системных знаний о математике, физике, химии, экономики. Задачный метод мы
относим к активным  методам т.к. через решение задач происходит освоения
конкретных методов и способов учебно-познавательной деятельности учащихся и
успешно решается проблема качества обучения.

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

Язык программирования ПАСКАЛЬ может быть
ведущим в развивающей системе задачного подхода в обучении  информатике и ИКТ.

Литература

1.      
Абрамов С.А., Зима Е.В. Начала программирования на
языке паскаль, — М.: Наука, 1987. – 112с.

2.      
Зияудинов М.Д. Диалоговый язык Бейсик. Методические
рекомендации. – Махачкала. Даготделениеподобщества РСФСР. 1990. – 108с.

3.      
Дмитриева Н.А., Новичкова Т.Г., Боюшина Т.А.,
Кадышева Н.А. Сборник задач по основам информатики и вычислительной техники. –
Пенза, 1994, — 36с.

4.      
Изучение языков программирования в школе: Пособие
для учителя / Н.И. Шкиль, М.И. Жалдак, Н.В. Морзе, Ю.С. Рамские. – К.: Рад.шк.,
1988., 1988., с.205-270.

5.      
Канаев М.М., СултанбековаТ.З. Программирование на
языке Т.Р.: учебное пособие. Махачкала:
LUNE? – 2010? –
220
c/

6.      
Караева Т.В. Сборник задач по основам информатики и
вычислительной техники. М., 1995. – 128с.

7.      
Применение ЭВМ при решении задач школьной
математики (Алгоритмы и программы). Методические рекомендации.
(Составители:И.Г. Багиров, М.М. Канаев, К.Д. Курбанмагомедов, С.М. Мирзаев),
Махачкала, ИУУ,ДГПИ, 1990. – 46с.

8.      
Светозаров Г.И., Сигитов Е.В., Козловский А.В.
Практикум по программированию на алгоритмических языках. – М., Наука, 1980. –
144с.

9.      
Семашко Г.Л., Салтыков А.И. Программирование на языке
Паскаль. М.: Наука. Гл.ред. физ-мат. Лит., 1988. – 128с..

10.   Чернов Б.И. Программирование на алгоритмических языках Бейсик, Фортран,
Паскаль.книга для внеклассного чтения учащихся 9-11 классов средней школы. –
М.: Просвещение, 1991. – 192с.

Содержание

Введение

Язык программирования Паскаль

Основные символы языка

Операторы повторения (цикла). Оператор перехода

Оператор цикла с постусловием (цикл REFERAT)

Оператор цикла с параметром (оператор FOR)

Оператор перехода

Оператор ветвления. Оператор варианта.

Программирование разветвлений.

Оператор варианта (CASE)

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

Тема: Подпрограммы

Раздел: «Разные задачи»

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

Тема: Задачи повышенной сложности

Разные задачи с решениями.

Тема: Массивы3

Тема: Прямоугольные таблицы. Двумерные массивы

Тема: Графика

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

Заключение

Литература

Понравилась статья? Поделить с друзьями:
  • Как составить план биографии тургенева
  • Как исправить ошибка заблокировано при скачивании
  • Как найти заряд магнитного потока
  • Как найти копию сохраненной интернет страницы
  • Как найти документ в компьютере андроид