Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Раздел Информатика
Класс 9 класс
Тип Конспекты
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

ЗАНЯТИЕ 1 и 2.

  • ОБЩИЙ ВИД ПРОГРАММЫ.

  • ОПИСАНИЕ КОНСТАНТ И ПЕРЕМЕННЫХ .

  • ТИПЫ ДАННЫХ.

  • АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.

  • ВСТРОЕННЫЕ МАТЕМАТИЧЕСКИЕ ФУНКЦИИ.

  • ОПЕРАТОР ПРИСВАИВАНИЯ, ОПЕРАТОР ВВОДА И ВЫВОДА ДАННЫХ. ЛИНЕЙНЫЕ АЛГОРИТМЫ. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ.

  • ВВОД ДАННЫХ С КЛАВИАТУРЫ И ВЫВОД РЕЗУЛЬТАТОВ НА ЭКРАН

  • ЧТЕНИЕ ДАННЫХ ИЗ ФАЙЛА И ВЫВОД РЕЗУЛЬТАТОВ В ФАЙЛ

  • ПРАКТИЧЕСКАЯ РАБОТА №1.

  • ДОМАШНЯЯ РАБОТА (2 ЛЮБЫЕ ЗАДАЧИ С ФАЙЛАМИ, 2 БЕЗ ФАЙЛОВ)

Структура программы в общем виде

program имя программы;

const {объявление констант}

type {объявление типов}

Var {объявление переменных}

begin

{инструкции программы}

end.

Основные типы данных

К основным типам данных языка TURBO PASCAL относятся:

  • Целые числа(integer и др.)

  • Символы(char)

  • Логический(boolean)

  • Действительные числа(real и др.)

  • Строки (string или string[целое Число])

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

Целые числа


Формат

Диапазон значений

Shortint

-128..128

Integer

-32768..32767

Longint

-2 147 483 648..2 147 483 647

Word

0..65535

Byte

0..255

Действительные числа


Формат

Диапазон значений

Количество значащих цифр

Real

2.9e-39..1.7e38

11-12

Строковый тип

  • String - строка символов длиной 256 символов.

  • String[целое число] - строка символов указанной длины.


Описание констант


Const имя константы=значение;

& Например:

Const gi=9.8;

Tort='Наполеон';

Sim='!';

Sum=0.87;

Описание переменных


Var имя переменной: тип;

Например:

Var a,b,d: real;

C:Boolean;

E:integer;

K:12..780;{интервальный тип}

O:char;

Z:'a'..'z';{интервальный тип}

 Какого типа будут переменные a,b,c,d?

Опишите данные переменные.

А:=12.36;

B:=12;

C:=b*2;

D:='Игнат';


Арифметические операции

Арифметические операции

1. div, mod

2. *, /

3. +,-

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

умножение и деление

операции сложение и вычитание

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

Пример1:

S:=215;

B:=S mod 2; {остаток от деления нацело 215 на 2 равно 1, т.е. B:=1;}

C:=S div 2; {результат деления 215 нацело на 2 =107, т.е. с:=107;}

 Пример 2.

а:=15;

b:=17;

c:=a+5; { c:=15+5; c:=20}

a:=b mod a; {a:=17 mod 15; остаток от деления нацело 17 на 15, т.е a:=2}

b:=c; { b получает значение с, b:=20}

1) a=1, b=17, c=17 2) a=2, b=20, c=20 3) a=15, b=15, c=20 4) a=15, b=17, c=20


Встроенные математические функции

Обозначение в математике

Обозначение в Pascal

Примеры записи

1. Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

sqr(x) или SQR(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Sqr(sqr(a)+10)

2. Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс) , x>=0

