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

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

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

ЗАНЯТИЕ 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.

sqr(x) или SQR(x)

 

 

Sqr(sqr(a)+10)

2.  , x>=0

sqrt(x)

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

3.

Abs(x)

Sqrt(abs(a-8))+

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

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

Sin(x)

Sin(sqr(x+5))

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

Cos(x)

Sqr(cos(x+5))

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

Sin(x)/cos(x)

(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);

3)    Оператор ввода данных 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 по формулам:

 

 

 

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 и углом при большем основанием a.

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

b

 

а

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

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

Площадь трапеции  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.             Войти в данную папку и текст программы сохраняем в данной папке под именем 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 задача. Решить используя работу с файлами.

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

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

3 задача.

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

4 задача.

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

2 вариант

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

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. Составить программу вычисления расстояния между ними (формулу найти или вывести самостоятельно).

 

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

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

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

Менеджер бизнес-процессов

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

Копирайтер

за 6 месяцев

Пройти курс

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

Скачать

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

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

6 650 475 материалов в базе

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

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

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

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

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

  • Скачать материал
    • 06.09.2015 4306
    • DOCX 786.5 кбайт
    • 11 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Очоа Бикэ Ольга Владимировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

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

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

    Очоа Бикэ Ольга Владимировна
    Очоа Бикэ Ольга Владимировна
    • На сайте: 9 лет и 4 месяца
    • Подписчики: 2
    • Всего просмотров: 97198
    • Всего материалов: 13

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

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

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

Экскурсовод

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

500/1000 ч.

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

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

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

36/72 ч.

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

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

Теоретические и методологические основы преподавания информатики с учётом требований ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 151 человек из 49 регионов
  • Этот курс уже прошли 1 714 человек

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

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

Учитель информатики

300 ч. — 1200 ч.

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

Мини-курс

Основы политической науки

4 ч.

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

Мини-курс

Преодоление фобий: шаг за шагом к свободе от социальных источников страха

4 ч.

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

Мини-курс

Здоровьесбережение и физическое развитие школьников

3 ч.

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