sqrt(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Sqrt(x-8+6*sqr(b))

3. Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Abs(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Sqrt(abs(a-8))+

Abs(23*b/(x+5))

4. sin x (синус x)

Sin(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Sin(sqr(x+5))

5. cos x (косинус x)

Cos(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Sqr(cos(x+5))

6. tg x (тангенс x)

Sin(x)/cos(x)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

(sin(x+5)/cos(x+5) - sqrt(x))/(cos(abs(x))/sin(abs(x))+2*x)

7. ctg x (котангенс x)

Cos(x)/sin(x)


Основные операторы
  1. Оператор присваивания

Имя переменной:=выражение;

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

Выражение может быть любого типа; переменная должна быть описана в разделе var и она должна быть того же типа, что и значение выражения.

2)Оператор вывода данных

Оператор вывода данных предназначен для вывода результатов работы программы на экран.


А) write(b1,b2,b3,…………bn); -вывод данных в одну строку, курсор остается в той же самой строке

Б) writeln(b1,b2,b3,…..bn); - вывод данных в одну строку, курсор переходит в другую строку

В) Writeln; - вывод пустой строки


В качестве b1,b2,….bn могут быть константы, выражения, имена переменных любого типа.

При выводе используются следующие форматы:

А)

b:m:n

-при выводе вещественного результата,

b- имя переменной, m- число позиций на экране для вывода всего числа, n: число позиций отведенных под дробную часть числа. Чаще всего вместо m,n записывают целые числа.

Б)

b:m


- при выводе данных любого типа(Boolean,integer,char, string и др., кроме вещественного)

Например:

Writeln('Скоро каникулы':30);

Writeln(15:2, 20*13-78/2.56:10:2);

A:=45*b+34;

B:=a/12;

Writeln('a=':5,a:10,'B=':5,B:15:3);

  1. Оператор ввода данных c клавиатуры


Read(a1,a2,a3,…………an);

Readln(a1,a2,a3,…..an);

В качестве a1,a2,a3…an должны использоваться только имена переменных, для которых будут вводиться с клавиатуры значения через пробел.

 Например:

Writeln(' введите свое имя');

Readln(b);

Writeln('Введите число, месяц и год своего рождения');

Readln(c,d,e);

 Опишите переменные b, c,d,e.


Решение задач линейной структуры

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

Задача №1. Даны a,b,c. Вычислить d,e по формулам:

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Program L_3;

Var a,b,c,d,e:real;

Описание всех переменных действительного типа

Begin

Начало

Write('Введите значения для исходных данных a,b,c');

Вывод сообщения

Readln(a,b,c);

Ввод числовых данных для a,b,c

D:=sqr(a+b)/(c-3*a*b)+sqrt(abs(2*a+b));

Вычисление d по формуле (оператор присваивания)

Writeln('d=' , d:0:2);

Вывод пояснения и результата d

e:=sqrt(25)-3*b+(c-3*d)/4;

Вычисление e по формуле (оператор присваивания)

Writeln('e=' , e:0:2);

Вывод пояснения и результата e

Readln;

Ожидается нажатие клавиши enter

End.

Конец


Задача №2. Написать программу вычисления стоимости некоторого количества (по весу) яблок.

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

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

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

Цена 1 кг яблок (руб.) -> 8.5

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

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


Program l_2;

var c,v:real; {цена и вес яблок}

st:real; {стоимость покупки}

begin

writeln('Вычисление стоимости покупки.');

writeln('введите исходные данные:');

write('Цена 1 кг яблок (руб.)->');

readln(c);

write('Вес яблок (кг)->');

readln(v);

st:=v*c;

writeln;

writeln('Cтоимость покупки:',st:6:2,' руб');

readln; {ожидается нажатие enter}

end.

Задача № 3. Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Исходными данными являются: расстояние до дачи (км); количество бензина, которое потребует автомобиль на 100 км пробега; цена одного литра бензина. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление стоимости поездки на дачу и обратно.

Расстояние до дачи (км) -> 67

Расход бензина (литров на 100 км пробега) -> 8.5

Цена литра бензина (руб.) -> 6.5

Program l_3;

var ras,kol,cena:real; {расстояние, количество бензина, цена 1 литра}

st:real; {стоимость поездки}

begin

writeln('Вычисление стоимости поездки на дачу и обратно');

writeln('Расстояние до дачи (км)->');

readln(ras);

write('Расход бензина (литров на 100 км пробега)->');

readln(kol);

write('Цена 1 литра бензина (руб)->');

readln(cena);

st:=ras/100*kol*cena;

writeln;

writeln('Поездка на дачу и обратно обойдется в:',st:6:2,' руб.');

readln;

end.

Задача № 4. Составить алгоритм (программу) для вычисления двух значений Y4 и Y20, используя пять операций умножения для заданного значения X.

program l_4;

var y,y2,y4,y8,y16,y20:real;

begin

write('введите y-> ');

readln(y);

y2:=y*y; {Y^2}

y4:=y2*y2; {Y^4}

writeln(y:0:2,' в 4 степени=',y4:4:2);

y8:=y4*y4; {Y^8}

y16:=y8*y8; {Y^16}

y20:=y4*y16; {Y^20}

writeln(y:0:2,' в 20 степени=',y20:4:2);

readln;

end.

Результат вычисления

Введите y -> 2

2.00 в 4 степени=16.00

2.00 в 20 степени=1048576.00

Задача № 5. Даны с=A*B и d=a* b2, при этом A и B неизвестны. Составить один алгоритм (программу) для вычисления двух величин z= a3 * b3 и p=a3 * b6 так, чтобы в алгоритме (программе) было использовано четыре операции умножения.

program l_2;

var c,d,c2,z,d2,p:integer;

begin

write('vvedite c,d->');

readln(c,d);

c2:=c*c; {a^2,b^2}

z:=c2*c; {a^3,b^3}

writeln('z=',z:4);

d2:=d*d; {a^2,b^4}

p:=d2*d; {a^3,b^6}

writeln('p=',p:4);

readln;

end.

Результат выполнения программы

Введите с, d -> 2 4

Z= 8

P= 64

Задача № 6. Найти площадь равнобочной трапеции с основанием a и b и углом при большем основанием .

Математическое решение

h

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

.

а

Высота h=(a-b)/2*tg(), так как в Паскале нет функции tg(), заменяем ее на sin()/cos().

Получаем h=(a-b)/2* sin()/cos().

Площадь трапеции S=(a+b)/2*h.

Программа

program l_3;

var a,b,h,alfa,s:real;

begin

write('введите большее основание a->');

readln(a);

write(' введите меньшее основание b->');

readln(b);

write(' введите угол при большем основании в радианах->');

readln(alfa);

h:=(a-b)/2*sin(alfa)/cos(alfa); {вычисление высоты}

s:=(a+b)/2*h; {вычисление площади}

writeln('площадь трапеции =',s:0:2);

readln;

end.

Результат выполнения программы

введите большее основание a-> 4

введите меньшее основание b->2

введите угол при большем основании в радианах->0.785

площадь трапеции =3.00

Задача №7

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

Ввод данных с клавиатуры и вывод результатов на экран

  1. Создаем для каждой новой задачи отдельную папку (например, Расчет значений)

  2. Войти в данную папку и текст программы сохраняем в данной папке под именем noname.pas (имя файла можно поменять, но расширение оставить pas, например zadacha1.pas)

Программа ня языке Паскаль (в папке Расчет значений сохраняем файл noname.pas)

Результат работы программы

(ввод и вывод результатов

Program z1;

Var e,f,g,h:real; {описание переменных- что дано}

A,b,c:real; {описание переменных - что надо посчитать }

Begin

Write('введите e,f,g,h ---');

Readln(e,f,g,h);

A:=sqrt(abs(sqr(e-3/f)*(e-3/f))+g);

Writeln('a=',a:0:2);

B:=sin(e)+sqr(cos(h));

C:=(33*g)/(e*f-3);

Writeln('b=',b:0:2,' c=',c:0:2);

Readln;

End.

введите e,f,g,h ---3 4.5 6 -4

а=7.69

b=-1.82 c=23.75

Чтения данных из файла input.txt и вывод результатов файл в файл output.txt

  1. Создаем для каждой новой задачи отдельную папку (например, Задача 1 работа с файлами )

  2. В этой папке надо создать 3 файла noname.pas, input.txt и output.txt

  3. В файле noname.pas - пишем текст программы (не забываем повторно сохранять при любом изменении)

  4. В файле input.txt - записываем числа через пробел программы (не забываем повторно сохранять при любом изменении)

  5. В файле output.txt - будут появляться результаты вычислений (при использовании новых данных и при каждом новым запуском программы - обновить)

Noname.pas

Input.txt

Output.txt

Program z1;

Var e,f,g,h:real; {описание пер-ых - что дано}

A,b,c:real; {описание переменных - что надо посчитать }

t1,t2:text

{описание 2-х файловых переменных}

Begin

Assign(t1,'input.txt');

{установить связь файловой переменной t1 c файлом для чтения input.txt}

Reset(t1);

{файл t1 открыт для чтения}

Assign(t2,'output.txt');

{установить связь файловой переменной t2 c файлом для вывода output.txt}

Rewrite(t2);

{файл t2 открыт для вывода}

Readln(t1,e,f,g,h); {чтения исходных данных из файла}

A:=sqrt(abs(sqr(e-3/f)*(e-3/f))+g);

Writeln(t2,'a=',a:0:2); {вывод результата в файл}

B:=sin(e)+sqr(cos(h));

C:=(33*g)/(e*f-3);

Writeln(t2,'b=',b:0:2,' c=',c:0:2); {вывод результатов в файл}

Close(t1);

{закрытие файла для чтения}

Close(t2);

{закрытие файла для вывода}

End.

3 4.5 6 -4

a=7.69

b=-1.82 c=23.75

ПРАКТИЧЕКАЯ РАБОТА №1. ЛИНЕЙНЫЕ АЛГОРИТМЫ

1 вариант

1 задача. Решить используя работу с файлами.

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

2 задача. Решить без использования работы с файлами.

Известна стоимость 1 кг конфет, печенья и яблок. Найти стоимость всей покупки, если купили x кг конфет, у кг печенья и z кг яблок.

3 задача.

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

4 задача.

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

2 вариант

1 задача. Решить используя работу с файлами.

Линейные алгоритмы (занятие 1 и 2). Примеры составление программ. Работа с файлами (9 класс)

2 задача. Решить без использования работы с файлами.

Возраст Тани - X лет, а возраст Мити - Y лет. Найти их средний возраст, а также определить, на сколько отличается возраст каждого ребенка от среднего значения (не забыть про модуль (абсолютное значение).

3 задача.

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

4 задача.

Известна стоимость монитора, системного блока, клавиатуры и мыши. Сколько будут стоить 3 компьютера из этих элементов? N компьютеров?


Домашнее задание

  1. Даны основания и высота равнобедренной трапеции. Найти площадь трапеции (формулу найти).

  2. Известно значение температуры по шкале Цельсия. Найти соответствующее значение температуры по шкале:

а) Фаренгейта;

б) Кельвина.

Для пересчета по шкале Фаренгейта необходимо исходное значение температуры умножить на 1,8 и к результату прибавить 32, а по шкале Кельвина абсолютное значение нуля соответствует 273,15 градуса по шкале Цельсия.

3) Два автомобиля едут друг за другом с постоянными скоростями V1 и V2 км/час ( V1 V2 ). Определить, какое расстояние будет между ними через 30 минут после того, как первый автомобиль опередил второй на S км.

4) Известны координаты на плоскости двух точек x1,y1 и x2,y2. Составить программу вычисления расстояния между ними (формулу найти или вывести самостоятельно).

10


© 2010-2022